前言
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 , http://ariang.eu.org , http://p3terx.gitee.io/ariang
桌面应用程序
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 下载多文件时,若想取消部分文件,需先暂停任务后才能进行勾选。