FlexGet官网:https://flexget.com/

官方安装向导:https://flexget.com/InstallWizard/Linux

配置Flexget

flexget会在用户目录下的.flexget文件夹(~/.flexget)种查找配置文件(config.yml),装好后默认是没有的,需要自己建一个。

mkdir .flexget
cd .flexget
nano config.yml

要注意的是,由于配置文件是YAML格式,需要遵循YAML语法,也就是说,千万不要使用tab来缩进,一定要用空格。缩进是一定要遵守的,每个层级之间用两个空格缩进。
写配置文件的时候可以通过flexget --test execute来测试配置文件
基本的配置文件格式如下:

tasks:
  test 任务名:
    rss: http://mysite.com/myfeed.rss
    accept_all: yes
    download: /root/bt/torrents
    transmission:
    path: /root/bt/downloads

templates:
  default:
    transmission:
      host: localhost
      port: 9091
      username: admin
      password: "123456"
    clean_transmission:
      enabled: no

test 任务名是任务的名称可以自己随便起
rss是输入插件,flexget支持许多种输入方式,但是最常用的还是配合PT使用的RSS
accept_all是过滤器插件,表示接受rss源中的所有项
download是输出插件,表示将rss项中的种子文件存到指定的文件夹。
templates 是模板可以设置不同transmission客户端

配置好后检测、验证FlexGet配置

flexget check

检测FlexGet配置文件是否有错误,如果有错会指出错误在哪一行

flexget --test execute

执行FlexGet的RSS测试,不会下载任何文件到硬盘。

flexget execute

执行RSS,开始自动下载RSS订阅内容。

flexget status

检查FlexGet执行状态。

如果检测或者执行时有rejected,failed,别忘记执行文章末尾的清除命令

如果提示Transmissionrpc module version 0.11 or higher required.

执行 sudo pip install transmissionrpc

让Transmission自动添加种子任务

上一步我们用Flexget把种子已经下载到了/root/bt/中,现在我们需要让Transmission监视这个目录并自动添加任务
利用watch.sh脚本,可以实现。

定时任务

which flexget

确认FlexGet位置。例如路径是/usr/bin/flexget

crontab -e

添加计划任务(修改成上面Flexget查出来的路径)

* */1 * * * /usr/bin/flexget -c /root/.flexget/config.yml execute

每小时自动执行FlexGet,监控RSS订阅,一旦RSS有更新就会自动下载到指定的目录中。

*/1 * * * * /usr/bin/flexget -c /root/.flexget/config.yml execute

每分钟自动执行 FlexGet,监控RSS订阅,一旦RSS有更新就会自动下载到指定的目录中。

附:

flexget rejected list 列出所有被拒绝的条目

flexget rejected clear 清除所有被拒绝的条目

flexget failed list 列出所有失败的条目

flexget failed clear 清除所有失败的条目

更多用法说明查看官网:https://flexget.com/CLI