一个使用 Java 语言的 BTN 实现与集成的 BitTorrent Tracker。
Warning
Sparkle 目前处于实验性状态,不建议部署生产环境使用
目前仍有部分功能缺失,正在努力完成
- 高频操作内存缓存,目前仍在直接查询 PostgreSQL 数据库
- 前端页面
- 高级检索功能
- ...
Sparkle 是一个遵循 BTN 规范 的官方 Java 实现。能够接收 PBH 等 BTN 兼容客户端的数据上报,并下发云规则。除此之外,Sparkle 也是首个使用 Java 语言的支持 Scrape 和紧凑压缩格式 Peers 响应的 Bittorrent Tracker。
- Java 21 或者更高版本
- PostgreSQL
- Redis
- Github OAuth Application
目前 Sparkle 仍处于早期开发阶段,我们暂时不提供部署教程。
- BTN: Submit Peers Ability (Async)
- BTN: Submit Bans Ability (Async)
- BTN: Rules Ability (Async)
- BTN: Reconfigure Ability (Async)
- 客户端特征发现
- 操作与行为审计
- 自动生成不可信 IP 规则 (从 BanHistory)
- 自动生成过量下载规则 (从 Snapshot)
- 与 Github 仓库同步生成的规则
- BitTorrent Tracker (HTTP/HTTPS),支持 Scrape 协议,支持 BEP 0024,并可持久记录下载次数,支持响应缓存,并与客户端特征发现异步集成
- BEP-3
- BEP-23
- BEP-24
- BEP-31
- BEP-48
- Snapshot/Ban 记录搜索