菜单

更新机制

相关源文件

本页面详细介绍了维护和更新 ngosang/trackerslist 仓库中 tracker 列表的自动化系统。有关过滤和黑名单的具体信息,请参阅 黑名单和过滤

概述

trackerslist 仓库使用一个自动化机器人,每日更新所有 tracker 列表。此自动化更新机制是项目的一个核心组成部分,确保所有提供的 BitTorrent tracker 列表保持最新、可靠且分类正确。

更新流程执行多项关键功能

  • 从多个来源收集公开的 tracker 数据
  • 验证 tracker 的功能和响应能力
  • 过滤重复和失效的 tracker
  • 按协议(UDP、HTTP、HTTPS、WebSocket、I2P)对 tracker 进行分类
  • 按性能指标对 tracker 进行排序
  • 生成多个专门的输出列表

来源:README.md12-29

更新频率和计划

更新流程每天自动运行一次。每个更新周期

  1. 更新仓库中的所有 tracker 列表文件
  2. 更新 README.md 文件中的“最后更新”日期
  3. 更新 README.md 中的 tracker 计数统计信息

这种每日的节奏确保用户始终能够访问最新、可用的 tracker 列表,同时兼顾了服务器负载的考虑。

来源:README.md3-12

tracker 收集过程

tracker 数据收集流程

更新机制从多个来源收集 tracker 数据

  1. 现有 tracker:重新验证之前更新中的所有 tracker
  2. 用户提交:通过 GitHub issues 提交的新 tracker
  3. 公开来源:其他公开的 tracker 列表和公告

在进入验证管道之前,每个潜在的 tracker URL 都会被标准化,以确保格式一致。

来源:README.md35-36

验证和测试

tracker 验证过程

每个 tracker 都经过严格的验证过程

  1. 连接性检查:验证 tracker 是否可达
  2. 协议验证:确认 tracker 支持所宣传的协议(UDP、HTTP、HTTPS、WebSocket 或 I2P)
  3. 延迟测量:记录响应时间以辅助排序
  4. Peer 交换测试:验证 tracker 是否能正确交换 peer 信息

任何测试失败的 tracker 将在未来的更新周期中恢复正常功能之前,从更新后的列表中排除。

来源:README.md27

过滤和去重

过滤机制

为了维护高质量的列表,采用了多种过滤机制

  1. 域名去重:移除具有相同域名的 tracker
  2. IP 去重:移除指向同一 IP 地址的不同域名
  3. 响应过滤器:排除持续无响应的 tracker
  4. 黑名单过滤器:应用 blacklist.txt 文件中的过滤规则
  5. Cloudflare IP 过滤器:对于基于 IP 的列表,移除无法作为直接 tracker 的 Cloudflare IP

blacklist.txt 文件通过防止具有不同格式或子域名的重复条目,在维护列表质量方面起着至关重要的作用。

来源:README.md28-32

排序方法

tracker 质量评估与排序

在验证和过滤之后,tracker 将根据综合评分进行排序,该评分 derived from

  1. 正常运行时间:tracker 运行的时间百分比
  2. 响应延迟:tracker 响应请求的速度
  3. Peer 质量:所提供 peer 信息的评估
  4. 历史表现:长期可靠性记录

此排序确保最可靠、最快的 tracker 出现在每个列表的顶部,“最佳”列表仅包含表现最佳的 tracker。

来源:README.md29

输出生成

输出文件生成过程

更新机制生成多个不同的输出文件

文件类型文件名描述条目计数
所有 Trackertrackers_all.txt所有协议的所有 tracker约 118 个 tracker
最佳 Trackertrackers_best.txt基于质量指标的最佳 tracker20 个 tracker
UDP Trackertrackers_all_udp.txt仅 UDP 协议 tracker约 50 个 tracker
HTTP Trackertrackers_all_http.txt仅 HTTP 协议 tracker约 54 个 tracker
HTTPS Trackertrackers_all_https.txt仅 HTTPS 协议 tracker约 14 个 tracker
WebSocket Trackertrackers_all_ws.txt仅 WebSocket 协议 tracker约 6 个 tracker
I2P Trackertrackers_all_i2p.txt仅 I2P 协议 tracker约 6 个 tracker
所有基于 IP 的trackers_all_ip.txt所有带 IP 地址的 tracker约 77 个 tracker
最佳基于 IP 的trackers_best_ip.txt最佳带 IP 地址的 tracker20 个 tracker

对于基于 IP 的列表,域名将被解析为 IP 地址。由于移除了 Cloudflare IP 以及某些域名无法解析,这些列表可能较短。

来源:README.md14-32

完整更新工作流

自动化更新流程工作流

完整更新流程遵循此工作流

  1. 初始化:自动化流程开始每日更新周期
  2. 收集:从所有来源收集 tracker 候选
  3. 验证:测试每个 tracker 的功能
  4. 过滤:移除重复和失效的 tracker
  5. 排序:根据性能指标对 tracker 进行排序
  6. 分类:按协议对 tracker 进行分组
  7. 输出生成:创建各种列表文件
  8. 仓库更新:将更改提交到 GitHub 仓库
  9. README 更新:更新统计信息和时间戳
  10. 完成:更新流程结束,准备下一个周期

此自动化工作流可确保一致、可靠的更新,且只需最少的手动干预。

来源:README.md12-27

分发渠道

仓库和分发架构

更新流程完成后,更新后的 tracker 列表将通过多种分发渠道提供

分发渠道访问格式目的
GitHub 原始文件直接仓库 URL主要访问方式
GitHub Pages镜像站点替代访问点
jsDelivr CDNCDN 优化 URL更快的全球访问

这种多渠道分发确保了高可用性,并为用户提供了基于其网络条件和潜在地区限制的选择。

来源:README.md14-24

总结

自动化更新机制是 ngosang/trackerslist 项目的基石,确保所有列表保持最新、可靠且分类正确。通过每日更新、全面的验证、智能的过滤和基于性能的排序,该系统为 BitTorrent 社区提供了始终高质量的 tracker 列表。

有关系统特定方面的更多详细信息,请参阅