-
Notifications
You must be signed in to change notification settings - Fork 121
Home
欢迎使用 AutoRemove-Torrents!
关于安装教程和其它信息,请查看 项目首页。
AutoRemove-Torrents脚本程序通过客户端的WebUI获取种子的信息。一些客户端不提供某些种子属性,因此这些种子属性在本程序中也不被支持。
AutoRemove-Torrents支持的客户端和种子属性如下:
类别 | Tracker | 分享率 | 添加时间 | 做种时间 | 种子大小 | |
---|---|---|---|---|---|---|
qBittorrent | √ | √ | √ | √ | √ | √ |
Transmission | √ | √ | √ | √ | √ | |
μTorrent | √ | √ | √ | √ |
python3 main.py [-c <file_path>] [-t <task_name>] [-v]
参数 | 参数 | 说明 |
---|---|---|
-c <file_path> | --conf=<file_path> | 指定配置文件的路径。 |
-t <task_name> | --task=<task_name> | 执行指定的任务。若没有设置此参数,所有的任务都会被执行。 |
-v | --view | 显示可以删除的种子,但是不删除它们。 |
AutoRemove-Torrents利用配置文件来保存删种策略。因此,为了让脚本程序按照你的想法去工作,了解如何编写配置文件是很有必要的。
YAML
。YAML是一个可读性高,用来表达数据序列的格式。
./config.yml
。通过 -c
或 --conf
参数,可以自己指定配置文件的路径。
# 第一个任务
task1: # 任务名称
# 登录信息
client: qbittorrent # 客户端类型
host: http://127.0.0.1:8080 # WebUI地址
username: admin # 登录用户名
password: adminadmin # 登录密码
# 删种策略
strategies:
strategy1: # 策略名称
all_categories: true # 本策略对所有种子标签生效
all_trackers: true # 本策略对所有Tracker生效
ratio: 3 # 分享率上限
delete_data: true # 同时删除数据
# 第二个任务
task2: # 任务名称
client: transmission # 客户端类型
host: http://127.0.0.1:9091 # WebUI地址
username: transmission # 登录用户名
password: transmission # 登录密码
strategies:
strategy1: # 策略名称
categories: # 本策略针对的种子标签
- IPT
ratio: 1 # 分享率上限
seeding_time: 1209600 # 做种时间上限
delete_data: true # 同时删除数据
strategy2: # 策略名称
all_categories: true # 本种子对所有种子标签生效
excluded_categories: # 排除的种子标签
- IPT
seeding_time: 259200 # 做种时间上限
delete_data: true # 同时删除数据
显然,一个配置文件可以设置多个任务,每个任务对应一个不同的客户端。每个任务块的结构如下:
任务名称只要起一个自己喜欢的名字即可。任务名称的左边不要有空格,以表示一个任务对象的开始。
登录信息包括客户端类型、主机地址、用户名和密码,用于登录客户端的WebUI界面。
删种策略通过键名 strategies 引出,以表示后面的内容为删种策略。针对不同分类、不同Tracker的种子,一个任务可以有多个删种策略,分别对不同的种子进行管理。
示例如下。登录信息应该包含以下内容:
client: qbittorrent
host: http://127.0.0.1:8080
username: admin
password: adminadmin
要登录的客户端的类型,此处可以填写 qbitorrent、transmission 或 uTorrent。
客户端的 WebUI 的完整访问地址,包括套接字(http:// 或 https://),主机地址和端口号。
登录到 WebUI 的用户名。
登录到 WebUI 的密码。
一个完整的删种策略例子如下:
# 筛选种子
all_categories: false
categories:
- Category1
- Category2
- ...
- CategoryN
excluded_categories:
- CategoryA
- CategoryB
- ...
all_trackers: false
trackers:
- tracker1.com
- tracker2.com
- ...
- trackerN.com
excluded_trackers:
- trackerA.com
- trackerB.com
- ...
# 配置删种条件
# ……
筛选种子用于配置该删种策略对哪一部分种子生效。
如果同时设置了 categories
和 trackers
,则种子的标签和Tracker需要同时存在于这两个列表中才会生效。
所有种子标签。如果这项为 true
,则这个删种策略对所有的种子标签都有效。事实上该属性不需要单独设置,如果存在 categories
,all_categories
会自动认为是 false
,否则为 true
。
种子标签。该删种策略对这些标签的种子有效,每行一个。
排除的种子标签。该删种策略对这些标签的种子无效,从而这部分种子不会因为这个删种策略而被删除,每行一个。
注意:Transmission客户端不支持标签,所以上面的设置不会生效。
所有Tracker。如果这项为 true
,则这个删种策略对所有的Tracker都有效。同 all_categories
,本项属性也不需要单独设置。
Tracker。该删种策略对这些Tracker的种子有效,每行一个。
注意:此处只需填写Tracker的主机名,无需填写完整地址。
排除的Tracker。该删种策略对这些Tracker的种子无效,每行一个。
删种条件决定了由上文筛选出来的种子在什么时候会被删除。多个删种条件之间为逻辑或关系,即只要种子的某个属性符合任意一个删种条件,该种子就会被删除。
比如下面的例子:
strategies:
strategy1: # 策略名称
categories: # 本策略针对的种子标签
- IPT
ratio: 1 # 分享率上限
seeding_time: 1209600 # 做种时间上限
delete_data: true # 同时删除数据
strategy2: # 策略名称
all_categories: true # 本种子对所有种子类别生效
excluded_categories: # 排除的种子类别
- IPT
seeding_time: 259200 # 做种时间上限
delete_data: true # 同时删除数据
strategy1
的含义:对于标签为IPT的种子,当分享率超过1或做种时间超过1209600秒(2周)时就会被删除;未删除的种子的分享率未超过1且做种时间未超过2周。
strategy2
的含义:除了标签为IPT的所有种子,当做种时间超过259200秒(3天)时就会被删除;未删除的种子的做种时间未超过3天。
ratio: 1
分享率上限。当正在做种的种子的分享率超过此上限时,种子会被删除。
处于下载、暂停等非做种状态的种子不受此规则影响,即不会被删除。
create_time: 86400
这里的添加时间指的是种子添加到客户端之后到现在所经过的时间,单位是秒。
当种子的添加时间超过此上限时,无论种子处于何种状态,种子都会被删除。
seeding_time: 86400
做种时间上限,当正在做种的种子的做种时间超过此上限时,种子会被删除。
正在下载、暂停等非上传状态的种子不会被删除。
seed_size:
limit: 500
action: remove-old-seeds
计算指定标签和Tracker的种子的总大小,如果超出了上限,一部分种子会被删除,直到剩余的种子的总大小在上限以内。
种子总大小上限,单位是吉字节(GB)。
种子总大小超出上限时要执行的操作,可以是以下值:
值 | 描述 |
---|---|
remove-old-seeds | 尽量删除旧的种子。 |
remove-new-seeds | 尽量删除新的种子。 |
remove-big-seeds | 尽量删除体积大的种子。 |
remove-small-seeds | 尽量删除体积小的种子。 |