Transmission+FlexGet 实现RSS自动下载
现有的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/
第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
看到下图,则说明成功了。
三、设置计划任务
“计划任务”意思就是让服务器隔一段时间自动运行一次 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
参考资料:
- http://flexget.com/wiki/InstallWizard/Linux
- http://flexget.com/wiki/Configuration
- http://flexget.com/wiki/Plugins#filter
- http://flexget.com/wiki/Plugins/transmission
- http://sharing.bz/148
via.https://blog.wangyan.org/bt-transmission-flexget/