Aria2 Pro 后端

1、安装

安装 Docker 后使用命令,需要自行替换 <TOKEN>

如果服务器不支持 ipv6 网络,可以直接删除 -e IPV6_MODE=true \ 这一行

里面加入 -e SPECIAL_MODE=rclone \ ,如果不需要 rclone 自动上传,可以删除这一行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
docker run -d \
--name aria2-pro \
--restart unless-stopped \
--log-opt max-size=1m \
--network host \
-e PUID=$UID \
-e PGID=$GID \
-e RPC_SECRET=<TOKEN> \
-e RPC_PORT=6800 \
-e LISTEN_PORT=6888 \
-v ~/aria2-config:/config \
-v ~/rclone-downloads:/downloads \
-e SPECIAL_MODE=rclone \
-e IPV6_MODE=true \
p3terx/aria2-pro

2、配置 rclone

通过 rclone 实现 Aria2 下载完后自动上传到 OneDrive

docker 创建完成后进入容器,配置 rclone

1
docker exec -it aria2-pro rclone config

rclone 配置完成后具体的上传配置可以在 ~/aria2-config/script.conf 文件内修改,包括上传目录,RCLONE 配置时填写的 name 等

AriaNg 网页前端

可以使用 Telegram Bot 方案替代网页前端

1、配置前端页面

在 GitHub 上配置 Aria2 的前端页面,AriaNg 的项目地址:AriaNg

首先 下载 AriaNg ,选择带有 AllInOne 的版本

新建一个 GitHub 仓库,将解压后得到的 index.html 文件上传到仓库

上传完以后开启 GitHub Pages 即可

2、使用 API 配置 RPC 信息

{上面 GitHub Pages 提供的二级域名}/#!/settings/rpc/set/${protocol}/${rpcHost}/${rpcPort}/${rpcInterface}/${secret}

  • ${protocol} 为连接协议. 可以使用httphttpswswss,htttps 和 wss 需要 GitHub 强制 HTTPS,后端服务器配置证书
  • ${rpcHost} 为 Aria2 RPC 的主机。可以使用 IP 或域名。
  • ${rpcPort} 为 Aria2 RPC 的端口,默认为 6800
  • ${rpcInterface} 为 Aria2 RPC 的路径,默认为jsonrpc
  • ${secret} 为使用 URL 安全的base64编码后的 RPC 密钥,即 Aria2 Pro 上面自己配置的 <TOKEN>

base64 编码可以直接用命令转换,TOKEN 自行替换为自己的

1
echo -n "TOKEN" | base64

Telegram Bot

需要有可以访问Telegram的网络

1、获取TOKEN

使用 @BotFather 创建自己的 Bot 并获取访问令牌(<TOKEN>

2、获取用户 ID

使用 @userinfobot 获取自己的ID

3、部署 tele-aria2

新建配置文件tele-aria2-conf.json

  • aria2-server :Aria2 RPC 地址
  • aria2-key :Aria2 Pro 后端安装时候,自己配置的 <TOKEN>
  • bot-key : 第一步获取的TOKEN
  • user-id :第二步获取的用户ID
  • max-index :任务显示数量最大值
1
2
3
4
5
6
7
{
"aria2-server": "ws://127.0.0.1:6800/jsonrpc",
"aria2-key": "RPC_SECRET",
"bot-key": "Bot_TOKEN",
"user-id": "123456",
"max-index": 10
}

运行 Docker 容器

最后一行的 -v /root/tele-aria2-conf.json ,将文件地址改为自己配置文件的地址

1
2
3
4
5
6
7
docker run -d \
--name tele-aria2 \
--restart unless-stopped \
--log-opt max-size=1m \
--network host \
-v /root/tele-aria2-conf.json:/config.json \
p3terx/tele-aria2:0.2.2

配置 HTTPS

如果需要配置的话,这里使用的是 nginx 反向代理

/etc/nginx/conf.d/目录下创建文件 Aria2.conf,名称随意

或者如果已经配置好了 443 端口,有其它服务运行,也可以修改 /etc/nginx/nginx.conf 文件,直接在 server 443 里面加入 location{} 这段即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 server {
listen 443;
# 配置自己的域名
server_name 365day.top;

# 配置证书文件
ssl_certificate /etc/nginx/ssl/365day.top.crt;
# 配置证书私钥文件
ssl_certificate_key /etc/nginx/ssl/365day.top.key;

location /jsonrpc {
proxy_pass http://127.0.0.1:6800/jsonrpc;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

前端在 GitHub Pages 设置中开启 Enforce HTTPS 即可,此时 RPC 的通讯端口填写 443,比如

https://aria2.123.tk/#!/settings/rpc/set/https/365day.top/443/jsonrpc/MWI4MWIyYTdhYjk5

参考