Torrust Tracker is a lightweight but incredibly powerful and feature-rich BitTorrent tracker made using Rust.
- UDP server
- HTTP (optional SSL) server
- Private & Whitelisted mode
- Built-in API
- Torrent whitelisting
- Peer authentication using time-bound keys
- BEP 3: The BitTorrent Protocol
- BEP 7: IPv6 Support
- BEP 15: UDP Tracker Protocol for BitTorrent
- BEP 23: Tracker Returns Compact Peer Lists
- BEP 27: Private Torrents
- BEP 41: UDP Tracker Protocol Extensions
- BEP 48: Tracker Protocol Extension: Scrape
You can get the latest binaries from releases or follow the install from scratch instructions below.
- Clone the repo.
git clone https://github.com/torrust/torrust-tracker.git
cd torrust-tracker- Build the source code.
cargo build --release- Run the torrust-tracker once to create the
config.tomlfile:
./target/release/torrust-tracker- Edit the newly created config.toml file according to your liking, see configuration documentation. Eg:
log_level = "trace"
mode = "public"
db_path = "data.db"
cleanup_interval = 600
external_ip = "YOUR_EXTERNAL_IP"
[udp_tracker]
bind_address = "0.0.0.0:6969"
announce_interval = 120
[http_tracker]
enabled = true
bind_address = "0.0.0.0:6969"
on_reverse_proxy = false
announce_interval = 120
ssl_enabled = false
ssl_cert_path = ""
ssl_key_path = ""
[http_api]
enabled = true
bind_address = "127.0.0.1:1212"
[http_api.access_tokens]
admin = "MyAccessToken"- Run the torrust-tracker again:
./target/release/torrust-trackerYour tracker announce URL will be udp://{tracker-ip:port} or https://{tracker-ip:port}/announce depending on your tracker mode. In private & private_listed mode, tracker keys are added after the tracker URL like: https://{tracker-ip:port}/announce/{key}.
Read the API documentation here.
This project was a joint effort by Nautilus Cyberneering GmbH and Dutch Bits. Also thanks to Naim A. and greatest-ape for some parts of the code.