站点图标 Linux-技术共享

Telegram Bot 控制 Aria2下载并自动上传到Google Drive、OneDrive

前言

tele-aria2 是一个可以控制 Aria2 服务端的 Telegram Bot ,它可以发任务到远程 Aria2 进行下载、查看任务、删除任务等操作。准确来说它是一个 Aria2 前端程序,只不过形式不是我们所熟知的 Ar­i­aNg 那样的 Web 页面,而是以一个聊天机器人的形式存在。如果 Aria2 配置好联动 Rclone 自动上传,那么就可以实现发送下载链接给 Bot → Aria2 下载 → Rclone 自动上传文件到 Google Drive 等网盘的骚操作。

部署 Aria2

Aria2 一键安装管理脚本 增强版 (GNU/​Linux) 和 Aria2 Pro (Docker) 任选其一,这里不做赘述了。如果需要自动上传那么就需要配置联动 Rclone 的步骤,能正常下载并上传即代表部署工作完成,否则忽略这个步骤即可。

获取 Telegram Bot 访问令牌

使用 @BotFather 创建自己的 Bot 并获取访问令牌(<TOKEN>),过程如图所示:

 

 

获取用户 ID

部署 tele-aria2

为了防止环境不统一导致部署失败将使用 Docker 进行部署。

{
  "aria2-server": "ws://10.0.0.2:6800/jsonrpc",
  "aria2-key": "P3TERX_2020",
  "proxy": "http://127.0.0.1:7890",
  "bot-key": "123456789:xyz",
  "user-id": "123456",
  "max-index": 10
}

TIPS: 如果你需要多用户支持,用户 ID 之间用,(半角逗号)隔开即可,就像这样:"user-id": "123,456,789"

nano ~/.tele-aria2-conf.json
docker run -d \
    --name tele-aria2 \
    --restart unless-stopped \
    --log-opt max-size=1m \
    --network host \
    -v ~/.tele-aria2-conf.json:/config.json \
    p3terx/tele-aria2:0.2.2

 

 

使用 Bot 控制 Aria2 下载

 

 

局限性

尾巴

tele-aria2 目前尚处于初级开发阶段,功能比较极简,不过 Aria2 绝大多数时间的使用场景是添加、暂停、删除任务。Ar­i­aNg 功能强大,但由于开发者为了保持操作逻辑的严谨性(添加任务前可修改默认参数),因此牺牲掉批量添加种子功能,而 tele-aria2 可以一次性发送多个种子来实现批量添加种子,一定程度上也弥补了 Ar­i­aNg 这个功能的缺失。所以说在日常使用场景中 tele-aria2 可以替代 Ar­i­aNg ,而在需要单独定制任务参数或者查看任务进度时使用 Ar­i­aNg ,二者相辅相成应该算是目前 Aria2 前端最佳解决方案。

退出移动版