5 个版本

3.0.0-alpha.112023 年 9 月 18 日
3.0.0-alpha.102023 年 9 月 16 日
3.0.0-alpha.32023 年 7 月 10 日
3.0.0-alpha.22023 年 4 月 13 日
3.0.0-alpha.1 2023 年 3 月 19 日

#3 in #tracker

37 每月下载量

自定义许可

730KB
10K SLoC

Torrust Tracker

container_wf_b coverage_wf_b deployment_wf_b testing_wf_b

Torrust Tracker,是一个用 BitTorrent Tracker(一种使对等方匹配并收集统计信息的服务)编写的 Rust 语言axum(一个现代 Web 应用程序框架)编写的工具。 此 Tracker 致力于尊重既定标准(包括 正式其他)。

这是一个 Torrust 项目,正在积极开发中。它由社区支持,并由 Nautilus Cyberneering 赞助。

  • 我们为那些希望使用 DockerPodman 的人提供了 容器指南

主要特性

  • 高质量和现代 Rust 代码库。
  • 文档 由代码注释生成。
  • 全面单元和功能测试套件。
  • 在繁忙条件下的良好性能。
  • 支持 UDPHTTPTLS 套接字。
  • 原生的 IPv4IPv6 支持。
  • 私有和白名单模式。
  • Tracker 管理API。
  • 支持 newTrackon 检查。
  • 持久 SQLite3MySQL 数据库。

实现了 BitTorrent 增强提案(BEPs)

了解更多关于 BitTorrent 增强提案

  • BEP 03:BitTorrent 协议。
  • BEP 07:IPv6 支持。
  • BEP 15 : BitTorrent 的 UDP Tracker 协议。
  • BEP 23 : Tracker 返回压缩的 peer 列表。
  • BEP 27 : 私有种子。
  • BEP 48 : Tracker 协议扩展:Scrape。

入门指南

容器版本

The Torrust Tracker 已部署到 DockerHub,您可以使用以下命令立即运行演示:

Docker

docker run -it torrust/tracker:develop

请阅读我们的容器指南以获取更多信息。

Podman

podman run -it torrust/tracker:develop

请阅读我们的容器指南以获取更多信息。

开发版本

检出、测试和运行

# Checkout repository into a new folder:
git clone https://github.com/torrust/torrust-tracker.git

# Change into directory and create a empty database file:
cd torrust-tracker
mkdir -p ./storage/tracker/lib/database/
touch ./storage/tracker/lib/database/sqlite3.db

# Check all tests in application:
cargo test --tests --benches --examples --workspace --all-targets --all-features

# Run the tracker:
cargo run

自定义

# Copy the default configuration into the standard location:
mkdir -p ./storage/tracker/etc/
cp ./share/default/config/tracker.development.sqlite3.toml ./storage/tracker/etc/tracker.toml

# Customize the tracker configuration (for example):
vim ./storage/tracker/etc/tracker.toml

# Run the tracker with the updated configuration:
TORRUST_TRACKER_PATH_CONFIG="./storage/tracker/etc/tracker.toml" cargo run

可选,您可以选择将整个配置作为环境变量提供

# Use a configuration supplied on an environmental variable:
TORRUST_TRACKER_CONFIG=$(cat "./storage/tracker/etc/tracker.toml") cargo run

对于部署,您 应该 使用环境变量覆盖 api_admin_token

# Generate a Secret Token:
gpg --armor --gen-random 1 10 | tee ./storage/tracker/lib/tracker_api_admin_token.secret
chmod go-rwx ./storage/tracker/lib/tracker_api_admin_token.secret

# Override secret in configuration using an environmental variable:
TORRUST_TRACKER_CONFIG=$(cat "./storage/tracker/etc/tracker.toml") \
  TORRUST_TRACKER_API_ADMIN_TOKEN=$(cat "./storage/tracker/lib/tracker_api_admin_token.secret") \
  cargo run

请查看我们的crate 文档以获取更详细的说明。

服务

以下服务由默认配置提供

  • UDP (tracker)
    • udp://127.0.0.1:6969/announce.
  • HTTP (tracker)
    • http://127.0.0.1:6969/announce.
  • API (管理)
    • http://127.0.0.1:1212/api/v1/stats?token=MyAccessToken.

文档

贡献

这是一个开源社区支持的项目。
我们欢迎社区的贡献!

您如何贡献?

  • 错误报告和功能请求。
  • 代码贡献。您可以从查看标记为 "good first issues" 的问题开始。
  • 文档改进。检查文档API 文档中的错别字、错误或缺失信息。
  • 参与社区。您可以通过在讨论中回答问题来帮助。

许可

该项目采用双重许可。请参阅COPYRIGHT

致谢

该项目是 Nautilus Cyberneering GmbHDutch Bits 共同努力的结果。还感谢 Naim A.greatest-ape 对代码的一些部分做出的贡献。还要感谢 Power2All 为项目添加的功能和功能。

依赖

~56–75MB
~1.5M SLoC