tico 发表于 2014-1-17 12:46:26

在NetGear RN102上使用Transmission+Flexget实现PT网站下载框自动下载

本帖最后由 tico 于 2014-1-17 15:18 编辑

本人在CHH论坛潜水多年,恰逢此次论坛与淘宝商家合作推广网件NAS(NetGear RN102),见此物做工配置价格都很适合我等有构建家庭数据中心需求又预算不足的玩家,于是赶紧入了一个。

使用下来感觉这个机器和群晖QNAP等高大上品牌自然是无法相比,但比起WD LIVEBOOK之流功能上要丰富很多,最大卖点就是做工用料和性价比,而且前端管理界面可安装的应用就已经不少,能折腾出很多玩法,十分适合新手玩家。

当然诚如CHH坛友netsuperman的帖子所说,当前固件版本BUG不少,这也是希望网件下一步能尽快改进的地方。

另,由于本人Linux基础为零,且RN102所安装的Debian似乎也非标准Linux,许多命令均不存在。而此文所依据的Flexget官方安装指导成文于2010年12月,对应型号也非ReadyNAS 102,系统版本更非当前的6.1.5(在继续前也请将你的RN102系统升级至此版本,否则不保证本文的可行性),所以在操作过程中与官方指导有不少不同之处,并且根据官方指导碰到了两个执行不下去的地方。因本人不明其中原理,为保证能达到最终结果而将整个过程都记录了下来,也请懂行的朋友更正指导。

此外这篇攻略也参考了网友WangYan的博文,在此表示感谢。

说了一串废话,下面进入正题。

这篇攻略的目标是使安装了自带Transmission的RN102能实现各PT网站的下载框/小货车自动订阅功能。相信各位玩过PT的玩家都知道下载框/小货车的好处,也知道在PC端的uTorrent等软件中如何设置。通过这个方法,可以让你不必远程登录你家中的Transmission就能添加下载任务。

首先第一步,你需要有一个PT帐号,且这个PT站有下载框/小货车功能,如下图本人TTG站界面所示。


没有满足这个条件的请出门左转去各大PT论坛求邀请吧…

第二步,开启RN102的SSH访问,这个在管理界面 设置-服务 中就能设置。

第三步,准备一个SSH终端软件,如Putty或本人所使用的Xshell。然后使用这个终端登录你的RN102。登录地址为你的RN102的IP,端口默认22不要改。连接后会先跳出一个询问窗口问你是否保存PASSKEY,选确定。然后输入用户名root,密码为你的RN102前端管理用户admin的密码。

以下步骤在SSH终端中操作。

首先执行以下两条命令设置系统软件环境。(每一行在SSH终端粘贴后按回车执行并等待最终执行结果,下同)

apt-get update
apt-get install libc6-dev gcc libtag1-dev libssl-dev zlibc zlib1g-dev
第二条命令执行后系统会提示有大文件包下载,是否要继续,这时请按y
提示信息如下:
After this operation, 53.7 MB of additional disk space will be used.
Do you want to continue ?

以上命令执行完毕后执行以下两段命令分别安装python和sqlite。这时会遇到无法执行的情况,因为系统会提示make命令不存在,但是建议将这两段命令都执行完以保证最终结果。有爱自己折腾的朋友也可以试试跳过这两段,看能否最终操作成功,请将结果跟帖告知,谢谢。

安装python:
cd /usr/src </FONT></SPAN><SPAN>(如系统提示无此目录则先执行mkdir /usr/src)
wget http://www.sqlite.org/sqlite-autoconf-3070400.tar.gz
tar xzf sqlite-autoconf-3070400.tar.gz
cd sqlite-autoconf-3070400
./configure --build=sparc-linux
make install
安装sqlite:
wget http://www.python.org/ftp/python/2.7.1/Python-2.7.1.tgz
tar xzf Python-2.7.1.tgz
cd Python-2.7.1
./configure --build=sparc-linux
make install
由于无法通过SSH后台命令行模式安装python,本人回到了RN102的前端管理界面,在可安装应用中找到了python并进行了安装。

在管理界面装完python后继续回到SSH客户端操作。

以下操作全部在SSH终端内完成

安装easy setup工具:
wget http://peak.telecommunity.com/dist/ez_setup.py
python ez_setup.py
安装flexget:
easy_install flexget
注意:easy_install命令会访问网络源并下载文件包进行安装,但不少源的响应速度极慢并有卡死现象。此时可以通过ctrl-c强制中断命令执行并重新运行easy_install命令,会使下载情况略有改善。easy_install会从最后一个未安装完的包自动继续,所以此方法可以放心使用。

安装transmission插件:
easy_install transmissionrpc

如有卡死情况可使用之前提到的方法。

命令最终执行完毕:


以上两个步骤所需时间视网络源连接情况而定,本人共花费了半小时多。

执行以下命令检查flexget版本:
flexget –V

版本号显示正确表明flexget已安装完成,下面开始进行flexget的配置工作。

先下载一个nano文本编辑器以方便操作:
apt-get install nano
然后确定flexget的安装目录:
which flexget
正常情况下应该显示 /usr/local/bin/flexget,如非此目录请在之后的操作中做相应修改。

配置系统定时任务:
crontab –e

这时会启动nano编辑界面,将以下内容复制粘贴
*/30 * * * * /usr/local/bin/flexget execute
这个样例是每隔30分钟执行一次“/usr/local/bin/flexget execute”命令,如前文提到的,如果flexget安装目录非/usr/local/bin,需要对此命令做相应修改。
此外定时计划可以视自身需求自定义,如将30改为10则表示每10分钟执行一次,而将30前的/去掉则表示在每个小时的30分执行。更多crontab配置格式可自行google。

定时任务编辑完毕后按ctrl-x退出nano,按y保存文件。第一次保存时直接按回车即可保存文件名,第二次编辑的话会有是否要覆盖当前文件的提示,下同。

配置flexget任务

mkdir ~/.flexget/rss/
nano ~/.flexget/config.yml
在nano编辑器中贴入以下内容:
tasks:
TTG_CART:
    rss: http://ttg.im/putrssmc.php?par=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    accept_all: yes
    download: ~/.flexget/rss/
    transmission:
      host: localhost
      port: 8181
      username: admin
      password: admin




解释:
第一行:固定格式不要改动
第二行:任务名称,可以自定义
第三行:PT站的下载框/小货车RSS订阅地址,可在PT站的相应页面查到,如本人之前TTG站图片所示。
第四行:表示接受这个RSS源内的所有订阅内容
第五行:种子文件保存地址,可自定义,记得修改之前mkdir命令相应参数(mkdir ~/.flexget/rss/)
第六行及以下:Transmission服务信息,host为服务IP,localhost表示本机地址(RN102自身IP),之后的端口用户名密码均为RN102目前版本的Transmission默认配置,如有变动请做相应更改。

清除flexget数据库中的无用数据:
flexget database cleanup

至此整个配置工作已经大功告成了,你可以到你的PT站添加一个种子到下载框/小货车,然后在SSH端执行flexget execute,看一下系统的反馈,以及到Transmission管理界面中查看当前任务,本人已经通过此方法成功地为Transmission添加了下载任务。



另外flexget的种子数据库是独立的,即使你将Transmission中的下载任务及种子文件删除了,也无法通过flexget再次将一个种子加入Transmission中。这时你需要使用flexget database reset命令清空整个flexget的数据库。执行此操作时系统会有提示需要你输入一个确认字符串才能继续,同时请注意删除下载框/小货车中已经在下载的种子,以免种子重复加入Transmission中。

声明:本文为本人原创攻略,禁止盗用,转载请注明出处!

tico 发表于 2014-1-17 16:37:22

自顶一下,求管理员射精加分

hj_charles 发表于 2014-1-18 16:06:07

进来学习一下谢谢分享

stevenjtx 发表于 2014-1-18 17:51:29

支持下。。。。。。。。。。。

wangwei19831210 发表于 2014-1-18 21:53:07

不错不错,谢谢楼主分享,这下又学了一招。
页: [1]
查看完整版本: 在NetGear RN102上使用Transmission+Flexget实现PT网站下载框自动下载