使用qbittorrent和autoremove-torrents实现PT刷流
什么是PT刷流?PT刷流实际上就是普通的PT下载和做种,但它利用了服务器连接性强、带宽大的特点,在种子刚刚发布时,就立刻下载文件,然后向其他客户端分发内容,从而获得大量上传。在种子热度下降后或者在出现新种且磁盘空间不足时,停止做种,删除文件。
刷流所需的服务器硬盘空间并不大,几百G、1TB的硬盘都可以,这取决于你所刷的PT站的规则。如果PT站有24小时HR(hit&run),那就表示你下载下来的文件需要保留24小时,由此你可能需要500G的硬盘,从而让种子能够持续做种24小时。HR时间越长,所需的硬盘大小更大,不过这也取决于PT站发种的大小和速度。
对于刷流这一概念笔者就不多做介绍了,接下来进入到操作流程。
qbittorrent 安装与运行
在windows中安装qb非常简单,从官网或软件站下载qb运行即可。但在linux服务器上,则有一些差别。众所周知,linux服务器是没有界面的,这样会节省很多内容,而qb有一种WebUI版本,可以在没有界面的环境运行。这次,我们就来在debian上安装WebUI模式的qb。
通过APT命令安装 qBittorrent-nox
apt install qbittorrent-nox
创建Systemd配置文件
安装完qBittorrent-nox后,并不会自动创建进程守护服务,需要我们自己来创建。
vim /etc/systemd/system/qbittorrent-nox.service
在文件中输入以下内容,端口号请自行修改:
[Unit]
Description=qBittorrent Command Line Client
After=network.target
[Service]
Type=forking
User=root
Group=root
UMask=007
ExecStart=/usr/bin/qbittorrent-nox -d --webui-port=8080
Restart=on-failure
[Install]
WantedBy=multi-user.target
初始化守护进程
systemctl daemon-reload
启用并启动 qBittorrent-nox
systemctl enable qbittorrent-nox
systemctl start qbittorrent-nox
然后检查服务的运行状态
systemctl status qbittorrent-nox
如果Active状态是active (running),则表示启动成功
● qbittorrent-nox.service - qBittorrent Command Line Client
Loaded: loaded (/etc/systemd/system/qbittorrent-nox.service; enabled; preset: enabled)
Active: active (running) since Fri 2024-09-13 12:06:02 CST; 2 days ago
Process: 247514 ExecStart=/usr/bin/qbittorrent-nox -d --webui-port=8080 (code=exited, status=0/SUCCESS)
Main PID: 247517 (qbittorrent-nox)
Tasks: 19 (limit: 5241)
Memory: 3.8G
CPU: 5h 32min 42.453s
CGroup: /system.slice/qbittorrent-nox.service
└─247517 /usr/bin/qbittorrent-nox -d --webui-port=8080
访问 qBittorrent Web UI 并初始化
访问服务器的IP,记得添加端口号,这里笔者用的是8080
https://xxx.xxx.xxx.xxx:8080
默认的用户名和密码是:
username: admin
passowrd: adminadmin
修改语言为中文:
点击 Tools
> Options
> Web UI
调整语言为中文。
出于安全考虑,请务必更改密码,同样在Web UI
中,一般来说,调整密码即可。
RSS 设置
PT站都会有RSS订阅,在qb中添加你要刷的站的rss订阅,然后启用rss自动下载,记得创建一个下载规则。
Autoremove Torrents 安装与运行
autoremove torrents 是一个可以根据规则自动删除种子的工具,我们可以利用这个工具自动化地清除特定种子。
这个工具基于python,支持qBittorrent/Transmission/μTorrent/Deluge。
Autoremove Torrents 安装与调试
autoremove torrents 可以通过pip安装,经过笔者测试,需要使用pipx进行安装。
pipx install autoremove-torrents
autoremove torrents 需要一个config.yml
配置文件,它默认会使用当前工作目录下的config.yml
。
因此笔者建议创建一个专门的文件夹,用来存放config.yml
,笔者是在/root/qb/
文件夹下。
此config.yml
表示当剩余空间小于10GB时,删除最不活跃的种子。
vim /root/qb/config.yml
my_task:
client: qbittorrent
host: http://127.0.0.1:8080
username: admin
password: adminadmin
strategies:
strategy1:
all_categories: true
free_space:
min: 10
path: /root
action: remove-inactive-seeds
delete_data: true
请注意,此策略适用于没有HR的站,否则,你应该使用删除旧种子策略或者最长做种时间策略。具体策略请查看配置
例如:
删除做种时间超过259200秒的种子:
my_task:
client: qbittorrent
host: http://127.0.0.1:8080
username: admin
password: adminadmin
strategies:
strategy1:
remove: seeding_time > 259200
delete_data: true
尽量删除旧的种子
my_task:
client: qbittorrent
host: http://127.0.0.1:8080
username: admin
password: adminadmin
strategies:
strategy1:
all_categories: true
free_space:
min: 10
path: /root
action: remove-old-seeds
delete_data: true
调整好配置后,可以通过下面的命令进行测试,-v
的含义是运行并查看有哪些种子可以删除,但不要真正地删除它们。
autoremove-torrents -c /root/qb/config.yml -v
查看日志没问题后,就可以去除-v
正式运行一次。
Autoremove Torrents 定时运行
由于这个工具运行一次就会结束,因此需要使用定时调度工具crontab
定时运行它。
这里,笔者设置为1分钟运行一次。
crontab -e
*/1 * * * * autoremove-torrents -c /root/qb/config.yml
这样,你就可以愉快的刷PT了。