前言
Aria2 只是一个命令行程序(后端、服务端),配合前端面板(比如 WebUI)才会有很好的人机交互使用体验,在《在 Windows 中使用 Aria2 》这篇教程中博主曾推荐过一些 Aria2 的前端面板,AriaNg 就是其中非常优秀的一个。早期使用 Aria2 的人群多数为极客群体,随着历史的进程逐渐从 Linux 普及到了 Windows 平台,为广大人民群众所熟知。手动配置是一个非常痛苦的过程,所以有些热心网友为了让更多的人在 Windows 上使用这个强大的下载工具于是就产生了各种 Aria2 + AriaNg 整合版,有些干脆直接叫“AriaNg Windows 版”、“AriaNg GUI”,还有很多 VPS 部署 Aria2 的教程往往会教如何去部署 AriaNg 页面,这就让很多人误以为是 AriaNg 在下载,模糊了萌新们对 Aria2 与 AriaNg 的认知。甚至能在 AriaNg 的 issue 中看到有关 Aria2 无法下载提问,估计开发者心中有一万个草泥马在奔跑。那么 AriaNg 到是什么?与 Aria2 有什么关系?如何使用呢?这篇教程将给你正确答案。
TIPS: 如果你还没有安装过 Aria2 ,推荐使用 Aria2 一键安装管理脚本 增强版(GNU/Linux)或 Aria2 Pro (Docker) 进行安装部署。
安装&部署 AriaNg
网页
AriaNg 可以在项目的 releases 页面下载,其中标准版具有资源缓存和异步加载的特性,页面打开速度会更快,所以适合部署到 Web 服务器。而 AllInOne 版是一个单 html 文件,可以在本地直接打开使用。
科普: AriaNg 只是一个静态网页,只负责发送指令给 Aria2 服务端,所填写的 RPC 地址和 RPC 密钥等设置数据只会储存在本地浏览器中,不管是在本地直接打开使用还是访问在线网页使用都只是本地浏览器到远端 Aria2 服务的 RPC 协议通讯。所以部署到 Web 服务器不是必要操作,对页面设置密码更是徒劳。
吐槽: 有些“大神”的教程看似高大上,其实自己连基本原理都没弄明白,误导了很多萌新都把时间都浪费在了折腾 AriaNg 页面的部署中。
对于懒得部署和下载的小伙伴,可以使用以下这些已经部署好的 AriaNg 网页版:
TIPS:HTTPS
链接仅适用于 RPC 开启 TLS 的服务端,没有特殊需求使用HTTP
链接即可。
- 由 AriaNg 开发者提供的 Demo 页面:http://ariang.mayswind.net/latest
由 Aria2 完美配置、Aria2 Pro 开发者维护的 AriaNg 网页版:
链接 备注 http://ariang.js.org js.org 提供域名,GitHub Pages 提供网页服务 http://ariang.eu.org eu.org 提供域名,GitHub Pages 提供网页服务,Cloudflare 提供 CDN
桌面应用程序
AriaNg Native 是 AriaNg 开发者基于 Electron 开发的 AriaNg 桌面应用程序,增加了一些额外的功能,比如拖拽种子文件添加任务。它支持 Windows 和 macOS ,下载安装后打开就能使用,不需要使用浏览器。
Docker
Docker 是目前非常流行的一键部署方式之一。为了方便小伙伴们自行部署 AriaNg 页面,博主特意制作了可能是目前体积和资源占用最小且加载速度最快的 AriaNg 页面的 Docker 镜像,此外还解除了单服务器线程数和文件分片大小等设置的限制,可更加方便的配合 Aria2 Pro 使用。启动命令示例如下,启动后访问所在主机的 6880 端口即可。
# bridge 网络模式
docker run -d \
--name ariang \
--restart unless-stopped \
--log-opt max-size=1m \
-p 6880:6880 \
p3terx/ariang
# host 网络模式(如果你需要使用 IPv6 网络访问,这是最简单的方式)
docker run -d \
--name ariang \
--log-opt max-size=1m \
--restart unless-stopped \
--network host \
p3terx/ariang --port 6880 --ipv6
AriaNg 连接 Aria2 服务端
手动设置
在AriaNg 设置
中填写相关 RPC 信息。RPC 地址
对应 IP 或域名, RPC 秘钥
对应配置文件(aria2.conf
)中rpc-secret
选项后面的参数。如果没有过修改端口,那么默认是6800
无需修改。
以 Aria2 一键安装管理脚本 增强版为例子,安装后会显示这些信息,能非常直观的进行设置。
TIPS: 无法连接一般是两种情况导致的:1. 6800 端口未开放。 2. 网络不通畅。
API 一键设置
AriaNg 提供了一个名为命令行 API 的功能,这使得我们可以通过 URL 请求的方式去一键设置 RPC 信息,而不必每次换浏览器和设备都重复手动设置。最新的 Aria2 一键安装管理脚本 增强版中所生成的 AriaNg 一键直达链接就是使用的这个功能。
API RPC 设置语法:
/#!/settings/rpc/set/${protocol}/${rpcHost}/${rpcPort}/${rpcInterface}/${secret}
${protocol}
为连接协议. 可以使用http
、https
、ws
或wss
。${rpcHost}
为 Aria2 RPC 的主机。可以使用 IP 或域名。${rpcPort}
为 Aria2 RPC 的端口。${rpcInterface}
为 Aria2 RPC 的路径,默认为jsonrpc
。${secret}
为使用 URL 安全的base64
编码后的 RPC 密钥,可选。
举个例子,假设使用 http://ariang.js.org 这个 AriaNg 页面,连接协议使用ws
,主机 IP 为233.233.233.233
,端口为6800
,RPC 路径使用默认的jsonrpc
,RPC 密钥为P3TERX
。
在终端中通过base64
编码 RPC 密钥(或者也可以使用在线编码工具):
$ echo -n "P3TERX" | base64 # 输入命令
UDNURVJY # 编码结果
综合以上信息可以如下的链接:
http://ariang.js.org/#!/settings/rpc/set/ws/233.233.233.233/6800/jsonrpc/UDNURVJY
将配置好的链接保存到浏览器书签,可以方便的同步到不同的设备直接进行访问。
AriaNg 导入/导出设置
如果你像博主一样使用 Aria2 下载的 VPS 或者设备非常多而且密码都是随机生成的,这时到另一个设备去使用一个个手动去添加那是非常麻烦的事情,除了前面提到的 API 一键设置的方法,还可以使用导入/导出设置功能。它可以把所有的 RPC 信息以 json 格式保存备份,然后导入到其它设备使用。
TIPS: 使用 AriaNg 网页版通过 API 链接方式会覆盖掉之前保存的所有 RPC 信息。
AriaNg 使用注意事项
- 在 AriaNg (或其它前端面板)中对 Aria2 设置的修改只会保存在内存中,不会修改配置文件,即属于临时修改,只在当前运行的进程中有效。Aria2 重启或关闭后会重新读取配置文件。这是 Aria2 的特性决定的并是不 bug ,所以必要的设置需写入到 Aria2 配置文件中。
- 修改 Aria2 配置文件后,要先关闭 AriaNg 再重启 Aria2 进程,否则 AriaNg 可能会传递之前缓存的配置给 Aria2 ,这可能会导致修改的配置没有生效。理论上其它前端面板也是这样。(待讨论)
- HTTP 协议的 RPC 请求方式只建议使用
POST
,否则可能导致 BT 种子无法传递到 Aria2 服务端。 - BT 下载多文件时,若想取消部分文件,需先暂停任务后才能进行勾选。
相关文章推荐:
《 Aria2 新手入门教程》
《 Aria2 + Rclone 实现 OneDrive、Google Drive 等网盘离线下载》
相关 Telegram 群组:Aria2 Group
相关 Telegram 频道:Aria2 Channel
本博客已开设 Telegram 频道,欢迎小伙伴们订阅关注。
本文作者:P3TERX
本文链接:https://p3terx.com/archives/aria2-frontend-ariang-tutorial.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。非商业转载及引用请注明出处(作者、原文链接),商业转载请联系作者获得授权。
webUI选简中或繁体,都显示类似扑克牌梅花图案的乱码,要如何解决呢?
家宽的动态IP 做端口远程连aria2agn无法链接上,本地局域网192.168.1.xx+端口可以链接。是我设置问题么?还是容器里要加
${secret} 为使用 URL 安全的base64编码后的 RPC 密钥
大佬,666.安装你的配置成功了,这个Aaria2也配置好了。就是谷歌浏览器最新99版本,局域网打开会报这个错误:
“请求的实体太大
您的请求已被放弃,因为它太长了。”
用微软的Edge浏览器正常。但我常用的的是谷歌的浏览器。
大佬,有时间解决一下吗?
大佬,按照你说的方法设置的ariang,之前用的好好的,今天突然打不开了,aria2正常运行,网页提示“Request Entity Too Large”,docker重装也不行,是在群晖上使用,可能会是什么原因啊
清一下缓存
大佬, 666. 每个配置项都搞得明明白白. 全套用上了. 感谢. github 已星.
感谢支持!
大佬,这个Docker的启动后ipv4可以正常访问,ipv6不行
启动命令默认用的 bridge 网络模式,IPv6 要分配地址给到容器。
简单一点,如果你的宿主机有 IPv6 地址了,使用 host 网络模式启动容器即可:
我用的bridge模式,其他容器可以正常分配到IPV6,而且我试过了host模式也不行。
忘了,默认是不监听 IPv6 的,最后面还要加个
--ipv6
才行。-p 6880:6880 \
aria2的RPC_PORT=7911,这里的端口映射需要改动吗?
6880 是 AriaNg 的网页访问端口,RPC 端口是你在 AriaNg 网页里去填写的。
用ALLone版本连不上海外的服务器,是因为墙的原因吗?
跟版本无关,连不上多数情况下是端口没开,当然如果 VPS 被墙也会连不上。
确实是防火墙的问题,我用aws的服务器,之前一直没有防火墙的,不知道什么时候加上了
很有启发,了解了很多原理,自己用webserver搭建了AriaNg;原本还想着要加个网页的密码,以免不安全,看了楼主的文章才知道没必要。感谢。
大佬,我用的你的aria2pro 和你在线webui ,已经连接上了,测试了下,好像无法下载磁力链接,用迅雷下载同样的链接是可以的。然后webui 状态面板 enable features 里面也没有磁力链接。 我查了aria2是支持磁力链接的,要怎么弄呢?
站长,配置好Aria2+Rclone自动上传之后,下载了一个文件:
日志:
04/19 23:47:23 [INFO] Delete .aria2 file ...
显示这个之后就没有响应了?
(AriaNG用的别的,不是自己搭建的,是这个原因吗?)
很有启发!
大佬你好,今天我使用你的aria脚本和aria前端搭建离线下载
前端用caddy代理放在服务器上,然后我按站里的教程设置好ondrive同步发现ariang无法下载,一下载就和aria2连接不稳定,总是连接断开来回跳(服务器已经关闭防火墙了,所有端口可用),我看了aria2日志发现没有问题,搞了好久,最后把ariang设置里的rpc请求方法改成get就正常了,请问这是什么原因呢?
这个很正常,因为下载时带宽被占满了,所以连接不稳定。
还有个问题想问您,最近我还发现一个叫"cloud torrent"服务端,对比Aria2有什么优劣.不知能否有空解答下.特别感谢.
比 Aria2 简单易用,没 Aria2 功能强大。
站长,刚开始使用的你配置,特别感谢;
想问下,如果种子文件下载到一半完全没资源了,想在AriaNg添加trcaker,比如这个网站"https://github.com/ngosang/trackerslist"随时更新的tracker,如何能够批量添加进去?
或者是是否有办法自动获取tracker.每次下载自动获取导入.
抱歉,我不太会表述一些专有名词,不太清晰,不知您能否看得懂.
Aria2 一键安装管理脚本 有相关功能
大佬,我来支持你了,我紧跟你的步伐
谢谢支持!