Aria2-pro 联动 RCLONE 自动上传

Administrator 1012 2022-07-24

Aria2-pro 联动 RCLONE 自动上传

文件下载到本地后自动调用 RCLONE 上传到指定网盘,本地不保留文件,实现 OneDrive 和 Google Drive 等网盘的伪离线下载。

  • 启动命令加入-e SPECIAL_MODE=rclone参数设定特殊模式环境变量后开启 RCLONE 自动上传功能,容器初次启动会安装 RCLONE ,且每次重启会自动更新 RCLONE。启动命令示例:
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=P3TERX \
    -e RPC_PORT=6800 \
    -e LISTEN_PORT=6888 \
    -v ~/aria2-config:/config \
    -v ~/rclone-downloads:/downloads \
    -e SPECIAL_MODE=rclone \
    p3terx/aria2-pro
	
  • 之前若使用过 RCLONE 直接把配置文件(rclone.conf)复制到 Aria2 Pro 配置目录下即可。 RCLONE 配置文件可以在宿主机的默认位置找到:~/.config/rclone/rclone.conf
  • 初次使用或者想要配置 RCLONE 可使用docker exec -it aria2-pro rclone config命令进入容器内的 RCLONE 交互菜单选项,配置方法可参考:《Rclone 安装配置教程》。
  • 最后根据实际情况修改 Aria2 Pro 配置文件目录下script.conf文件中的网盘名称(drive-name)和网盘路径(drive-dir)这两个选项的值。

Telegram Bot 控制 Aria2 下载并自动上传

配置文件 “config.json”,从上到下依次是 Aria2 RPC 地址、密钥、代理地址、Bot 访问令牌、用户 ID、任务显示数量最大值。根据自己的实际情况填写,自由地区的 VPS 可以去掉代理地址配置。

{
  "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
}
docker run -d \
    --name tele-aria2 \
    --restart unless-stopped \
    --log-opt max-size=1m \
    --network host \
    -v /home/appdata/tele-aria2/config.json:/config.json \
    p3terx/tele-aria2:0.2.2

docker-compose

---
version: "2.1"
services:
  Aria2-Pro:
    image: p3terx/aria2-pro
    container_name: aria2-pro
    hostname: aria2.local
    restart: unless-stopped
    environment:
      - PUID=0
      - PGID=0
      - UMASK_SET=022
      - RPC_SECRET=down8787666.
      - RPC_PORT=6800
      - LISTEN_PORT=6888
      - DISK_CACHE=128M
      - IPV6_MODE=false
      - UPDATE_TRACKERS=true
      - CUSTOM_TRACKER_URL=https://trackerslist.com/all_aria2.txt
      - TZ=Asia/Shanghai
      - SPECIAL_MODE=rclone
    volumes:
      - /home/appdata/aria2/config:/config
      - /home/downloads:/downloads
    ports:
      - 6800:6800
      - 6888:6888
      - 6888:6888/udp
    logging:
      driver: json-file
      options:
        max-size: 1m

  AriaNg:
    image: p3terx/ariang
    container_name: ariang
    hostname: ariang.local
    restart: unless-stopped
    command: --port 6880 --ipv6
    ports:
      - 6880:6880
    logging:
      driver: json-file
      options:
        max-size: 1m

  tele-aria2:
    image: p3terx/tele-aria2
    container_name: tele-aria2
    hostname: tele-aria2
    restart: unless-stopped
    network_mode: host
    volumes:
      - /home/appdata/tele-aria2/config.json:/config.json 
    logging:
      driver: json-file
      options:
        max-size: 1m