做網(wǎng)站需要填什么軟文推廣代表平臺(tái)
前言
我平時(shí)有一些下載視頻和一些資源文件的需求,有時(shí)候需要離線下載,也要速度比較快的方式
之前我是用家里的玩客云絕育之后不再寫盤當(dāng)下載機(jī)用的,但是限制很多
我發(fā)現(xiàn)了aria2 這個(gè)下載器非常適合我,而有個(gè)大佬又在原來(lái)的基礎(chǔ)上進(jìn)行了大量的配置等優(yōu)化
發(fā)布了aria2-pro的項(xiàng)目,而且提供了docker部署
項(xiàng)目說(shuō)明
-
- BT 下載率高、速度快
- 重啟后不丟失任務(wù)進(jìn)度、不重復(fù)下載
- 刪除正在下載的任務(wù)自動(dòng)刪除未完成的文件
- 下載錯(cuò)誤自動(dòng)刪除未完成的文件
- 下載完成自動(dòng)刪除控制文件(
.aria2
后綴名文件) - 下載完成自動(dòng)刪除種子文件(
.torrent
后綴名文件) - 下載完成自動(dòng)刪除空目錄
- BT 下載完成自動(dòng)清除垃圾文件(文件類型過濾功能)
- BT 下載完成自動(dòng)清除小文件(文件大小過濾功能)
- 有一定的防版權(quán)投訴、防迅雷吸血效果
- 更好的 PT 下載支持
-
使用?Aria2 Pro Core?項(xiàng)目最新靜態(tài)編譯二進(jìn)制文件
- 多平臺(tái):
amd64
,?i386
,?arm64
,?armhf
(VPS、群輝、樹莓派等常見平臺(tái)完美支持) - 全功能:
Async DNS
,?BitTorrent
,?Firefox3 Cookie
,?GZip
,?HTTPS
,?Message Digest
,?Metalink
,?XML-RPC
,?SFTP
- 單服務(wù)器線程數(shù)最大值無(wú)上限(已破解線程數(shù)限制)
- 防掉線程優(yōu)化
- 內(nèi)存消耗優(yōu)化
- 讀寫性能優(yōu)化
- 最新依賴庫(kù),下載更安全、穩(wěn)定、快速
- 持續(xù)更新最新版本
- 多平臺(tái):
-
支持與?RCLONE?聯(lián)動(dòng)
- 自動(dòng)上傳 OneDrive 、Google Drive 等網(wǎng)盤
- 百度網(wǎng)盤轉(zhuǎn)存到其它網(wǎng)盤
- 多網(wǎng)盤自由選擇
- 支持新一代互聯(lián)網(wǎng)協(xié)議 IPv6
- 下載完成自動(dòng)移動(dòng)文件到指定目錄(文件自動(dòng)歸檔/分類)
- 定時(shí)自動(dòng)更新 BT tracker 列表(無(wú)感知、無(wú)重啟),保持 BT 下載高速率
- 用戶文件權(quán)限自動(dòng)配置功能
- 配置文件持久化,支持使用?watchtower?更新容器。
- 極簡(jiǎn)設(shè)計(jì),專注下載,簡(jiǎn)單易用,少即是多。
項(xiàng)目地址
GitHub:?https://github.com/P3TERX/docker-aria2-pro
Docker Hub:?https://hub.docker.com/r/p3terx/aria2-pro
也希望多多支持作者提供了這么好的項(xiàng)目?,給個(gè)stars
部署
1.首先安裝docker(自行安裝)
2.啟動(dòng)容器?
docker run -d \--name aria2-pro \--restart unless-stopped \--log-opt max-size=1m \-e PUID=$UID \-e PGID=$GID \-e UMASK_SET=022 \-e RPC_SECRET=chen \-e RPC_PORT=6800 \-p 6800:6800 \-e LISTEN_PORT=6888 \-p 6888:6888 \-p 6888:6888/udp \-v /data/aria2/config:/config \-v /data/aria2/downloads:/downloads \p3terx/aria2-pro
--name aria2-pro
?- 容器名稱,可自定義以示區(qū)分。--restart unless-stopped
?- 設(shè)置容器重啟策略,詳情參見?Docker 官方文檔。--log-driver json-file
?- 設(shè)置日志記錄格式為 json 格式。這是 Docker 的默認(rèn)值,某些特殊情況可能需要設(shè)置。--log-opt max-size=1m
?- 日志大小限制為1MB
,防止 Aria2 持續(xù)下載產(chǎn)生大量的日志占用磁盤空間。某些 GUI 可能沒有相關(guān)選項(xiàng)。所以說(shuō)有什么理由不用 CLI 一把梭?-
--network host
?- 使用 host 網(wǎng)絡(luò)模式。直接使用宿主機(jī)網(wǎng)絡(luò),免去端口映射導(dǎo)致的部分性能損失,且靈活性更高,可更方便的配置使用 IPv6 網(wǎng)絡(luò)。host 網(wǎng)絡(luò)模式僅適用于 Docker 17.06+ ,如果你的 Docker 版本低于此,請(qǐng)先升級(jí)。?? ma-cOS 和 Win-dows 上的 Docker 目前暫時(shí)無(wú)法使用 host 網(wǎng)絡(luò)模式,依然需要進(jìn)行端口映射。方法參見后面的? bridge 網(wǎng)絡(luò)模式章節(jié)。
/data/aria2/config:/config??配置目錄映射,配置文件持久化。左邊為宿主機(jī)路徑供自定義,不要有中文、不要混用配置文件,首次使用請(qǐng)確保目錄為空。
TIPS:?注意確認(rèn)目錄是否存在、權(quán)限是否正確。
用于設(shè)置一些可能需要自定義的 Aria2 配置選項(xiàng),方便一鍵部署。
TIPS:?以下環(huán)境變量定義后將直接寫入配置文件( aria2.conf
),通過變量定義后無(wú)法通過配置文件修改,因?yàn)槊看稳萜髦貑?huì)自動(dòng)修正為環(huán)境變量定義的值。你也可以選擇忽略它們,直接在容器創(chuàng)建后修改配置文件。
-e RPC_SECRET=<TOKEN>
?- RPC 密鑰設(shè)置,即 WebUI 連接時(shí)需要填寫的密碼,只建議使用字母和數(shù)字。如果沒有設(shè)置,配置文件中的默認(rèn)密碼為P3TERX
。-e RPC_PORT=6800
?- RPC 端口設(shè)置。-e LISTEN_PORT=6888
?- BT 監(jiān)聽端口(TCP)、DHT 監(jiān)聽端口(UDP)設(shè)置,即 Aria2 配置中listen-port
與dht-listen-port
選項(xiàng)定義的端口。如果沒有設(shè)置,配置文件中的默認(rèn)值為6888
。-e DISK_CACHE=<SIZE>
?- 磁盤緩存設(shè)置,默認(rèn)值64M
。建議在有足夠的內(nèi)存空閑情況下設(shè)置為適當(dāng)增加大小,以減少磁盤 I/O ,提升讀寫性能,延長(zhǎng)硬盤壽命。比如128M
、256M
等。此項(xiàng)值僅決定上限,實(shí)際對(duì)內(nèi)存的占用取決于網(wǎng)速(帶寬)和設(shè)備性能等其它因素。當(dāng)下載文件超過這個(gè)大小且網(wǎng)速足夠快時(shí)最多會(huì)占用所設(shè)置大小的內(nèi)存,所以不宜過大,設(shè)置不當(dāng)輕則進(jìn)程終結(jié)、重則宕機(jī)。-e IPV6_MODE=true
?- 開啟 IPv6 模式。此變量等同于設(shè)定配置文件中的選項(xiàng)disable-ipv6=false
與enable-dht6=true
??砷g接提升 BT 下載速率,但需要網(wǎng)絡(luò)完整支持 IPv6 ,否則會(huì)導(dǎo)致部分功能異常,甚至無(wú)法下載。
特殊模式環(huán)境變量
-e SPECIAL_MODE=move
?- 開啟文件自動(dòng)歸檔/分類功能,即在文件下載完成后把文件移動(dòng)到指定目錄。默認(rèn)移動(dòng)到下載目錄下的completed
子目錄。有關(guān)詳情在后面的進(jìn)階玩法章節(jié)。-e SPECIAL_MODE=rclone
?- 開啟?RCLONE 聯(lián)動(dòng)功能。首次啟動(dòng)容器會(huì)在容器內(nèi)自動(dòng)安裝 RCLONE,且每次重啟會(huì)自動(dòng)更新。有關(guān)詳情在后面的進(jìn)階玩法章節(jié)。
其它環(huán)境變量
-e UPDATE_TRACKERS=false
?- 禁用自動(dòng)更新 BT tracker 。PT 下載和想手動(dòng)填寫設(shè)置 BT tracker 需求必須禁用。-e CUSTOM_TRACKER_URL=<URL>
:自定義 BT tracker 列表獲取鏈接,多個(gè)鏈接可以用半角逗號(hào)(,
)進(jìn)行分隔。如果沒有指定則默認(rèn)從https://trackerslist.com/all_aria2.txt
進(jìn)行獲取。-e UMASK_SET=022
?- umask 設(shè)置,默認(rèn)值022
。決定你下載下來(lái)的文件的權(quán)限,對(duì)權(quán)限不敏感或不理解直接填寫000
。-e TZ=<TIME_ZONE>
?- 時(shí)區(qū)設(shè)置,默認(rèn)時(shí)區(qū)為Asia/Shanghai
,若無(wú)特殊需求無(wú)需自定義。
bridge 網(wǎng)絡(luò)模式
TIPS:?ma-cOS 和 Win-dows 必須要使用 bridge 網(wǎng)絡(luò)模式。
點(diǎn)擊查看
bridge 網(wǎng)絡(luò)模式下需要把容器內(nèi)部的端口映射到宿主機(jī),它是 Docker 默認(rèn)的網(wǎng)絡(luò)模式,所以很多 Docker 鏡像的默認(rèn)使用說(shuō)明都包含端口映射的參數(shù),也包括在 2020 年 3 月 28 日之前的本項(xiàng)目。bridge 網(wǎng)絡(luò)模式主要是用于網(wǎng)絡(luò)隔離,對(duì)于一般用戶幾乎無(wú)用,而且多了一層 NAT ,會(huì)有一定的網(wǎng)絡(luò)性能損失。如果要使用 IPv6 網(wǎng)絡(luò)還需要進(jìn)行一些列復(fù)雜的設(shè)置。對(duì)于全新部署且沒有特殊需求不會(huì)用到下面這些參數(shù)。
-p 6800:6800
?- RPC 通訊端口映射。-p 6888:6888
?- BT 監(jiān)聽端口(TCP)映射,即 Aria2 配置中listen-port
選項(xiàng)定義的端口。-p 6888:6888/udp
?- DHT 監(jiān)聽端口(UDP)映射,即 Aria2 配置中dht-listen-port
選項(xiàng)定義的端口。
bridge 網(wǎng)絡(luò)模式啟動(dòng)命令示例:
docker run -d \--name aria2-pro \--restart unless-stopped \--log-opt max-size=1m \-e PUID=$UID \-e PGID=$GID \-e UMASK_SET=022 \-e RPC_SECRET=chen \-e RPC_PORT=6800 \-p 6800:6800 \-e LISTEN_PORT=6888 \-p 6888:6888 \-p 6888:6888/udp \-v /data/aria2/config:/config \-v /data/aria2/downloads:/downloads \p3terx/aria2-pro
TIPS:?bridge 網(wǎng)絡(luò)模式下如果需要自定義端口,建議映射到宿主機(jī)相同的端口,避免混淆和功能異常。
注意事項(xiàng)
- 作者不會(huì)對(duì)使用此項(xiàng)目造成的損失承擔(dān)任何責(zé)任,使用前請(qǐng)務(wù)必詳細(xì)閱讀整個(gè)文檔再考慮是否使用。
- 容器啟動(dòng)命令有關(guān)路徑與端口參數(shù)中
:
(冒號(hào))右邊的值為容器內(nèi)部的固定值(常識(shí)),不要去修改,否則可能導(dǎo)致無(wú)法正常工作。 - Aria2 配置文件中某些沒必要修改的選項(xiàng)參數(shù)和已通過環(huán)境變量設(shè)定的選項(xiàng)參數(shù)默認(rèn)情況下修改無(wú)效,重啟后會(huì)自動(dòng)修復(fù)為正確的值。(為了防止錯(cuò)誤修改后導(dǎo)致容器工作異常所做的自我修復(fù)功能,比如可以防止把容器內(nèi)的路徑改成容器外的路徑之類的迷惑行為)
- 由于 Aria2 暫時(shí)沒有 UPnP 功能,所以必須配置防火墻開放監(jiān)聽端口,內(nèi)網(wǎng)設(shè)備在路由器設(shè)置端口轉(zhuǎn)發(fā)到相同端口,這對(duì) BT 下載尤為重要,否則 Aria2 將無(wú)法與外界進(jìn)行數(shù)據(jù)交換,影響下載率和速度。方法可參考內(nèi)網(wǎng)端口轉(zhuǎn)發(fā)設(shè)置章節(jié)。有關(guān)原理參見《Aria2 無(wú)法下載磁力鏈接、BT種子和速度慢的解決方案》。
- 某些 NAS 系統(tǒng)比如 OpenMediaVault 由于掛載盤默認(rèn)使用了
noexec
特征,如果配置文件目錄映射到了掛載盤下可能會(huì)導(dǎo)致附加功能腳本沒有執(zhí)行權(quán)限,解決方法可參考《OpenMediaVault 使用中遇到的問題和解決方案 #1 - permission denied》。 - 在中國(guó)大陸地區(qū)使用可能需要處理網(wǎng)絡(luò)問題。已做針對(duì)性優(yōu)化,但國(guó)情都懂的。
aria2-pro 解除了單服務(wù)器線程最大數(shù)量限制
Aria2 官方對(duì)單服務(wù)器線程數(shù)進(jìn)行限制必然是有他們自己的考慮,但我個(gè)人認(rèn)為自由軟件就是要自由,所以解除了這個(gè)限制,讓所有人可以自由選擇。不過無(wú)腦的增加線程數(shù)并不會(huì)讓下載速度飛起來(lái),有時(shí)會(huì)起到反作用,甚至導(dǎo)致無(wú)限重啟。合理的設(shè)置才是正道。
此外 Aria2 Pro 還有特殊的防掉線程優(yōu)化以及增強(qiáng)配置選項(xiàng),這是其他項(xiàng)目所不具備的,有關(guān)詳情配置文件中有注釋說(shuō)明。
部署WebUI?
docker run -d \--name ariang \--log-opt max-size=1m \--restart unless-stopped \-p 6880:6880 \p3terx/ariang
訪問 6880端口
在AriaNg 設(shè)置中 點(diǎn)最上方的RPC 設(shè)置Aria2 RPC密鑰
在上面給出的啟動(dòng)aria2的鏡像代碼中我設(shè)置的 密鑰token是chen
-e RPC_SECRET=chen
進(jìn)階玩法
Aria2 Pro 具有非常多的隱藏功能與玩法等待你去發(fā)覺,比如通過創(chuàng)建多個(gè)容器,你甚至可以在同一設(shè)備上同時(shí)進(jìn)行 BT 下載、PT 下載、自動(dòng)上傳 OneDrive 、自動(dòng)上傳 Google Drive 等功能,但不僅限于這些。想象力沒有上限,需要自己思考。授人以魚不如授人以漁,所以只寫大概思路與示例。
??
重啟
Aria2 Pro 具有自我修復(fù)機(jī)制,遇到問題首先重啟。如果你修改過配置文件和附加功能腳本,先刪除后重啟。
docker restart aria2-pro
重裝
docker rm -f aria2-pro
docker rmi p3terx/aria2-pro
rm -rf ~/aria2-config
docker pull p3terx/aria2-pro
docker run <...>
更新
也許你的問題在最新的版本中已經(jīng)得到解決,多多關(guān)注項(xiàng)目頁(yè)面動(dòng)態(tài)。一些重要更新會(huì)在?Aria2 Channel?推送。
以下是使用?Watchtower?一鍵更新 Aria2 Pro 鏡像與容器的命令示例:
docker run --rm \-v /var/run/docker.sock:/var/run/docker.sock \containrrr/watchtower -cR \aria2-pro
查看日志
查看日志才能更好的找到問題的根本,即使你看不懂,也要學(xué)會(huì)如何查看。
- 查看實(shí)時(shí)日志
docker logs -f --tail 30 aria2-pro
- 導(dǎo)出日志
docker logs aria2-pro > ~/aria2-pro.log
有些代碼細(xì)節(jié)和WebUI作者博客文章中都沒有寫
我們根據(jù)Github作者提供的文檔稍微整合了一下
文章參考:
Aria2 Pro - 更好用的 Aria2 Docker 容器鏡像 - P3TERX ZONE
GitHub - P3TERX/Aria2-Pro-Docker: Aria2 Pro | A perfect Aria2 Docker image | 更好用的 Aria2 Docker 容器鏡像