前言

Aria2 只是一个命令行程序(后端、服务端),配合前端面板(比如 We­bUI)才会有很好的人机交互使用体验,在《在 Windows 中使用 Aria2 》这篇教程中博主曾推荐过一些 Aria2 的前端面板,Ar­i­aNg 就是其中非常优秀的一个。早期使用 Aria2 的人群多数为极客群体,随着历史的进程逐渐从 Linux 普及到了 Win­dows 平台,为广大人民群众所熟知。手动配置是一个非常痛苦的过程,所以有些热心网友为了让更多的人在 Win­dows 上使用这个强大的下载工具于是就产生了各种 Aria2 + Ar­i­aNg 整合版,有些干脆直接叫 “Ar­i­aNg Win­dows 版”、“Ar­i­aNg GUI”,还有很多 VPS 部署 Aria2 的教程往往会教如何去部署 Ar­i­aNg 页面,这就让很多人误以为是 Ar­i­aNg 在下载,模糊了萌新们对 Aria2 与 Ar­i­aNg 的认知。甚至能在 Ar­i­aNg 的 is­sue 中看到有关 Aria2 无法下载提问,估计开发者心中有一万个草泥马在奔跑。那么 Ar­i­aNg 到是什么?与 Aria2 有什么关系?如何使用呢?这篇教程将给你正确答案。

TIPS: 如果你还没有安装过 Aria2 ,推荐使用 Aria2 一键安装管理脚本 增强版(GNU/​Linux)或 Aria2 Pro (Docker) 进行安装部署。

安装&部署 AriaNg

网页

AriaNg 可以在项目的 releases 页面下载,其中标准版具有资源缓存和异步加载的特性,页面打开速度会更快,所以适合部署到 Web 服务器。而 AllI­nOne 版是一个单 html 文件,可以在本地直接打开使用。

科普: Ar­i­aNg 只是一个静态网页,只负责发送指令给 Aria2 服务端,所填写的 RPC 地址和 RPC 密钥等设置数据只会储存在本地浏览器中,不管是在本地直接打开使用还是访问在线网页使用都只是本地浏览器到远端 Aria2 服务的 RPC 协议通讯。所以部署到 Web 服务器不是必要操作,对页面设置密码更是徒劳。
吐槽: 有些“大神”的教程看似高大上,其实自己连基本原理都没弄明白,误导了很多萌新都把时间都浪费在了折腾 Ar­i­aNg 页面的部署中。

对于懒得部署和下载的小伙伴,可以使用以下这些已经部署好的 Ar­i­aNg 网页版:

TIPS: HTTPS链接仅适用于 RPC 开启 TLS 的服务端,没有特殊需求使用HTTP链接即可。

链接备注
http://ariang.js.orgjs.org 提供域名,GitHub Pages 提供网页服务
http://ariang.eu.orgeu.org 提供域名,GitHub Pages 提供网页服务,Cloudflare 提供 CDN
http://p3terx.gitee.io/ariangGitee Pages 提供网页和域名服务。由于文件限制使用了 AllInOne 版

Q: 使用他人提供的页面是否存在安全风险?提供者是否知道我的 IP 和密码?
A: 基于原理,只要页面没有被添加恶意代码就不会有安全风险。

桌面应用程序

AriaNg Native 是 Ar­i­aNg 开发者基于 Elec­tron 开发的 Ar­i­aNg 桌面应用程序,增加了一些额外的功能,比如拖拽种子文件添加任务。它支持 Win­dows 和 ma­cOS ,下载安装后打开就能使用,不需要使用浏览器。

Docker

Docker 是目前非常流行的一键部署方式之一。为了方便小伙伴们自行部署 Ar­i­aNg 页面,博主特意制作了可能是目前体积和资源占用最小且加载速度最快的 Ar­i­aNg 页面的 Docker 镜像,此外还解除了单服务器线程数和文件分片大小等设置的限制,可更加方便的配合 Aria2 Pro 使用。启动命令示例如下,启动后访问所在主机的 6880 端口即可。


docker run -d \
    --name ariang \
    --restart unless-stopped \
    --log-opt max-size=1m \
    -p 6880:6880 \
    p3terx/ariang

AriaNg 连接 Aria2 服务端

手动设置

在 AriaNg 设置中填写相关 RPC 信息。RPC 地址对应 IP 或域名, RPC 秘钥对应配置文件 (aria2.conf) 中 rpc-secret 选项后面的参数。如果没有过修改端口,那么默认是 6800 无需修改。

以 Aria2 一键安装管理脚本 增强版为例子,安装后会显示这些信息,能非常直观的进行设置。

TIPS: 无法连接一般是两种情况导致的:1. 6800 端口未开放。 2. 网络不通畅。

命令行 API

通过 Ar­i­aNg 提供的命令行 API 我们可以通过 URL 请求的方式去一键设置 RPC 信息,最新的 Aria2 一键安装管理脚本 增强版中所生成的一键直达 Ar­i­aNg 链接就是这个原理。

API RPC 设置语法:


/#!/settings/rpc/set/${protocol}/${rpcHost}/${rpcPort}/${rpcInterface}/${secret}
  • ${protocol} 为连接协议. 可以使用httphttpswswss
  • ${rpcHost} 为 Aria2 RPC 的主机。可以使用 IP 或域名。
  • ${rpcPort} 为 Aria2 RPC 的端口。
  • ${rpcInterface} 为 Aria2 RPC 的路径,默认为jsonrpc
  • ${secret} 为使用 URL 安全的base64编码后的 RPC 密钥,可选。

举个例子,假设使用 http://ariang.js.org 这个 Ar­i­aNg 页面,连接协议使用 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 或者设备非常多而且密码都是随机生成的,这时到另一个设备去使用一个个手动去添加那是非常麻烦的事情,正确方式是使用导入 / 导出设置功能。它可以把所有的 RPC 信息以 json 格式保存起来备份,或者导入到其它设备使用。

TIPS: 使用 Ar­i­aNg 网页版通过 API 链接方式会覆盖掉之前保存的 RPC 信息。

AriaNg 使用注意事项

  • 在 AriaNg (或其它前端面板)中对 Aria2 设置的修改只会保存在内存中,不会修改配置文件,即属于临时修改,只在当前运行的进程中有效。Aria2 重启或关闭后会重新读取配置文件。这是 Aria2 的特性决定的并是不 bug ,所以必要的设置需写入到 Aria2 配置文件中。
  • 修改配置文件后,要先关闭 AriaNg 再重启 Aria2 进程,否则 AriaNg 可能会传递之前缓存的配置给 Aria2 ,这可能会导致修改的配置没有生效。理论上其它前端面板也是这样。(待讨论)
  • HTTP 协议的 RPC 请求方式只建议使用POST,否则可能导致 BT 种子无法传递到 Aria2 服务端。