torrust-tracker-3.0.0-alpha.1 has been yanked.
Torrust Tracker
Project Description
Torrust Tracker is a lightweight but incredibly powerful and feature-rich BitTorrent tracker made using Rust.
Features
- 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
Implemented BEPs
- 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
Getting Started
You can get the latest binaries from releases or follow the install from scratch instructions below.
Install From Scratch
- Clone the repo.
- Build the source code.
Usage
- Run the torrust-tracker once to create the
config.tomlfile:
- Edit the newly created config.toml file according to your liking, see configuration documentation. Eg:
= "info"
= "public"
= "Sqlite3"
= "data.db"
= 120
= 120
= 900
= false
= "0.0.0.0"
= true
= false
= 600
= true
[[]]
= false
= "0.0.0.0:6969"
[[]]
= true
= "0.0.0.0:7070"
= false
= ""
= ""
[]
= true
= "127.0.0.1:1212"
[]
= "MyAccessToken"
- Run the torrust-tracker again:
Tracker URL
Your tracker announce URL will be udp://{tracker-ip:port} and/or http://{tracker-ip:port}/announce and/or https://{tracker-ip:port}/announce depending on your bindings. In private & private_listed mode, tracker keys are added after the tracker URL like: https://{tracker-ip:port}/announce/{key}.
Built-in API
Read the API documentation here.
Credits
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. Further added features and functions thanks to Power2All.