PandoraBox中配置Aria2实现远程下载

By | 2017年7月22日

本来迅雷远程下载功能用的好好的,现在突然说要关闭了,那只能再见了,替代方案就是Aria2。

Aria2程序本身是基于命令行的下载工具,程序支持远程RPC调用(JSONRPC),这样就有如下的使用场景:

在家中的路由器系统中部署Aria2服务程序,在外网任意一台电脑上部署Aria2 Web UI网站,使用Web UI界面操作,Web UI内部通过JSONRPC将需要下载的数据发送到路由器里的aria2程序。

一、首先在路由器LUCI管理界面启用Aria2程序:

LUCI的配置界面很简单,默认的都可以不用修改。

二、部署Aria2 Web UI(或者使用现成的)

这里使用的Wei UI程序是汉化版的Yaaw,官方地址:http://aria2c.com/,我在自己服务器上部署的:http://devonios.com/app/aria2/index.html

都能直接使用,配置数据是保存在浏览器缓存中的,所以换浏览器或者地址后需要重新配置下。

Web UI使用前,需要先配置JSON-RPC Path地址,即路由器上的Aria2提供的RPC地址。这个时候就需要frp到场了,因为路由器一般都是在家里的,外网无法直接访问,需要使用frp内网穿透。

三、借助frp实现Aria2的内网穿透访问

aria2启动后默认监听的是6800端口,在Web UI中需要使用类似http://domain.name:6800/jsonrpc地址来访问。

首先配置frps端,frps.ini文件中,定义了http端口为8802:

[common]
bind_port = 7000
vhost_https_port = 8801
vhost_http_port = 8802
subdomain_host = domain.com

[ssh]
type = tcp
listen_port = 6000

配置frpc端,frpc.ini文件中:

[aria2RPC]
type = http
local_ip = 127.0.0.1
local_port = 6800
subdomain = aria2
use_encryption = true
use_compression = true

最终,Aria2的RPC调用地址为:http://aria2.domain.com:8802/jsonrpc,将这个地址填写到Web UI的配置中,即可开始使用。

如果配置正常,Web UI右上角会显示Aria2的版本信息和当前上下载的速度: