- No recent update ACCESS ALL UPDATES
- PROJECT DESCRIPTION
- FEATURES
- PROJECT ROADMAP
- IMPLEMENTED BEPs
- INSTALLATION
- USAGE
- TRACKER URL
- BUILT IN API
- CONTACT
- CREDITS
Torrust Tracker is a lightweight but incredibly powerful and feature-rich BitTorrent tracker made using Rust.
- Multiple UDP server and HTTP(S) server blocks for socket binding possible
- Full IPv4 and IPv6 support for both UDP and HTTP(S)
- Private & Whitelisted mode
- Built-in API
- Torrent whitelisting
- Peer authentication using time-bound keys
- newTrackon check supported for both HTTP, UDP, where IPv4 and IPv6 is properly handled
- SQLite3 Persistent loading and saving of the torrent hashes and completed count
- MySQL support added as engine option
- Periodically saving added, interval can be configured
- 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
Coming soon.
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.toml
file:./target/release/torrust-tracker
-
Edit the newly created config.toml file according to your liking, see configuration documentation. Eg:
log_level = "info" mode = "public" db_driver = "Sqlite3" db_path = "data.db" announce_interval = 120 min_announce_interval = 120 max_peer_timeout = 900 on_reverse_proxy = false external_ip = "0.0.0.0" tracker_usage_statistics = true persistent_torrent_completed_stat = false inactive_peer_cleanup_interval = 600 remove_peerless_torrents = true [[udp_trackers]] enabled = false bind_address = "0.0.0.0:6969" [[http_trackers]] enabled = true bind_address = "0.0.0.0:6969" 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-tracker
Your tracker announce URL will be dependent on your bindings:
udp://{tracker-ip:port}
and/or
http://{tracker-ip:port}/announce
and/or
https://{tracker-ip:port}/announce
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.
If you have any issues and suggestions please feel free to contact us via:
Message Warm Beer#3352
on Discord or email [email protected]
.
or
This project was developed by Dutch Bits for Nautilus Cyberneering GmbH.
The project has been possible through the support and contribution of both Nautilus Cyberneering, its team and collaborators, as well as that of our great open source contributors.
Special thanks to Naim A. and greatest-ape for some parts of the code. Also special thanks to further added features and functions by Power2All.
Thank you again to you all!