Skip to content
Gan Zhaoyu edited this page Feb 27, 2018 · 15 revisions

AutoRemove-Torrents Wiki

欢迎使用 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
    - ...
  # 配置删种条件
  # ……

筛选种子

筛选种子用于配置该删种策略对哪一部分种子生效。

如果同时设置了 categoriestrackers,则种子的标签和Tracker需要同时存在于这两个列表中才会生效。

标签

all_categories

所有种子标签。如果这项为 true,则这个删种策略对所有的种子标签都有效。事实上该属性不需要单独设置,如果存在 categoriesall_categories 会自动认为是 false,否则为 true

categories

种子标签。该删种策略对这些标签的种子有效,每行一个。

excluded_categories

排除的种子标签。该删种策略对这些标签的种子无效,从而这部分种子不会因为这个删种策略而被删除,每行一个。

注意:Transmission客户端不支持标签,所以上面的设置不会生效。

Tracker

all_trackers

所有Tracker。如果这项为 true,则这个删种策略对所有的Tracker都有效。同 all_categories,本项属性也不需要单独设置。

trackers

Tracker。该删种策略对这些Tracker的种子有效,每行一个。

注意:此处只需填写Tracker的主机名,无需填写完整地址。

excluded_trackers

排除的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的种子的总大小,如果超出了上限,一部分种子会被删除,直到剩余的种子的总大小在上限以内。

limit

种子总大小上限,单位是吉字节(GB)。

action

种子总大小超出上限时要执行的操作,可以是以下值:

描述
remove-old-seeds 尽量删除旧的种子。
remove-new-seeds 尽量删除新的种子。
remove-big-seeds 尽量删除体积大的种子。
remove-small-seeds 尽量删除体积小的种子。
Clone this wiki locally