当前系统Centos6.9当前python版本2.6.6
Transmission通过FlexGet工具实现RSS实时订阅自动下载
Transmission2.92编译安装过程可参考这篇文章:https://blog.whsir.com/post-1229.html
先修改Transmission配置(主要修改下面几项配置)
更多配置文件功能请参考这篇文章:https://blog.whsir.com/post-1182.html
vi /usr/local/transmission/settings.json
"download-dir": "/sdb/bt/downloads", 下载完成的保存路径 "incomplete-dir": "/sdb/bt/tmp", 未下载完成的保存路径 "incomplete-dir-enabled": true, 启用未下载完成的保存路径 "rpc-authentication-required": true, 远程控制验证,默认关闭 "rpc-password": "whsir", 默认密码这里是加密的,启动后会自动加密 "rpc-port": 9091, 网页GUI的端口号,可自行修改 "rpc-username": "whsir", 远程电脑登录网页GUI的用户名称 "rpc-whitelist": "127.0.0.1", 允许远程连接的IP地址白名单,支持通配符,多个IP以逗号分隔 "rpc-whitelist-enabled": false, 启用IP认证模式,如果启用,那么只能在白名单的地址才能连接
|-------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 7 8 9 | "download-dir": "/sdb/bt/downloads", 下载完成的保存路径 "incomplete-dir": "/sdb/bt/tmp", 未下载完成的保存路径 "incomplete-dir-enabled": true, 启用未下载完成的保存路径 "rpc-authentication-required": true, 远程控制验证,默认关闭 "rpc-password": "whsir", 默认密码这里是加密的,启动后会自动加密 "rpc-port": 9091, 网页GUI的端口号,可自行修改 "rpc-username": "whsir", 远程电脑登录网页GUI的用户名称 "rpc-whitelist": "127.0.0.1", 允许远程连接的IP地址白名单,支持通配符,多个IP以逗号分隔 "rpc-whitelist-enabled": false, 启用IP认证模式,如果启用,那么只能在白名单的地址才能连接 |
修改好transmission配置,启动transmission
transmission-daemon -g /usr/local/transmission
|---|------------------------------------------------| | 1 | transmission-daemon -g /usr/local/transmission |
接下来安装配置flexget
flexget要求需要Python 2.7, 3.3或更高版本
flexget官方说明地址:https://flexget.com/InstallWizard/Linux
python官方下载地址:https://www.python.org/ftp/python/
当前系统Centos6.9当前python版本2.6.6
所以想要安装flexget和Transmission插件需要先升级python版本
安装额外的软件包(特别注意,一定要yum安装sqlite-devel,不然在后面运行flexget check时会报错)
yum install -y bzip2-devel xz-libs sqlite-devel
|---|-------------------------------------------------| | 1 | yum install -y bzip2-devel xz-libs sqlite-devel |
下载安装编译python2.7.9版本(官方下载速度想哭,这里提供本地下载地址,如果在意的话自行去官方地址下载)
cd /usr/src wget https://down.whsir.com/downloads/Python-2.7.9.tar.xz tar xf Python-2.7.9.tar.xz cd Python-2.7.9 ./configure --prefix=/usr/local make make altinstall
|---------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 7 | cd /usr/src wget https://down.whsir.com/downloads/Python-2.7.9.tar.xz tar xf Python-2.7.9.tar.xz cd Python-2.7.9 ./configure --prefix=/usr/local make make altinstall |
为了我们能够方便的使用Python,我们需要设置系统变量或者建立软连接将新版本的Python加入到path对应的目录
删除老的python链接
rm -f /usr/bin/python
|---|-----------------------| | 1 | rm -f /usr/bin/python |
将新的链接过去
ln -sv /usr/local/bin/python2.7 /usr/bin/python
|---|-------------------------------------------------| | 1 | ln -sv /usr/local/bin/python2.7 /usr/bin/python |
查看下版本就是2.7.5了
python -V
|---|-----------| | 1 | python -V |
安装Python工具setuptools
cd /usr/src wget https://down.whsir.com/downloads/setuptools-1.4.2.tar.gz tar zxf setuptools-1.4.2.tar.gz cd setuptools-1.4.2
|---------|-------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 | cd /usr/src wget https://down.whsir.com/downloads/setuptools-1.4.2.tar.gz tar zxf setuptools-1.4.2.tar.gz cd setuptools-1.4.2 |
使用Python 2.7.5安装setuptools
python2.7 setup.py install
|---|----------------------------| | 1 | python2.7 setup.py install |
此时yum应该是不可用的,需要修复yum,找到yum位置,编辑yum配置文件
which yum
|---|-----------| | 1 | which yum |
将第一行 #!/usr/bin/python 改为 #!/usr/bin/python2.6
安装pip
curl https://bootstrap.pypa.io/get-pip.py | python2.7 -
|---|----------------------------------------------------------| | 1 | curl https://bootstrap.pypa.io/get-pip.py | python2.7 - |
安装flexget
pip2.7 install flexget
|---|------------------------| | 1 | pip2.7 install flexget |
如果提示Could not find a version that satisfies the requirement flexget (from versions: )
No matching distribution found for flexget 或连接中断了卡死了就在重复一次pip2.7 install flexget
总之就是不管什么原因没有执行完,都重复跑一次pip2.7 install flexget直到完成
最后完成大概是下图这个样子的
接下来安装
pip2.7 install transmissionrpc
|---|--------------------------------| | 1 | pip2.7 install transmissionrpc |
开始配置flexget
自己创建一个配置文件
注意:配置文件要遵循YAML语法,不能使用tab,要用空格来缩进,每个层级要用两个空格缩进
mkdir /etc/flexget cd /etc/flexget/ vim config.yml
|-------|----------------------------------------------------| | 1 2 3 | mkdir /etc/flexget cd /etc/flexget/ vim config.yml |
配置文件内容如下:
tasks:
whsir:
rss: http://bt.3dmgame.com/rss.php
template: default
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
PS:
accept_all:是过滤器插件,表示接受rss源中的所有项
whsir: 任务名
rss:订阅地址
template: default 载入设置好的模版
clean_transmission可以自动清除已完成的transmission任务,这里关闭掉,默认启用
当然你也可以设置邮件功能,更多插件说明查看官网:https://flexget.com/Plugins
配置好后通过命令验证flexget配置文件是否有错误,如果有错会指出错误在哪一行
flexget check
|---|---------------| | 1 | flexget check |
执行RSS测试,不会下载任何文件到硬盘
flexget --test execute
|---|------------------------| | 1 | flexget --test execute |
执行RSS ,执行完成后就可以在download对应目录中看到了
flexget execute
|---|-----------------| | 1 | flexget execute |
检查执行状态
flexget status
|---|----------------| | 1 | flexget status |
将flexget添加计划任务
先确认flexget位置
which flexget
|---|---------------| | 1 | which flexget |
我这里flexget路径是/usr/local/bin/flexget
添加计划任务
crontab -e
*/1 * * * * /usr/local/bin/flexget -c /etc/flexget/config.yml execute
这样每分钟都会监控RSS,一旦有更新就会自动下载到指定的目录中
更多关于Transmission请看:https://blog.whsir.com/post-category/linux/transmission