qBittorrent配合Flexget实现RSS订阅自动下载

发布于 2019-09-06  99 次阅读


操作系统:Ubuntu16.04 LTS 64bit
Flexget官网:https://flexget.com/

qBittorrent是最近比较流行的客户端。由于WebUI没有RSS订阅功能,所以我们需要借助Flexget来实现RSS订阅自动下载种子,然后通过监控目录的方式达到自动添加种子至客户端下载的目的。

1、安装、更新pip并升级至最新的setuptools

apt-get install python-pip
pip install --upgrade pip
pip2 install --upgrade setuptools

2、Flexget的安装与配置

pip2 install flexget
#安装flexget
mkdir /root/.flexget
#创建配置目录
mkdir /path/of/your/torrents/download-dir/
#创建种子下载目录
vi ~/.flexget/config.yml
#创建并编辑flexget的配置文件config.yml

配置文件示例:

#使用前请将注释删除以免出问题。#后面带汉字的就是注释
#如果不想启用 Web-UI 则删除本段代码
web_server:
  bind: 0.0.0.0
  port: 6688 #web-ui的监听端口
#  ssl_certificate: '/etc/ssl/private/myCert.pem' #SSL证书位置,启用https的话,把前面的#删除
#  ssl_private_key: '/etc/ssl/private/myKey.key' #SSL证书位置,启用https的话,把前面的#删除
  web_ui: yes #启用web-ui
  run_v2: yes #启动 V2 版本

#定时器-定时抓取一次指定任务的rss,不需要自动化就删除本段,更多查看 https://flexget.com/Plugins/Daemon/scheduler
schedules:
  - tasks: '*' #每3分抓取所有任务
    interval:
      minutes: 3
  - tasks: [task_a, task_b] #每日 22:30和23:30 抓取 task_a和task_b
    schedule:
      minute: "*/30"
      hour: 22,23

#任务列表
tasks: #保持不变
  myrssfeed: #任务名称,改冒号前的。
    rss: http://mysite.com/myfeed.rss # rss 地址
    accept_all: no #是否全部下载,不想过滤就yes然后把downlod之前的全删了
    if: #启用 if 条件过滤
      - "'ABC' in title": accept #标题含有 ABC 就下载
      - "'DEF' in title": reject #标题含有 DEF 就不下载
    content_size: #启用大小过滤
      min: 2048 # 文件小于 2048M 就不下载
      max: 9999 # 文件大于 9999M 就不下载
      strict: no #不要动
    download: /path/of/your/torrents/download-dir/ #flexget 的种子下载目录
#下面是 deluge 通过 rpc 方式自动添加种子下载,transmission也是类似的,自行搜索下。
    deluge:
      host:localhost #不要改
      port: 13222 #填 daemon 监听的端口
      user: localclient #不要改
      pass: dsad5a6s5d6as #填密码密文
      #执行 cat ~/.config/deluge/auth 会获得localclient:446d2cd96bfc7e15003fab1f11e9238b94671521:10
      #其中 446d2cd96bfc7e15003fab1f11e9238b94671521 就是密码密文

注意:必须遵循YAML格式,即:子项比所属父项多缩进两个半角空格

flexget的更多功能请参考
插件列表:https://flexget.com/Plugins
IF判断:https://flexget.com/Plugins/if

保存好后,测试一下是否正常运行

flexget --test  --loglevel debug execute
1、如果提示 Did not pass schema validation
请检查格式是否正确,一般为缩进错误。请记住,必须遵循YAML格式,即:子项比所属父项多缩进两个半角空格。

2、由于 content-size 参数需要分析torrent种子文件,所以在test时不生效。具体请在执行时查看。

测试正常后。我们开始配置qBittorrent的监控目录:

在Web-UI的Downloads选项卡中设置好监控目录的路径后,点击后面的加号添加,然后保存即可。

回到终端,执行以下命令以守护进程模式运行flexget

flexget daemon start -d

`回到终端,执行以下命令以守护进程模式运行flexget

flexget daemon start -d
修改配置文件后可以执行以下命令重新加载

flexget daemon reload-config
接下来开始为Flexget设置开机启动

vi /etc/rc.local
编辑rc.local文件,在exit 0前一行添加以下内容并保存

flexget daemon start -d
重启后,在终端内输入以下命令,有flexget的进程,就说明启动成功了。

ps -aux | grep flexget
如果你启用了Web-UI,那么执行以下命令为Web-UI设置密码

flexget web passwd password
#password为要设置的密码,自行修改,有密码强度的要求。
flexget daemon start
#获取Web-UI的访问地址`


江间波浪兼天涌,塞上风云接地阴