https://docs.qq.com/doc/DS25QZ3dGV3JGQ0lB

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

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

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

a1.PNG

需要使用的软件:


  • aria2

  • AriaNgGUI

  • gclone / rclone

  • Flexget(需要python3环境)


搭建教程:


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


1

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


安装完后返回信息


1


2


3


4


5


6


7

Aria2 简单配置信息:

 

IPv4 地址        : 127.0.0.1

IPv6 地址        : IPv6 地址检测失败

RPC 端口        : 6800

RPC 密钥        : 221d8645ddf44bc5953c

下载目录        : /root/downloads


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

对应填写Aria2 简单配置信息



a2.PNG


二、安装 gclone / rclone


1


2


3


4


5


6

#推荐 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教程

编辑自动上传脚本


1

nano /root/.aria2c/upload.sh


对应修改相关参数


1


2


3


4


5


6


7


8

# Aria2 下载目录

DOWNLOAD_PATH='/root/downloads'

 

# Rclone 配置时填写的网盘名(name)

DRIVE_NAME='Onedrive'

 

# 网盘目录。即上传目标路径,留空为网盘根目录,末尾不要有斜杠。

DRIVE_PATH='/DRIVEX/Download'



启动脚本


1

nano /root/.aria2c/aria2.conf


修改以下参数


1


2

# 下载完成后执行的命令

on-download-complete=/root/.aria2c/upload.sh


重启 Aria2


1


2


3


4

service aria2 restart

 

./aria2.sh

6


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


1


2


3


4


5


6

apt update

apt install python3-pip

pip3 install --upgrade pip

hash -d pip3

pip3 install --upgrade setuptools

pip3 install --ignore-installed flexget


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


1


2


3


4


5


6


7


8

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


1


2


3


4


5

cd

mkdir -p ~/.config/flexget

cd .config/flexget

touch config.yml

nano config.yml


config.yml格式


1


2


3


4


5


6


7


8


9

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/"


1


2


3


4


5


6


7


8


9

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/


编辑完成后测试一下


1

flexget --test execute


使用crontab设置Flexget刷新频率

查看Flexget的绝对路径


1

which flexget


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


1

crontab -e


添加


1

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


2分钟后查看状态


1

flexget status


有问题可以查看日志


1

cat ~/.config/flexget/flexget.log