家用nas配置aria2遠(yuǎn)程下載
家用nas必備的一個(gè)功能就是遠(yuǎn)程下載, 我所知道的兩個(gè)遠(yuǎn)程下載的軟件是transmission和aria2, transmission配置簡(jiǎn)單, 但是它支支持磁力鏈接和種子下載, 不支持http下載, 所以我沒有使用, 我選擇了aria2, 同時(shí)支持http, 磁力鏈接和種子下載
安裝aria2
sudo apt install aria2
配置aria2
mkdir ~/.config/aria2
touch ~/.config/aria2/aria2.conf #aria2的配置文件
touch ~/.config/aria2/aria2.session #aria2保存進(jìn)度的文件
然后編輯aria2的配置文件, 寫入一下內(nèi)容
## '#'開頭為注釋內(nèi)容, 選項(xiàng)都有相應(yīng)的注釋說明, 根據(jù)需要修改 ##
## 被注釋的選項(xiàng)填寫的是默認(rèn)值, 建議在需要修改時(shí)再取消注釋 ##
## 文件保存相關(guān) ##
# 文件的保存路徑(可使用絕對(duì)路徑或相對(duì)路徑), 默認(rèn): 當(dāng)前啟動(dòng)位置
dir=/home/share/downloading
# 啟用磁盤緩存, 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=5
# 同一服務(wù)器連接數(shù), 添加時(shí)可指定, 默認(rèn):1
max-connection-per-server=5
# 最小文件分片大小, 添加時(shí)可指定, 取值范圍1M -1024M, 默認(rèn):20M
# 假定size=10M, 文件為20MiB 則使用兩個(gè)來源下載; 文件為15MiB 則使用一個(gè)來源下載
min-split-size=10M
# 單個(gè)任務(wù)最大線程數(shù), 添加時(shí)可指定, 默認(rèn):5
#split=5
# 整體下載速度限制, 運(yùn)行時(shí)可修改, 默認(rèn):0
max-overall-download-limit=3000000
# 單個(gè)任務(wù)下載速度限制, 默認(rèn):0
#max-download-limit=0
# 整體上傳速度限制, 運(yùn)行時(shí)可修改, 默認(rèn):0
max-overall-upload-limit=50000
# 單個(gè)任務(wù)上傳速度限制, 默認(rèn):0
#max-upload-limit=0
# 禁用IPv6, 默認(rèn):false
disable-ipv6=true
# 連接超時(shí)時(shí)間, 默認(rèn):60
#timeout=60
# 最大重試次數(shù), 設(shè)置為0表示不限制重試次數(shù), 默認(rèn):5
#max-tries=5
# 設(shè)置重試等待的秒數(shù), 默認(rèn):0
#retry-wait=0
## 進(jìn)度保存相關(guān) ##
# 從會(huì)話文件中讀取下載任務(wù)
input-file=/home/tom/.config/aria2/aria2.session
# 在Aria2退出時(shí)保存`錯(cuò)誤/未完成`的下載任務(wù)到會(huì)話文件
save-session=/home/tom/.config/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
# 允許所有來源, 默認(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)聽端口, 端口被占用時(shí)可以修改, 默認(rèn):6800
rpc-listen-port=6800
# 設(shè)置的RPC授權(quán)令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 選項(xiàng)
rpc-secret=941221yzj
# 設(shè)置的RPC訪問用戶名, 此選項(xiàng)新版已廢棄, 建議改用 --rpc-secret 選項(xiàng)
#rpc-user=<USER>
# 設(shè)置的RPC訪問密碼, 此選項(xiàng)新版已廢棄, 建議改用 --rpc-secret 選項(xiàng)
#rpc-passwd=<PASSWD>
# 是否啟用 RPC 服務(wù)的 SSL/TLS 加密,
# 啟用加密后 RPC 服務(wù)需要使用 https 或者 wss 協(xié)議連接
#rpc-secure=true
# 在 RPC 服務(wù)中啟用 SSL/TLS 加密時(shí)的證書文件,
# 使用 PEM 格式時(shí)案怯,您必須通過 --rpc-private-key 指定私鑰
#rpc-certificate=/path/to/certificate.pem
# 在 RPC 服務(wù)中啟用 SSL/TLS 加密時(shí)的私鑰文件
#rpc-private-key=/path/to/certificate.key
## 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=51414
# 單個(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=3M
# 客戶端偽裝, PT需要
peer-id-prefix=-TR2770-
user-agent=Transmission/2.77
peer-agent=Transmission/2.77
# 當(dāng)種子的分享率達(dá)到這個(gè)數(shù)時(shí), 自動(dòng)停止做種, 0為一直做種, 默認(rèn):1.0
seed-ratio=1.0
seed-time=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í), 無需再次校驗(yàn), 默認(rèn):false
bt-seed-unverified=true
# 保存磁力鏈接元數(shù)據(jù)為種子文件(.torrent文件), 默認(rèn):false
bt-save-metadata=false
# dht-file
dht-file-path=/home/tom/.config/aria2/dht.dat
# 刪除未選擇的文件
bt-remove-unselected-file=true
# 無速度時(shí)自動(dòng)停止時(shí)間
#bt-stop-timeout=1800
根據(jù)需要更改配置文件, 配置完成后執(zhí)行以下命令, 在后臺(tái)運(yùn)行aria2
aria2c --conf-path=$HOME/.config/aria2/aria2.conf -D
使用AriaNg下載
在nas上配置運(yùn)行好后, 我們就可以使用網(wǎng)頁(yè)端進(jìn)行下載了, 常用的由webui-aria2, 但是它太丑了, 所以我們用比較漂亮的AriaNg
AriaNg需要先下載, 我們選擇all-in-one的版本, 解壓后就可以得到一個(gè)html文件, 用瀏覽器打開, 就是AriaNg了
首先我們需要進(jìn)入AriaNg設(shè)置-RPC, 設(shè)置我們的Aria2 RPC 地址 和 Aria2 RPC 密鑰, 等到Aria2狀態(tài)顯示為已連接, 我們就可以開始下載了
部署AriaNg
這里我們是通過打開文件的方式使用AriaNg, 但是當(dāng)我們使用其他的電腦的時(shí)候還需要將AriaNg的html文件也拷貝過去, 比較麻煩, 所以我們要把它部署到網(wǎng)上去, 由以下兩種方法
- 部署到你自己的nas上
- 使用gitee的pages功能部署
因?yàn)樽罱K我們需要在外網(wǎng)能夠訪問, 那么一定需要內(nèi)網(wǎng)穿透, 而花生殼的免費(fèi)內(nèi)網(wǎng)穿透只能映射兩個(gè)端口, 使用gitee部署可以節(jié)省一個(gè)80端口, 所以我們使用gitee進(jìn)行部署
- 首先需要在gitee上注冊(cè)登錄
- 創(chuàng)建一個(gè)公開的項(xiàng)目
- 使用git將html文件上傳到項(xiàng)目里
- 啟用pages
然后我們就可以使用gitee提供的網(wǎng)址去訪問AriaNg了。
外網(wǎng)遠(yuǎn)程下載
到目前為止乞封,我們所有的訪問都是在內(nèi)網(wǎng)進(jìn)行的逻住,我們要遠(yuǎn)程下載的話,一定需要能夠在外網(wǎng)訪問胸遇,所以我們就需要內(nèi)網(wǎng)穿透了。
我用的是花生殼的內(nèi)網(wǎng)穿透,不需要購(gòu)買它的硬件供汛,他家有一個(gè)phddns的程序,可以實(shí)現(xiàn)和硬件一樣的功能涌穆,可以把這個(gè)軟件直接安裝在nas上怔昨,就可以使用內(nèi)網(wǎng)穿透了。
當(dāng)然你還是需要話6塊錢買一個(gè)體驗(yàn)版的會(huì)員宿稀,就可以有兩個(gè)端口映射趁舀,一個(gè)殼域名,每個(gè)月1G的流量祝沸,還有1M的帶寬矮烹。雖然這個(gè)不太穩(wěn)定,1G的流量也賊少罩锐,但是給我們遠(yuǎn)程下載還是夠了奉狈。端口映射怎么操作我就不說了,網(wǎng)上有很多教程涩惑。
因?yàn)槲覀儗riaNg部署在了gitee上仁期,所以我們只需要映射一個(gè)端口,那就是6800境氢。映射完成后蟀拷,我們?cè)谑褂肁riaNg連接的時(shí)候設(shè)置也要做一些更改。
注意:RPC地址要填寫端口映射時(shí)候選擇的殼域名萍聊,后面的端口號(hào)也要改成分配給你的外部端口號(hào)问芬,而不能填寫6800了。