說明:上篇文章喵斯基部落發(fā)布一篇《群暉DSM6搭建NextCloud15私有網(wǎng)盤》文章,順著文章繼續(xù)講下去,讓NextCloud增加離線下載功能,這里我們用的是Aria2。
Aria2介紹
Aria2是一款基于命令行的超輕量級全平臺多協(xié)議下載工具,支持諸如HTTP/FTP/BT/磁力等下載協(xié)議,唯獨(dú)不支持電驢(在此緬懷一下當(dāng)年的VeryCD )。Aria2本身是不帶操作界面的,所以叫做命令行工具,但為了方便使用,很多大神自制了UI界面,常見的有Aria2WebUI、AriaNg等。這兩種界面都是基于網(wǎng)頁的,所以只要能連接到Aria2的服務(wù)器,無論在什么地方都可以輕松的進(jìn)行下載管理,實(shí)現(xiàn)遠(yuǎn)程下載。
廢話不多說,下面主要說說如何使用群暉DSM的Docker套件安裝Aria2。
安裝Aria2
首先在套件中心中安裝Docker,安裝好之后打開。
點(diǎn)擊左側(cè)的?注冊表,使用關(guān)鍵字查找Aria2
,可以看到有很多不同版本。這里我選的是第一個xujinkai/aria2-with-webui
,從下面的注釋可以看出來。這個鏡像包含了Aria2和webui,這樣使用的時候有圖形界面會比較方便。選好之后右鍵?下載此映像。
點(diǎn)擊左側(cè)的映像,看到此鏡像正在下載。Docker的鏡像下載服務(wù)器對國內(nèi)網(wǎng)絡(luò)的支持不是很好,有時候下載很慢,請耐心等待。好在這個鏡像大小只有24M。
映像xujinkai/aria2-with-webui
下載完成后,雙擊映像,開始創(chuàng)建容器。第一頁的容器名稱可以任意填寫,高級權(quán)限沒有必要選,資源限制可以根據(jù)自己的實(shí)際情況來,我這邊沒有做限制。下面點(diǎn)擊高級設(shè)置。
接著點(diǎn)擊卷標(biāo)簽,需要在此標(biāo)簽頁添加兩個文件夾。
- 添加一個文件夾作為默認(rèn)下載文件夾(可以選擇NextCloud的
files
文件夾),在對應(yīng)的裝載路徑中填入/data
。 - 選擇一個文件夾作為Aria2的配置文件儲存位置,然后在裝載路徑中填入
/conf
。
注意:裝載路徑所填信息必須一致,否則程序無法識別會導(dǎo)致程序無法正常開啟。
網(wǎng)絡(luò)標(biāo)簽頁保持默認(rèn)不用修改,端口設(shè)置頁建議將本地端口從自動改成固定的端口號,這個是任意填寫的(也可以按照我設(shè)置進(jìn)行),需要記住稍后有用。
環(huán)境標(biāo)簽頁中點(diǎn)擊+
號添加一個,可變填入rpc-secret
,值中任意填寫一個驗(yàn)證碼,這個在連接Aria2時需要用到。到這里高級設(shè)置就完成了,點(diǎn)擊應(yīng)用后回到上一級頁面之后點(diǎn)擊下一步。
這一頁會把你的設(shè)置全部展示出來,檢查沒有問題就可以點(diǎn)應(yīng)用了,默認(rèn)向?qū)瓿珊筮\(yùn)行此容器。
現(xiàn)在Aria2下載器已經(jīng)在運(yùn)行了。
使用Aria2
在瀏覽器中輸入群暉的IP和剛才設(shè)置的端口號,進(jìn)入Aria2的WebUI界面,我的地址是192.168.2.110:6880
。點(diǎn)擊設(shè)置,選擇連接設(shè)置。在密碼令牌處填寫剛才設(shè)置的認(rèn)證口令,這時RPC認(rèn)證通過,會提示連接成功,左側(cè)的設(shè)置窗口也會把相關(guān)配置顯示出來。
局域網(wǎng)地址+端口,例如
192.168.2.110:6880
不支持外網(wǎng)訪問,無法做到遠(yuǎn)程下載。請在群暉控制面板做好端口映射后,根據(jù)喵斯基部落之前發(fā)布的兩篇文章《LanProxy 使用教程 : 一款擁有WebUI的內(nèi)網(wǎng)穿透工具》和《Nginx反向代理》
點(diǎn)擊添加,可以通過連接、種子和磁力鏈三種方式創(chuàng)建下載。
NextCloud全盤掃描
如果使用Aira2下載的文件無法在nextcloud中顯示,請以root賬號登陸ssh,并在nextcloud目錄中執(zhí)行下面命令:
#定位到nextcloud根目錄
cd /volume1/web/nextcloud
#如果php7.x已加入到環(huán)境變量,請運(yùn)行下面的文件掃描命令
sudo -u http php occ files:scan --all --quiet
若在WebStation給nextcloud配置的虛擬主機(jī)使用php7.0且又同時安裝了php7.2套件的請執(zhí)行下面命令:
#定位到nextcloud根目錄
cd /volume1/web/nextcloud
#如果php7.x未曾加入到環(huán)境變量,請運(yùn)行下面的文件掃描命令
sudo -u http php72 -c /usr/local/etc/php72/php.ini /volume1/web/nextcloud/occ files:scan --all --quiet
覺得每次下載都要執(zhí)行一次很麻煩,寫個腳本配合群暉的任務(wù)計劃每隔15分鐘執(zhí)行一次就行。如下:
# 在nextcloud根目錄創(chuàng)建一個sh腳本
vim /volume1/web/nextcloud/scan_all_files.sh
腳本內(nèi)容如下:
#!/bin/bash
#如果遇到Aria2下載的文件沒有權(quán)限修改,可以在此腳本中增加下面兩行用于目錄賦權(quán)。
chown -R http:http <此處填寫Aria2用于保存文件的目錄路徑>
chmod -R 755 <此處填寫Aria2用于保存文件的目錄路徑>
#定位到nextcloud根目錄
cd /volume1/web/nextcloud
#指定http用戶通過occ命令對全局進(jìn)行文件掃描
sudo -u http php72 -c /usr/local/etc/php72/php.ini /volume1/web/nextcloud/occ files:scan --all --quiet
修改后,按ESC
鍵輸入:wq
保存并退出。
依次打開群暉的控制面板->任務(wù)計劃->新增->計劃的任務(wù)->用戶定義的腳本。具體的設(shè)置請參考下方動圖:
自動掃描(推薦):?只需要修改?/volume1/web/nextcloud/config/config.php
?文件,在文件最后一行);
前添加配置:?'filesystem_check_changes' => 1,?
選項實(shí)現(xiàn)文件夾的自動掃描,實(shí)測效果很理想。
添加Tracker服務(wù)器
Aira2離線下載完成了,試了試BT種子沒有任何速度怎么辦?
除了為Aria2增加Tracker服務(wù)器外,建議先下載一個熱門的BT種子文件,而不是磁力鏈接。這樣可以幫助緩存DHT文件,漸漸地,速度就會起來了。比如試試下載樹莓派操作系統(tǒng)的BT種子?前往下載
為 Aria2 添加 Tracker 服務(wù)器。
BitTorrent客戶端下載一開始就要連接到tracker,從tracker獲得其他客戶端IP地址后,才能連接到其他客戶端下載。在傳輸過程中,也會一直與tracker通信,上傳自己的信息,獲取其它客戶端的信息。
trackerslist?是一個開源項目,每天更新 Trackers list。Aria2 是支持 RPC 的,類似與 AriaNG 等 WEB UI 都是靠 RPC 和 Aria2 通信的,那么我們也是可以寫個腳本用 RPC 來設(shè)置 Aria2 ,并且實(shí)時生效,無需重啟 Aria2。
腳本內(nèi)容如下:
#!/bin/sh
#more trackers list, see https://github.com/ngosang/trackerslist
tracker_url='https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_all.txt'
path='http://10.10.10.5:6800/jsonrpc'
passwd='xxxxxx'
tracker=$(echo -n $(curl -s -L $tracker_url | sed 'N;s/n//g') | tr ' ' ',')
[ -n "$tracker" ] && curl $path -d '{"jsonrpc":"2.0","method":"aria2.changeGlobalOption","id":"cron","params":["token:'$passwd'",{"bt-tracker":"'$tracker'"}]}'
注意:添加前,先修改?tracker_url
、path
?和?passwd
?三個變量的值。
保存上面的腳本,使用cron定時任務(wù),即可定時自動更新到Aria2.conf
文件中。(關(guān)于任務(wù)計劃如何開啟可以參考文章:如何在群暉NAS上面使用Crontab任務(wù)計劃?)
擴(kuò)展:aria2.conf配置詳解
以下是aria2.conf
配置文件的一些說明,請根據(jù)個人情況進(jìn)行修改。
## '#'開頭為注釋內(nèi)容, 選項都有相應(yīng)的注釋說明, 根據(jù)需要修改 ##
## 被注釋的選項填寫的是默認(rèn)值, 建議在需要修改時再取消注釋 ##
## 文件保存相關(guān) ##
# 文件的保存路徑(可使用絕對路徑或相對路徑), 默認(rèn): 當(dāng)前啟動位置
dir=~/downloads
# 啟用磁盤緩存, 0為禁用緩存, 需1.16以上版本, 默認(rèn):16M
#disk-cache=32M
# 文件預(yù)分配方式, 能有效降低磁盤碎片, 默認(rèn):prealloc
# 預(yù)分配所需時間: none < falloc ? trunc < prealloc
# falloc和trunc則需要文件系統(tǒng)和內(nèi)核支持
# NTFS建議使用falloc, EXT3/4建議trunc, MAC 下需要注釋此項
file-allocation=none
# 斷點(diǎn)續(xù)傳
continue=true
## 下載連接相關(guān) ##
# 最大同時下載任務(wù)數(shù), 運(yùn)行時可修改, 默認(rèn):5
max-concurrent-downloads=1
# 同一服務(wù)器連接數(shù), 添加時可指定, 默認(rèn):1
max-connection-per-server=5
# 最小文件分片大小, 添加時可指定, 取值范圍1M -1024M, 默認(rèn):20M
# 假定size=10M, 文件為20MiB 則使用兩個來源下載; 文件為15MiB 則使用一個來源下載
min-split-size=10M
# 單個任務(wù)最大線程數(shù), 添加時可指定, 默認(rèn):5
split=5
# 整體下載速度限制, 運(yùn)行時可修改, 默認(rèn):0
#max-overall-download-limit=0
# 單個任務(wù)下載速度限制, 默認(rèn):0
#max-download-limit=0
# 整體上傳速度限制, 運(yùn)行時可修改, 默認(rèn):0
#max-overall-upload-limit=0
# 單個任務(wù)上傳速度限制, 默認(rèn):0
#max-upload-limit=0
# 禁用IPv6, 默認(rèn):false
disable-ipv6=true
## 進(jìn)度保存相關(guān) ##
# 從會話文件中讀取下載任務(wù)
input-file=/etc/aria2/aria2.session
# 在Aria2退出時保存`錯誤/未完成`的下載任務(wù)到會話文件
save-session=/etc/aria2/aria2.session
# 定時保存會話, 0為退出時才保存, 需1.16.1以上版本, 默認(rèn):0
#save-session-interval=60
## RPC相關(guān)設(shè)置 ##
# 啟用RPC, 默認(rèn):false
enable-rpc=true
# 允許所有來源, 默認(rèn):false
rpc-allow-origin-all=true
# 允許非外部訪問, 默認(rèn):false
rpc-listen-all=true
# 事件輪詢方式, 取值:[epoll, kqueue, port, poll, select], 不同系統(tǒng)默認(rèn)值不同
#event-poll=select
# RPC監(jiān)聽端口, 端口被占用時可以修改, 默認(rèn):6800
rpc-listen-port=6800
# 設(shè)置的RPC授權(quán)令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 選項
#rpc-secret=<TOKEN>
# 設(shè)置的RPC訪問用戶名, 此選項新版已廢棄, 建議改用 --rpc-secret 選項
rpc-user=ruyo
# 設(shè)置的RPC訪問密碼, 此選項新版已廢棄, 建議改用 --rpc-secret 選項
rpc-passwd=RUYO.net
## BT/PT下載相關(guān) ##
# 當(dāng)下載的是一個種子(以.torrent結(jié)尾)時, 自動開始BT任務(wù), 默認(rèn):true
#follow-torrent=true
# BT監(jiān)聽端口, 當(dāng)端口被屏蔽時使用, 默認(rèn):6881-6999
listen-port=51413
# 單個種子最大連接數(shù), 默認(rèn):55
#bt-max-peers=55
# 打開DHT功能, PT需要禁用, 默認(rèn):true
enable-dht=true
# 打開IPv6 DHT功能, PT需要禁用
#enable-dht6=false
# DHT網(wǎng)絡(luò)監(jiān)聽端口, 默認(rèn):6881-6999
#dht-listen-port=6881-6999
# 本地節(jié)點(diǎn)查找, PT需要禁用, 默認(rèn):false
#bt-enable-lpd=true
# 種子交換, PT需要禁用, 默認(rèn):true
enable-peer-exchange=true
# 每個種子限速, 對少種的PT很有用, 默認(rèn):50K
#bt-request-peer-speed-limit=50K
# 客戶端偽裝, PT需要
peer-id-prefix=-TR2770-
user-agent=Transmission/2.77
# 當(dāng)種子的分享率達(dá)到這個數(shù)時, 自動停止做種, 0為一直做種, 默認(rèn):1.0
seed-ratio=0
# 強(qiáng)制保存會話, 即使任務(wù)已經(jīng)完成, 默認(rèn):false
# 較新的版本開啟后會在任務(wù)完成后依然保留.aria2文件
#force-save=false
# BT校驗(yàn)相關(guān), 默認(rèn):true
#bt-hash-check-seed=true
# 繼續(xù)之前的BT任務(wù)時, 無需再次校驗(yàn), 默認(rèn):false
bt-seed-unverified=true
# 保存磁力鏈接元數(shù)據(jù)為種子文件(.torrent文件), 默認(rèn):false
bt-save-metadata=true
【標(biāo)準(zhǔn)版】400元/年/5用戶/無限容量
【外貿(mào)版】500元/年/5用戶/無限容量
其它服務(wù):網(wǎng)站建設(shè)、企業(yè)郵箱、數(shù)字證書ssl、400電話、
聯(lián)系方式:電話:18696588163 微信同號
聲明:本站所有作品(圖文、音視頻)均由用戶自行上傳分享,或互聯(lián)網(wǎng)相關(guān)知識整合,僅供網(wǎng)友學(xué)習(xí)交流,若您的權(quán)利被侵害,請聯(lián)系 管理員 刪除。
本文鏈接:http://www.artemismd.com/article_32761.html