Docker部署Aria2 以及Webui ariaNG 使用Frp穿透訪問
今天Labview2020版發佈了,因為增加了面向對象的接口功能,所以決定立刻使用2020版作為生產環境。在公司不敢使用代理下載大流量的東西,在家裡使用網頁下載又比較慢,之前下載2019版下載了好幾次文件都有問題(MD5值變了)。今天又嘗試網頁直接下載,結果速度比較慢,又擔心下載后文件出問題。於是想到了使用Aria2下載,目前貝殼云24小時在線,一直在掛PT。直接Docker部署一下。
之前也使用過Aria2,感覺還是比較方便的,鑒於目前下載軟件沒有好用的,還想能遠程添加下載任務,感覺也只有Aria2能勝任了。
Aria2的Docker我使用的是這個https://hub.docker.com/r/p3terx/aria2-pro由於貝殼云是arm64的CPU,那些下載比較多的只支持X86。看這個的介紹是優化了很多細節問題,具體介紹在這裡https://p3terx.com/archives/docker-aria2-pro.html對於我來說區別不大,注意是因為他支持arm64.
部署起來很簡單
這是命令部署
docker run -d \
--name aria2-pro \
--restart unless-stopped \
--log-opt max-size=1m \
-e PUID=$UID \
-e PGID=$GID \
-e RPC_SECRET=<TOKEN> \
-p 6800:6800 \
-p 6888:6888 \
-p 6888:6888/udp \
-v ~/aria2-config:/config \
-v ~/downloads:/downloads \
p3terx/aria2-pro
下面是在Portainer裏面的部署設置
端口映射Host的根據實際來設置
目錄映射
需要映射/downloads和/config兩個目錄
環境變量設置
PRC_SECRET需要自己設置,在webui中需要用到,PUID和PGID不推薦我這個圖裏面的設置。這裡只設置一下PRC_SECRET就行了,其他的會自動生成。
配置好後應該就能啟動了。
AriaNG的部署,我是看這個介紹的https://p3terx.com/archives/aria2-frontend-ariang-tutorial.html 下載地址https://github.com/mayswind/AriaNg/releases/tag/1.1.6下載后解壓到Nginx的www目錄,配置好Nginx后就能訪問AriaNG的頁面了。Docker的Nginx部署請看這裡
經過上面的部署,你已經能在本地使用aria2進行下載了。下面說一下使用FRP穿透來遠程訪問下載。
首先穿透AriaNG的webui頁面,經過Docker部署的Nginx后先嘗試在本地局域網訪問AriaNG的頁面,如果成功了就很簡單了。
下面是FRPC的配置,我是用的是frp新版的htts2http來實現http轉換到https,懶得用Nginx來轉發了。配置好后重啟frpc就可以用域名遠程訪問ariaNG的webui了。
[aria2NG_htts2http]
type = https
subdomain=frparia2 #你的sub域名,自己定義,不懂的去看frp的配置
plugin = https2http
plugin_local_addr = DockerIP:81 #Nginx配置的aria2NG端口
HTTPS 证书相关的配置
plugin_crt_path = /ssl/fullchain.cer
plugin_key_path = /ssl/z.key
plugin_host_header_rewrite = 127.0.0.1
plugin_header_X-From-Where = frp
然後進行aria2的6800端口穿透。
FRPC的配置如下
[aria2_htts2http]
type = https
subdomain=frparia #你的sub域名,自己定義,不懂的去看frp的配置
plugin = https2http
plugin_local_addr = DockerIP:6800
HTTPS 证书相关的配置
plugin_crt_path = /ssl/fullchain.cer
plugin_key_path = /ssl/z.key
plugin_host_header_rewrite = 127.0.0.1
plugin_header_X-From-Where = frp
配置好后重啟FRPC
通過域名進入你遠程穿透的ariaNG頁面,點擊下圖的AriaNG Settings點擊Global右邊的RPC
Aria2 RPC Alias 隨便寫,就是一個名字,以區分哪個aria2客戶端。
Aria2 RPC Address 中域名是你穿透的aria2 6800端口的域名,後面的端口號需要換成你frpchttps的端口,不在是6800了。
Aria2 RPC Secret Token 就是前面設置的PRC_SECRET。這裡有個坑,我在Portainer環境變量裏面寫的和生成的配置文件裏面的不一樣,這裡填寫的要以aria2配置文件的爲準。
正確填寫這些后重新載入AriaNG就可以看到Aria2 Status是綠色的連接狀態了。
添加下載任務后就能下載了。以後就可以遠程添加下載任務了。