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