稍微搜索了一下,发现已经有现成的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 简单配置信息
- AriaNg WebGUI:https://github.com/mayswind/AriaNg/releases/tag/1.1.6
- AriaNgGUI 程序版:https://github.com/Xmader/aria-ng-gui/releases
二、安装 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