稍微搜索了一下,发现已经有现成的Aria2 下载完自动使用rclone上传并删除文件脚本

不过却发现Aria2 本身不支持RSS订阅,于是搜索了整天总算有个能用第三方RSS订阅推送Aria2,Flexget

最终实现Aria2 自动RSS订阅任务下载,完并使用gclone上传到googleDrive、Onedrive,最后删除本地占用文件

需要使用的软件:

  • aria2
  • AriaNgGUI
  • gclone / rclone
  • Flexget(需要python3环境)

搭建教程:

一、Aria2 一键安装管理脚本 增强版


wget -N git.io/aria2.sh && chmod +x aria2.sh && ./aria2.sh

安装完后返回信息


Aria2 简单配置信息:
IPv4 地址        : 127.0.0.1
IPv6 地址        : IPv6 地址检测失败
RPC 端口        : 6800
RPC 密钥        : 221d8645ddf44bc5953c
下载目录        : /root/downloads

使用AriaNg WebGUI / 程序GUI,远程/本地连接图形化管理Aria2

对应填写Aria2 简单配置信息

二、安装 gclone / rclone


#推荐 gclone 安装并复制命名rclone
bash <(wget -qO- https://git.io/gclone.sh)
cp /usr/bin/gclone /usr/bin/rclone
#rclone 安装(注意:已安装gclone无需再安装rclone)
curl https://rclone.org/install.sh | sudo bash

配置方面请自行搜索rclone教程

编辑自动上传脚本


nano /root/.aria2c/upload.sh

对应修改相关参数


# Aria2 下载目录
DOWNLOAD_PATH='/root/downloads'
# Rclone 配置时填写的网盘名(name)
DRIVE_NAME='Onedrive'
# 网盘目录。即上传目标路径,留空为网盘根目录,末尾不要有斜杠。
DRIVE_PATH='/DRIVEX/Download'

启动脚本


nano /root/.aria2c/aria2.conf

修改以下参数


# 下载完成后执行的命令
on-download-complete=/root/.aria2c/upload.sh

重启 Aria2


service aria2 restart
./aria2.sh
6

三、Flexget 第三方RSS订阅推送,全局安装


apt update
apt install python3-pip
pip3 install --upgrade pip
hash -d pip3
pip3 install --upgrade setuptools
pip3 install --ignore-installed flexget

如果Flexget 全局安装失败,可以参试virtualenv环境安装


apt update
apt install python3-pip
apt-get install python3-venv
pip3 install --upgrade pip
python3 -m venv ~/flexget/
cd ~/flexget/
bin/pip install flexget
source ~/flexget/bin/activate

配置Flexget Aria2 RSS


cd
mkdir -p ~/.config/flexget
cd .config/flexget
touch config.yml
nano config.yml

config.yml格式


tasks:
  任务名称:
    rss: RSS-URL
    accept_all: yes
    aria2:
        server: Aria2-IP
        port: Aria2-端口
        secret: Aria2-密钥
        path: Aria2-下载绝对路径

config.yml例子

创建"Anime"名称任务,RSS链接为"https://nyaa.si/?page=rss&c=1_0&f=0"

aria2 IP为"127.0.0.1",端口为"6800",密钥为"221d8645ddf44bc5953c",下载路径为"/root/downloads/"


tasks
  Anime:
    rss: https://nyaa.si/?page=rss&c=1_0&f=0
    accept_all: yes
    aria2:
        server: 127.0.0.1
        port: 6800
        secret: 221d8645ddf44bc5953c
        path: /root/downloads/

编辑完成后测试一下


flexget --test execute

使用crontab设置Flexget刷新频率

查看Flexget的绝对路径


which flexget

假设Flexget的绝对路径为"/usr/local/bin/flexget",设置每2分钟频率刷新


crontab -e

添加


*/2 * * * * /usr/local/bin/flexget --cron execute

2分钟后查看状态


flexget status

有问题可以查看日志


cat ~/.config/flexget/flexget.log