Docker部署Aria2 以及Webui ariaNG 使用Frp穿透访问

@Wen's  April 2, 2021

今天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是绿色的连接状态了。

添加下载任务后就能下载了。以后就可以远程添加下载任务了。

转自感谢:https://www.199989.xyz/docker%E9%83%A8%E7%BD%B2aria2-%E4%BB%A5%E5%8F%8Awebui-ariang-%E4%BD%BF%E7%94%A8frp%E7%A9%BF%E9%80%8F%E8%A8%AA%E5%95%8F


添加新评论