1. 程式人生 > >樹莓派實現一個下載機

樹莓派實現一個下載機

這回又買了一塊樹莓派,這次用的是B+。樹莓派做BT下載器的特性就是省電啊。

原來想買一個路由器刷openwrt,後來覺得路由器可能效能有限,而且稍有不慎會刷壞uboot,所以暫且不考慮了。

搭建過程網上都有,但是很零碎,這裡整理一下步驟,下面分為幾個步驟吧:

準備工作

拿到樹莓派後,燒寫官方的映象(2014-09-09-wheezy-raspbian.zip)到一張TF卡(我用的8GB的sandisk)。

然後插到樹莓派卡槽,最後加電啟動。


開機啟動後樹莓派會自動開啟SSH的功能,將樹莓派用網口插到路由器上,然後從路由器上看樹莓派的IP地址,

最後用電腦連線到樹莓派(SSH)。

一開始要執行一下配置,擴大樹莓派的根目錄的空間,不然所有軟體裝完之後空間會只剩幾百兆。

sudo raspi-config

一般選擇第一項就可以了。

另外要提一下,樹莓派預設的登入名和密碼是:

username:pi
password:raspberry
另外,需要升級一下軟體源,並且安裝vim:
sudo apt-get update
sudo apt-get install vim



格式化U盤

格式化U盤為ext4格式,以提高效能。

第一次掛載U盤時請使用 

sudo fdisk -l

格式化:

mkfs.ext4 -m 1 /dev/sda1

其中/dev/sda1 是找到的U盤,一般在Ubuntu下面找到的是/dev/sdb,不知道為什麼這裡會顯示sda
先找到U盤,然後將它掛到你需要的目錄裡面去。

自動掛載U盤

目前行動硬碟不夠用,先用U盤來試水。將U盤重新命名為U1,然後編輯/etc/fstab:
proc            /proc           proc    defaults          0       0
/dev/mmcblk0p1  /boot           vfat    defaults          0       2
/dev/mmcblk0p2  /               ext4    defaults,noatime  0       1
LABEL=U1	/home/pi/HDD	ext4	defaults	0	0
可以看出最後多加了一行,用label的好處就是如果要將U盤換成行動硬碟的話設定好卷標就行了。 其中/home/pi/HDD這個目錄不要忘記建立了,而且掛載上去後設定好777許可權。

建立samba

如果要從樹莓派拷貝檔案,必須建立一個檔案共享的方案。這裡建立起一個samba(感覺ftp也可以)
sudo apt-get install samba samba-common-bin 


其中,samba-common-bin 是用來檢測samba是否正常的軟體,也可以不安裝。 編輯samba的配置檔案:
sudo vim /etc/samba/smb.conf 
在最後新增一項自己的定義項:
[mydata]
        comment = my own data
        path = /home/pi/HDD
        browseable = yes
        read only = no
然後新建一個samba使用者: 注意,samba使用者必須是一個linux使用者,samba使用者的密碼和linux使用者的密碼不一樣。 這裡偷個懶,直接將pi新增為samba使用者:
[email protected] /etc/samba $ sudo smbpasswd -a pi
New SMB password:
Retype new SMB password:
Added user pi.

最終的效果如下,可以用windows訪問樹莓派了(使用者名稱和密碼是上面自己設定的):

安裝下載工具

sudo apt-get install aria2 

裝好之後就開始準備配置檔案(按需要自己修改吧,目前我自行修改成這個樣子):
#允許rpc
enable-rpc=true
#允許所有來源, web介面跨域許可權需要
rpc-allow-origin-all=true
#允許非外部訪問
rpc-listen-all=true
#最大同時下載數(任務數), 路由建議值: 3
max-concurrent-downloads=20
#斷點續傳
continue=true
#同伺服器連線數
max-connection-per-server=5
#最小檔案分片大小, 下載執行緒數上限取決於能分出多少片, 對於小檔案重要
min-split-size=10M
#單檔案最大執行緒數, 路由建議值: 5
split=10
#下載速度限制
max-overall-download-limit=0
#單檔案速度限制
max-download-limit=0
#上傳速度限制
max-overall-upload-limit=30K
#單檔案速度限制
max-upload-limit=0
#斷開速度過慢的連線
#lowest-speed-limit=0
#驗證用,需要1.16.1之後的release版本
#referer=*
input-file=/home/pi/HDD/aria2/aria2.session
save-session=/home/pi/HDD/aria2/aria2.session
#定時儲存會話,需要1.16.1之後的release版
save-session-interval=60
#檔案儲存路徑, 預設為當前啟動位置
dir=/home/pi/HDD/download
#檔案快取, 使用內建的檔案快取, 如果你不相信Linux核心檔案快取和磁碟內建快取時使用, 需要1.16及以上版本
#disk-cache=0
#另一種Linux檔案快取方式, 使用前確保您使用的核心支援此選項, 需要1.15及以上版本(?)
#enable-mmap=true
#檔案預分配, 能有效降低檔案碎片, 提高磁碟效能. 缺點是預分配時間較長
#所需時間 none < falloc ? trunc << prealloc, falloc和trunc需要檔案系統和核心支援
file-allocation=prealloc

#啟用本地節點查詢
bt-enable-lpd=true


#單種子最大連線數
#bt-max-peers=55
#強制加密, 防迅雷必備
#bt-require-crypto=true
#當下載的檔案是一個種子(以.torrent結尾)時, 自動下載BT
follow-torrent=true
#BT監聽埠, 當埠遮蔽時使用
#listen-port=6881-6999

disable-ipv6=true


log=/home/pi/HDD/aria2/aria2.log
log-level=notice

#新增額外的tracker
bt-tracker=
http://121.14.98.151:9090/announce,
http://121.14.98.151:9090/announce,
http://anisaishuu.de:2710/announce,
http://bigfoot1942.sektori.org:6969/announce,
http://bt.careland.com.cn:6969/announce,
http://bt2.careland.com.cn:6969/announce,
http://exodus.desync.com/announce,
http://exodus.desync.com:6969/announce,
http://hdreactor.org:2710/announce,
http://i.bandito.org/announce,
http://open.nyaatorrents.info:6544/announce,
http://shadowshq.yi.org:6969/announce.php,
http://siambit.org/announce.php,
http://tracker.bestxl.com:8077/announce,
http://tracker.nwps.ws:6969/announce,
http://tracker.trackerfix.com/announce,
http://tracker.trackerfix.com:80/announce,
http://tracker1.torrentino.com/announce,
http://tracker1.wasabii.com.tw:6969/announce,
http://tracker2.torrentino.com/announce,
http://tracker3.torrentino.com/announce,
udp://12.rarbg.me:80/announce,
udp://9.rarbg.com:2710/announce,
udp://9.rarbg.me:2710/announce,
udp://bt.rutor.org:2710,
udp://coppersurfer.tk:6969/announce,
udp://eddie4.nl:6969/announce,
udp://exodus.desync.com:6969,
udp://explodie.org:6969/announce,
udp://open.demonii.com:1337,
udp://open.demonii.com:1337/announce,
udp://shadowshq.yi.org:6969/announce,
udp://tracker.coppersurfer.tk:6969/announce,
udp://tracker.ex.ua:80/announce,
udp://tracker.istole.it:6969,
udp://tracker.istole.it:80,
udp://tracker.istole.it:80/announce,
udp://tracker.istole.it:80/announcea,
udp://tracker.leechers-paradise.org:6969/announce,

其中,tracker不知道有沒有生效,我將此配置檔案放在/home/pi/HDD/aria2 從windows裡面看就是這個樣子:
開啟aria2:
sudo aria2c --conf-path=/home/pi/HDD/aria2/aria2.conf

這裡讓它在前臺執行,要在後臺執行的話請在後面加一個'&'

安裝LAMP Web server

安裝這些軟體是為了aria2準備一個伺服器環境。
sudo apt-get install apache2
sudo apt-get install mysql-server
sudo apt-get install php5
sudo apt-get install php5-mysql

實際上,mysql用不著安裝 安裝完之後就可以用瀏覽器直接訪問樹莓派的IP地址,看到

“It works!” 

這個字樣就可以了。

安裝aria2 前端


實際上,上面安裝的aria2是命令列執行的,用起來不方便,這裡下載一個做好的前端:
http://github.com/ziahamza/webui-aria2

一般人download zip就可以了,用不著用git下載。 然後將此物傳到samba,再解壓到/var/www。 比如解壓好的是/var/www/myweb, 這樣就可以訪問樹莓派的IP地址,後面再加上/myweb 就可以訪問了。

使用aria2

使用過程就不用詳談了,這裡可以新增三種下載的方式:
這篇部落格是搭建完畢之後寫的,不知道有沒有的漏的,有的話請提出來。