玩转 Buffalo LS-XL 之 FlexGet 实现 RSS 自动下载
  • 分类:Linux
  • 发表:2013-03-26
  • 围观(3,048)
  • 评论(0)

参考:
1. http://nas1.cn/thread-24224-1-1.html

2. http://wangyan.org/blog/transmission-flexget.html

上一篇装好了 Transmission,下面说说 RSS 订阅下载。现在很多 PT 站都提供 RSS 订阅下载,只要点一下鼠标,就会实现自动下载。而不用下载种子-打开 PT 管理端-添加种子 诸如此类繁琐的工作。上一篇说过,Transmission Remote 这个 Windows 上的管理器支持 RSS 订阅,但是这就要求电脑 24小时开机,未免和我们低碳的诉求不相符。FlexGet 是一个可以通过订阅 RSS 自动下载种子的软件,配合 Transmission 的目录监视监视功能,就可以实现 RSS 自动下载 PT 了。

工作目录是 /mnt/disk1/tmp/

1、安装python及工具

cd /mnt/disk1/tmp

ipkg install python27 py27-setup

toolseasy_install-2.7 pip

2、安装 feedparser

mkdir /tmp2

export TEMP=/tmp2

/opt/local/bin/pip install feedparser

参考的教程是这样的,但是我安装 feedparser 的时候,我遇到了麻烦。feedparser 的下载地址是  https://pypi.python.org/simple/feedparser/,pip 会自动在这个网址下面找最新版,但是我的 NAS 死活无法从 https:// 开头的地址下载,报错:

Could not fetch URL https://pypi.python.org/simple/feedparser/: There was a problem confirming the ssl certificate: <urlopen error [Errno 1] _ssl.c:504: error:0D0890A1:asn1 encoding routines:ASN1_verify:unknown message digest algorithm>

我只能手工用浏览器在这个地址里找最新版本下载回来(文件名 feedparser-5.1.3.tar.gz),再传到 /mnt/disk1/tmp/ 目录里,用这条命令安装:

/opt/local/bin/pip install ./feedparser-5.1.3.tar.gz

4.安装 flexget

/opt/local/bin/pip install flexget

同样的,pip 工具无法直接下载,需要手工把 FlexGet-1.0.3372.tar.gz 下载回来,传到 tmp 目录,手工安装,问题是,这个 flexget 的依赖包多大 14 个!安装时会提示无法下载的就是,每一个都需要手工下载、上传、安装,累死爹了!

总算装好了,检查一下

/opt/local/bin/flexget --check

/opt/local/bin/flexget -V

这两条命令我等了好久,没返回任何提示~~~就直接 Ctrl+C 了。

5.设置flexget

详细配置方法,可参阅FlexGet官方教程《Configuration》,这里简单说说,flexget 的配置文件在 /root/.flexget,下面的命令创建这个目录并且下载一个例子回来

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

然后用 WinSCP 打开这个 config.yml,照着改就是了,注意几点:

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

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

第六行开始可以都删掉,注意最后不能有空行,我就吃了这个亏~~~

6.初始化和测试

flexget 使用 sqlite 数据库,必须初始化一下,否则会报错

flexget --db-cleanup

flexget --test

看到下图类似的返回信息,就说明成功了

FlexGet 测试
FlexGet 测试

7. FlexGet 不会自己主动下载 RSS,必须用 cron 计划任务

编辑 /etc/cron/crontabs/root,在最后添加一行如下:(每10分钟检查一次)

*/10 * * * * /usr/bin/flexget --cron

完毕!

经过一天的测试观察,RSS 订阅对于机器性能要求蛮高的,特别是同时高强度下载的情况下,请谨慎开启。

共有 0 条评论

Top