搭建Samba+Aria2c+Yaaw下載服務器
上年迅雷開始封殺資源,百度網盤“小電影”全部變成8秒教育片,果然還是下載下來好,反正硬盤也不貴…買買買
對於一些BT種子或者磁鏈的文件(通常都是電影什麼的),基本上很難避免要用到類似“離綫下載”功能,這裡我用的是115網盤來代替迅雷離綫,最好是VIP(淘寶价20多壹年),接收禮包無壓力,離綫又不會封資源,谷歌搜索下“115禮品碼”各種福利電影,有點賣廣告的嫌疑。
第一次接觸Ubuntu的時候已經嘗試過弄Aria2c+Yaaw來下載迅雷離綫文件,那時候速度還是杠杠的,但是畢竟接觸還不是很深,完全搞不懂為什麼跟着教程來還是不行,最後還是放棄了。
語文不是語文老師教的,不扯了,開始吧。
硬件
- 樹莓派,我用的是model B
- 4口帶隔離有源的USB Hub
- 西數500G(有壞道)+ORICO USB3.0硬盤盒 獨立供電
既然硬盘盒已经独立供电,为什么还要用USB Hub呢?如果你有经常插拔树莓派USB设备的话,就会发现有时候插一个或者拔一次都会引起树莓派重启,长久下来SD卡可经不起这样玩,血淋淋的教训-_-!
对于新版本的B+或者2B,就不大清楚了,好像做些了防护什么的吧,等他出USB3.0版本再更新硬件也不迟
系統設置
有了外置硬盤,就得考慮自動掛載。硬盤已經格式化成ext4,為什麼不用ntfs?後面再說。使用系統自帶fstab配置文件掛載有兩種寫法,暫時寫一種。這個時候硬件必須連接好,看看外置硬盤對應“盤符”
從上面圖片知道,sda硬盤裏有個sda1的分區,sda1就是“盤符”
編輯/etc/fstab文件,加入
#硬盤位置 掛載點 格式 /dev/sda1 /home/pi/hdd ext4 defaults 0 0
效果如圖,注意第四行,其他不用管
接著在/home/pi/下新建個叫“hdd”的文件夾并執行:
sudo mount -a
如圖所示,-a參數意為:按照/etc/fstab配置掛載所有位置,當然不會重複掛載,只限於還沒掛載的
不過有時候會出現權限問題,各位觀眾~~~3條7
sudo chmod 777 /home/pi/hdd
Samba配置
其實裝不裝SMB也沒什麼所謂,讀取讀不到的話,基本上失去共享的意義。或許以後的樹莓派會支持USB3.0,又或者直接在PC機上按本文章配置流程搭建就不存在USB3.0兼容問題
安裝Samba相關內容
sudo apt-get install samba samba-common-bin
我這裡就不配置要密碼認證方式,使用起來很不爽
#備份當前配置信息,以後或許會用到 sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak #刪掉/etc/samba/smb.conf sudo rm -f /etc/samba/smb.conf #重建smb.conf sudo vi /etc/samba/smb.conf
填入以下內容,注意路徑位置
[global] log file = /var/log/samba/log.%m #windows的域 workgroup = WORKGROUP #不使用用戶認證 security=share [hdd] #共享文件夾的名字,隨意就行,無所謂 comment = File #將要共享的文件夾 path = /home/pi/hdd read only = no public = yes guest ok = yes browseable = yes create mask = 0777 directory mask= 0777
如果想要密碼認證的話,把上面“security=share”改成”security=user”、“guest ok”和“public”均改成”no”并向smb添加用戶和密碼,輸兩次密碼的喲
smbpasswd -a 用戶名
最後重啟Samba服務
sudo service samba restart
至此,通過window訪問 樹莓派的IP地址 ,應該可以看到共享文件夾,試試往裏面粘貼些文件,試試速度如何。千萬別試圖複製任何文件,不然出現IO錯誤,“盤符”就會變成sdb什麼的,你得重啟樹莓派了。PS:變成sdb也不是不能用,自己選吧
Aria2c配置
如果上面都沒問題的話,那後面就完全沒壓力了,這部分上圖困難,自己搗鼓下吧
一開始我是用apt-get安裝Aria2c,後來發現版本(1.12左右)太舊不支持定時保存進度,中途退出Aria2c的話,就得重新下載,這不是一般的蛋疼,得自己下載最新版本編譯安裝
wget http://sourceforge.net/projects/aria2/files/stable/aria2-1.18.8/aria2-1.18.8.tar.gz
截止本文發表,最新版本為1.18.10,小修改就不更新了
輕車熟路,解壓縮、編譯、安裝走起
#解壓 tar zxf aria2-1.18.8.tar.gz #進入解壓出來的文件夾 cd aria2-1.18.8/ #開始編譯與安裝 sudo ./configure #還有 sudo make && sudo make install
現在可以慢慢等,先玩幾局LOL,需要大概2個小時左右(怎麼把編譯好的提取出來,然後直接在其他樹莓派安裝呢?)
連跪幾局後,現在的遊戲都不好玩,什麼鳥公平勝率系統,就不能讓我躺贏幾局嗎?
再看回樹莓派,已經安裝完成了,開始弄配置文件。不對稱網絡養不起PT,下載BT種子什麼的都是由115代勞,所以配置文件中並沒有包含BT部分設置,編輯文件
sudo vi /home/pi/aria2.conf
# 断点续传 continue=true # 以后台程序运行 daemon=true # 下载目录,没有该目录用 mkdir 命令新建,不然会报错 dir=/home/pi/hdd/complete # 开启 rpc 模式 enable-rpc=true # 关闭文件预分配,建议关闭,不然下个大文件得等半天 file-allocation=none # 命令行模式下多任务下载 force-sequential=true # 读取下载进度文件,没有该文件用 touch 命令新建,不然会报错 input-file=/home/pi/aria2.s # 保存日志到文件,没有该文件用 touch 命令新建,不然会报错 log=/var/log/aria2.log # 日志级别 log-level=notice # 最大同时下载任务数 max-concurrent-downloads=3 # 同服务器最大连接数 max-connection-per-server=5 # 开启命令行模式下的参数化模式,比如 http://{sv1,sv2,sv3}/foo.iso 或 http://host/image[000-100:2].img parameterized-uri=true # YAAW 需要 rpc-allow-origin-all=true # rpc 模式下,允许从外部访问 rpc-listen-all=true # 保存 BT 种子和磁力链接的元数据 rpc-save-upload-metadata=true # 保存下载进度到文件,没有该文件用 touch 命令新建,不然会报错 save-session=/home/pi/aria2.s # 自动保存下载进度到文件的时间 save-session-interval=30 #单文件最大线程数 split=2
注釋已經很清楚了,文件和文件夾必須創建好,否則Aria2c啟動不了
接著把啟動停止重啟Aria2c配置成系統服務,媽媽再也不用擔心命令太長
sudo vi /etc/init.d/aria2
路徑信息要根據自己情況修改。
#!/bin/sh #之前的配置文件 CONF=/home/pi/aria2.conf case "$1" in start) echo "Starting aria2c service" sudo aria2c --conf-path=$CONF -D echo "done !" ;; stop) echo "Stopping aria2c service" sudo killall -w aria2c echo "done !" ;; restart) echo "Restarting aria2c service" sudo killall -w aria2c sudo aria2c --conf-path=$CONF -D echo "done !" ;; *) echo "$0 {start|stop|restart}" ;; esac exit
需要改好可執行權限
sudo chmod +x /etc/init.d/aria2
現在試下啟動Aria2c
sudo service aria2 start
在看下是否真的啟動成功,上面的服務配置不支持檢測是否真的啟動成功,有需要請自行修改
sudo ps x |grep aria2
嗯~看到綠色框中的內容,已經成功執行,还差最后一点,配置开机启动
sudo update-rc.d aria2 defaults
至此,整個流程已經完成90%,剩下的沒什麼難度
Nginx配置
有了Aria2c服務端,還需要一個客戶端來添加下載任務。網上有兩個現成網頁控制端:Yaaw和Webui-Aria2,前者簡潔,後者詳細,自行選擇。
安裝Nginx,寫這麼詳細原來真的很累
sudo apt-get install nginx
家用網絡通常都是封80端口,所以得修改默認端口
編輯文件:/etc/nginx/sites-available/default
圖中的8080便是新的監聽端口,在看下紅色線標記處,得知網頁文件存放位置
修改完配置後需要重新nginx服務,命令不寫
這裡我用的是Yaaw,下載源代碼
git clone https://github.com/binux/yaaw.git
如果無法訪問GitHub或者速度很慢,你得科學上網,至於如何在命令行下用代理,我會新開一篇文章來說,連接在這
接著把yaaw文件下的所有東西複製到/usr/share/nginx/www,也就是上面得知的位置,还有一点需要注意,此目录里的文件是铁定不能有可执行权限的
sudo cp -r yaaw/* /usr/share/nginx/www/
cp -r 意味递归复制该目录下所有的子目录和文件,目標位置必須也是個文件夾
喲西~就差最後一步,打開http://樹莓派IP地址:8080,如無意外,應該看到下面這個界面
但是現在還不能添加任務,得先配置~~點出配置界面,填上你的樹莓派IP地址
保存並刷新頁面,如果連接不上會有相關提示信息,得自己檢查下
至此,已經完成本文標題全部內容,以下部分可做可不做
DDns配置
上面配置都是基于跟樹莓派同處壹個局域網,做不到遠程控制下載任務,還不能最大化利用空閑帶寬雲雲
如果沒有自己域名,可以找下花生殼、3322等動態域名商,很多路由器都支持此類服務,不知道爲什麽家裏的TP-Link經常更新不到花生殼的IP地址,非得軟件更新,蛋疼~~
3322(原來這貨叫“公雲”)有windows客戶端,即使在Linux系統下也只需定時訪問下指定URL即可做到更新IP地址,雖然我用的是免費服務,穩定性還是不錯的
那麽對于已經有自己域名的朋友來說,嗯~毫無疑問,必須優先使用自己的二級域名,我才不會學聯通,搞壹堆不同域名,有些聽都沒聽過,莫名其妙
我的域名托管在DNSPod,找下官方幫助文檔,已經有現成的python程序,嗯~伸手黨的福音,趕緊下載代碼
git clone https://github.com/leeyiw/dnspod_ddns.git
根據說明文檔改好賬戶、密碼、二級域名和域名,這部分屬于額外內容,不詳細說,上地址自己看文檔,不懂再找我
做好動態域名,還得在路由器上做好端口映射(話說現在家家基本上都有WIFI),稍等下域名更新,直接打開http://妳的域名:8080,妳就會看到熟悉的界面了
這樣也可以把SSH的22端口映射上去,外網連接樹莓派沒壓力,不過開放22端口難免會被掃端口和暴力爆破,可以通過修改SSH默認端口或者關閉密碼認證,也可以安裝Fail2ban這類軟件自動屏蔽攻擊IP
基本上修改下端口就可以擋掉90%攻擊,之前寫過壹個腳本來做屏蔽,發現大部分都是整個IP段,看看淘寶上賣的支持掃描服務器就知道是什麽情況~~~
關于SSH安全問題,網上已經有教程,不再詳述
日常使用
過年的時候,聯通搞了個活動,廣東省可免費提速至20M,對于用了N年4M小水管的人來說,這簡直就是天上掉餡餅。仔細壹看,3月15號截止,不過每個月可以免費用30小時!!這餡餅味道有點問題
不知道聯通是怎麽想的,要加速必須開著客戶端,意味著手機用WIFI也要體驗20M速度的話就必須開著電腦,反人類設計,阻礙人類社會發展……燒死妳這個異教徒^-^
監聽工具走起,看看會不會很複雜,要是HTTP控制的話(在Linux下用TCP還不大會),應該可以用樹莓派做,這貨必須24小時開著
原先打算放上源代碼,後來想想還是不要,最好妳們自己去做,很簡單的,中間如果妳發現了些莫名其妙的事情,不要來問我,我什麽都不知道
蛋扯完了,說點正事
壹開始硬盤還沒格式化成EXT4還是NTFS的時候,直接拿來用,那時候帶寬還是6M,滿速下載CPU直接100%,還是在超頻狀態下~~~正如網上說用NTFS格式性能確實很大影響
在上張提升20M帶寬且格式化EXT4的下載情況,不然無圖無真相,說我欺負妳們讀書少
但即使不使用NTFS格式,跟电脑的下载速度还是差一点(2.9M左右),而且波动稍微有点大(100K-200K范围),电脑下载可以稳定跑到3.2M/S
那问题来了,为了达到最大速度而格式化成EXT4,却又不能通过树莓派读取文件,只好拔下直接插在电脑上~~USB Hub的作用就在这
电脑是Linux系统倒是没什么问题,毕竟我是.NET程序员,逃不了windows平台,出来吧~ext2fsd
插上你的硬盘,才不管你是接在主板上还是USB上~~打开软件就能看见那个没盘符的磁盘,文件系统也会显示etx3(即使是etx4),软件使用起来也不难,只需要注意读写保护,自动挂载和删除无效盘符,其他的不用管~~这样直接接电脑反而可以不用忍受树莓派那100M网络的限制,USB3.0爽得飞起
很不错,详细~谢啦,很巧今天开始折腾,和LZ一样是Model B
很早買的?
折腾过linux下载迅雷离线资源或115网盘资源吗?
全自動下載迅雷離線資源弄過,也是已經有現成的
115不是可以直接右鍵查看連接麼?如果說是純命令行操作就不大清楚了
学习了,我也有个树莓派,但一直在吃灰。真羡慕博主,有技术还懂得折腾。