现有的PT站基本都有RSS订阅功能,他可以按照你所设定的条件进行自动下载并上传,比如HDC这个站除了可以生成RSS外,还有个“下载框”的功能,你只需一次点击,即可自动开始下载,无须再下载-添加-确认等繁琐操作。

Transmission 本身不并支持RSS订阅,因此需借助第三方插件 FlexGet 。本教程不再涉及Transmission安装,具体可参阅前文 Transmission 一键安装包

一、FlexGet 安装

详细安装方法,可参阅FlexGet官方教程 Installing on Linux ,有ROOT权限和没有ROOT权限的安装步骤是不一样的,下面以有ROOT权限为例。

1.1 安装Python

检查Python版本,支持Python 2.6.x - 2.7.x,不支持Python 3

python -V

如果没有则安装Python

yum -y install python2

1.2 安装easy_install

easy_install 工具可以更简便的安装python模块。

yum -y install python-setuptools

1.3 安装FlexGet

easy_install flexget

1.4 验证FlexGet

查看FlexGet版本,验证是否安装成功。

flexget -V

1.5 安装TransmissionRPC

若想要FlexGet支持Transmission,必须安装TransmissionRPC库文件。

easy_install transmissionrpc

二、FlexGet 设置

详细配置方法,可参阅FlexGet官方教程 Configuration

Flexget 的配置文件位于 ~/.flexget/config.yml

2.1 注意事项

  • 严格的缩进要求,必须是2个空格的倍数,不能使用tab
  • 插件要在同一缩进级别,例如(rss, series, download etc),个别插件允许在在别的插件里面。
  • 如果文本值包含{} []%:或者数字,必须加单引号。

2.2 编写配置文件

mkdir -p ~/.flexget/
wget http://blog.wangyan.org/download/conf/config.yml -P ~/.flexget/

https://imgcdn.wangyan.org/f/flexget_config.jpg

第1行:tasks是一个顶层容器,表示一个任务,冒号结束。
第2行:空两格,定义这个任务名称例如HDChina,冒号结束。
第3行:空四格,在HDChina指定一个具体的rss地址
第4行:accept_all是过滤器,这里表示全部接受。
第4行:指定种子存放路径。
……

上图中使用了accept_all不设过滤条件,实际上FlexGet支持众多相当强悍的过滤插件,具体请查阅官方文档:Plugins#filter 。每个过滤插件,官方都有非常详细的介绍,这里不再重复。

关于transmission支持哪些参数,官方插件主页也有详细说明:transmission

2.3 初始化及测试

初始化 SQLite数据库文件,否则会出现“Not running database cleanup on manual run”提示。

flexget --db-cleanup

测试配置文件是否正确,这一步绝不能省略。

flexget --test

看到下图,则说明成功了。

https://imgcdn.wangyan.org/f/flexget_test.jpg

三、设置计划任务

“计划任务”意思就是让服务器隔一段时间自动运行一次 Flexget

3.1 自动下载

首先,确定 FlexGet 的绝对路径,命令如下:

which flexget

得到的结果是:/usr/bin/flexget
然后,编辑 crontab ,命令如下:(每5分钟检查一次)

*/5 * * * * /usr/bin/flexget --cron

3.2 自动删除

官方给出的方法是:

transmission-remote -l  | grep 100% | grep Done | awk '{print $1}' | xargs -n 1 -J % ./transmission-remote -t % -r

因为xargs 已经不支持-J这个参数了,可以换成下面方法:

for i in `transmission-remote --auth demo:demo-l | grep Stopped | awk '{print $1}' | grep -v ID`
do
    transmission-remote --auth demo:demo -t $i  --remove-and-delete > /dev/null 2>&1
done

注:关于自动删除这部分,我会在下篇文章详细讲解。-_-

*/3 * * * * /usr/bin/flexget --cron
* * * * * /bin/bash  /root/trans_cleanup.sh

参考资料:

via.https://blog.wangyan.org/bt-transmission-flexget/