FlexGet 自动 PT 下载设置
家里网络可连接性较差,挂的 PT 一直没有上传,就尝试在 VPS 上配置远程 PT 下载,这里记录下在 Ubuntu 18.04 VPS 上使用 FlexGet 自动下载 PT 站资源的设置。
前置软件包安装
安装 PT 下载客户端
PT 下载客户端推荐使用 Transmission 或 qBittorrent,据说 Transmission 更适合保种,qBittorrent 适合下载新/热种赚上传。
Transmisson
Transmisson 使用以下命令安装:
1 | sudo apt update |
安装后配置文件位于:/etc/transmission-daemon/settings.json
,其详细配置信息可见 官方 Wiki,编辑该配置文件,主要需要修改的项目如下:
1 | { |
然后执行 service transmission-daemon start
就可以开启 Transmission 后台服务,其 Web 管理服务的默认端口为 9091
,浏览器输入 http://<yourVpsIP>:9091
就可以通过 Web 管理界面远程控制 VPS 上的 Transmission,默认提供的 Transmission RPC 界面较简陋,可以额外安装第三方开源的 Transmission Web Control (TWC) 作为替换。进入 Web 管理界面后可自行修改其他设置选项。
qBittorrent
Ubuntu 官方源提供的 qBittorent 版本较旧,部分 PT 站点不支持使用旧版本,可以使用 qBittorrent 官方 PPA 安装最新的稳定版本:
1 | sudo add-apt-repository ppa:qbittorrent-team/qbittorrent-stable |
运行 qbittorrent-nox -d
即在后台运行 qBittorrent,其 Web 管理服务默认端口为 8080
,默认用户名为 admin
,默认密码为 adminadmin
,浏览器输入 http://<yourVpsIP>:8080
进入 Web 管理界面后可以修改这些内容及其他设置。
FlexGet 设置
下载 PT 站点较新的内容可以较快获得上传量,但每次都手动添加也较麻烦,使用 FlexGet 可以利用 PT 站点提供的 RSS 订阅实现自动下载最新的资源以及删除旧的内容。
FlexGet 安装
FlexGet 基于 Python 实现,执行以下命令安装:
1 | sudo apt install python3 python3-pip |
使用 Transmission 还需要安装 transmission-rpc
用于 FlexGet 和 Transmission 的交互:
1 | pip3 install transmission-rpc |
FlexGet 配置
FelxGet 的配置文件位于 ~/.config/flexget/config.yml
。先看官方的 配置指南,我的配置文件如下:
1 | # 这里关闭 schedules 功能,后续使用 crontab 来实现定时执行 |
FlexGet 测试执行
防止配置文件错误导致的错误执行,可以使用 --test
选项参数来测试执行,通过其输出可以判断是不是想要执行的。
1 | flexget --test execute --tasks frds |
防止 FlexGet 第一次下载时下载 rss 列表中的全部种子,对 execute
命令使用 --learn
命令选项参数 将当前 rss 列表的种子标记为 seen
:
1 | flexget execute --learn --tasks frds |
自动清理 qBittorrent 的种子和数据
FlexGet 目前还没有读取 qBittorrent 种子列表的插件,所以无法直接清理种子和下载的文件,若有此需要,可以使用 autoremove-torrents
工具来实现,具体详见其 官方文档。我使用 qBittorrent 时配置的 config 如下:
1 | # ~/.config/autoremove-torrents/config.yml |
在该配置文件所在目录执行 autoremove-torrents --view
可以测试执行而不真正删除种子及数据。
定时执行任务
运行 flexget execute --task frds
即立刻执行一次 frds
任务,要实现定时自动执行相关任务,可使用 cron
来实现。
运行 crontab -e
来编辑 crontab 实现 定时执行任务,我编辑的内容如下:
1 | # 开机自启 qBittorrent |
关于 FlexGet 更多详细用法可见 官方 Cookbook。