BitTorrent Trackers Implemented in Rust
A curated overview of BitTorrent tracker implementations written in Rust. From actively maintained production-ready projects to educational experiments, this post maps the Rust tracker landscape so you can find the right tool for your needs.
Introduction
The Rust programming language has become an increasingly popular choice for building high-performance network infrastructure, and BitTorrent trackers are no exception. Rust's combination of memory safety, zero-cost abstractions, and fearless concurrency makes it an excellent fit for a service that must handle tens of thousands of concurrent connections efficiently.
This post maps the landscape of BitTorrent tracker implementations written in Rust. We cover both projects that are actively maintained and used in production today, and historical or experimental projects that are no longer under active development but remain valuable as learning resources or starting points. The scope is limited to tracker server software — client libraries, DHT nodes, indexers, and other BitTorrent tooling written in Rust are outside the scope of this post.
Actively Maintained Projects
The following trackers are under active development and have seen commits within the last year or two. They are generally suitable for production use.
aquatic
- Repository: https://github.com/greatest-ape/aquatic
- Stars: ~591
- License: Apache-2.0
- Language: Rust
- Status: Maintained (last release ~1 year ago)
aquatic is a high-performance open BitTorrent tracker that covers three transport protocols through separate sub-implementations:
- aquatic_udp — BitTorrent over UDP (supports Linux and other Unix-like systems)
- aquatic_http — BitTorrent over HTTP, optionally over TLS (requires Linux 5.8+)
- aquatic_ws — WebTorrent, optionally over TLS (requires Linux 5.8+)
Features at a glance:
- Multithreaded design for handling large amounts of traffic
- All data stored in-memory (no database needed)
- IPv4 and IPv6 support
- Supports forbidding/allowing info hashes
- Prometheus metrics
- Automated CI testing of full file transfers
Implemented BEPs:
- BEP 3: BitTorrent HTTP
protocol (
aquatic_http) - BEP 7: IPv6 support (
aquatic_http) - BEP 15: UDP Tracker Protocol
(
aquatic_udp) - BEP 23: Compact HTTP
responses (
aquatic_http) - BEP 48: HTTP scrape support
(
aquatic_http)
aquatic is the most starred Rust tracker on GitHub and is used in production by explodie.org public tracker (typically serving ~100,000 requests per second) and tracker.webtorrent.dev.
The HTTP and WebTorrent implementations leverage io_uring for exceptional throughput on modern Linux kernels. The UDP load test
results show aquatic_udp consistently reaching hundreds of thousands of requests per second
in benchmarks.
Torrust Tracker
- Repository: https://github.com/torrust/torrust-tracker
- Stars: ~490
- License: AGPL-3.0
- Language: Rust
- Status: Actively maintained
- Latest Release: v3.0.0 (October 2, 2024)
Torrust Tracker is the tracker developed and maintained by the Torrust project (the same team behind this website). It is a modern, feature-rich BitTorrent tracker built with the Axum web framework and aims to be respectful of both formal BEP standards and widely adopted de facto extensions.
Key features:
- High-quality, well-documented Rust codebase
- Comprehensive suite of unit and functional tests
- Support for UDP, HTTP, and TLS sockets
- Native IPv4 and IPv6 support
- Private and whitelisted mode
- Tracker management REST API
- Support for newTrackon checks
- Persistent SQLite3 or MySQL databases
- Prometheus metrics and Grafana integration
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 48: Tracker Protocol Extension: Scrape
The project is sponsored by Nautilus Cyberneering and welcomes community contributions. A live demo environment is available at torrust-demo.
Torrust-Actix
- Repository: https://github.com/Power2All/torrust-actix
- Stars: ~133
- License: MIT
- Language: Rust
- Status: Actively maintained
- Latest Release: v4.1.1
- Website: torrust-actix.com
Torrust-Actix is a lightweight but feature-rich BitTorrent tracker built with the Actix web framework. It originated from Torrust Tracker code and was rebuilt from scratch by Power2All. More information is available on the Torrust-Actix website.
Highlights:
- Full IPv4 and IPv6 support
- Persistence via SQLite3, MySQL, or PostgreSQL
- Whitelist and blacklist systems for private and public tracking
- Torrent key support for access control
- Built-in Swagger UI for API documentation and testing
- Full stand-alone / master / slave cluster mode via WebSockets (introduced in v4.1.0)
- Optional Redis/Memcached caching for peer data
- Sentry.io integration (SaaS and self-hosted)
- Cloudflare Simple Proxy Protocol support for UDP
- Docker support with Docker Compose
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 41: UDP Tracker Protocol Extensions
- BEP 48: Tracker Protocol Extension: Scrape
UNIT3D-Announce
- Repository: https://github.com/Roardom/UNIT3D-Announce
- Stars: ~56
- License: AGPL-3.0
- Language: Rust
- Status: Actively maintained
- Latest Release: v0.3 (September 24, 2025)
UNIT3D-Announce is a high-performance backend BitTorrent tracker designed specifically to replace the default PHP announce handler of UNIT3D, a popular private tracker platform. It is built with the Axum framework and offers a dramatic performance improvement over the PHP baseline.
Key characteristics:
- Drop-in HTTP tracker backend for UNIT3D v9.1.7+
- All peer data stored in-memory
- Hot configuration reload without restart
- Global freeleech and double-upload event support
- Unix socket and TCP socket support
- Supervisor integration for background execution
This tracker is not a general-purpose standalone tracker — it requires a running UNIT3D installation and shares its user and torrent database via PostgreSQL.
Historical and Less Active Projects
The following projects are no longer actively maintained or have seen little to no commits in recent years. They are still valuable as references, learning resources, or starting points for new implementations.
UDPT
- Repository: https://github.com/naim94a/udpt
- Stars: ~243
- License: MIT
- Language: Rust
- Status: Minimal maintenance (last commit ~2 years ago)
- Latest Release: v3.1.2 (January 29, 2022)
- Website: naim94a.github.io/udpt
UDPT is a UDP-based torrent tracker that fully implements BEP 15. It is a complete rewrite in Rust of an older C/C++ project originally developed in 2012. While the project is no longer actively developed, it was an important early Rust tracker and contributed code to both Torrust Tracker and Torrust-Actix.
Features:
- UDP torrent tracking server
- In-memory database
- Dynamic, static, and private tracker modes
- Ability to block specific torrents
- HTTP REST API for management
- Logging
- Windows Service and Linux/Unix daemon support
Tyto
- Repository: https://github.com/deekerno/tyto
- Stars: ~11
- License: MIT
- Language: Rust
- Status: Abandoned (last commit ~6 years ago)
Tyto is an open source BitTorrent tracker written in Rust with a focus on safety,
performance, and reliability. It uses async/await throughout. Although abandoned
before the full feature set was completed, it achieved ~23,000 HTTP requests per second on a
2017 MacBook Pro in load tests.
Implemented (per README checkboxes):
- Global metrics
- IPv4 and IPv6 support
Planned but not completed before abandonment:
- Configuration hot-reloading
- Private tracker support
- Storage-agnostic backend
- Swarm statistics
Rotten
- Repository: https://github.com/justinvzyl/rotten
- Stars: ~4
- License: MIT
- Language: Rust
- Status: Abandoned (last commit ~4 years ago)
Rotten is a small, experimental UDP BitTorrent tracker. According to the README it was still in active development and not production-ready at the time of the last commit. It implements UDP connect and announce but not scrape. Interesting mainly as a minimal learning exercise.
bittorrent-client-tracker
- Repository: https://github.com/PradaJoaquin/bittorrent-client-tracker
- Stars: ~4
- License: MIT
- Language: Rust
- Status: Completed academic project (last commit ~3 years ago)
This repository contains both a BitTorrent client (dTorrent) and a tracker (dTracker) written in Rust. It was developed as a university project for the subject "Taller de Programación I" at FIUBA during the first semester of 2022. While not intended for production use, it is a useful reference for anyone learning how to build BitTorrent software from scratch in Rust.
Torshare Tracker
- Repository: https://github.com/torshare/torshare-tracker
- Stars: ~3
- License: MIT
- Language: Rust
- Status: Abandoned (last commit ~3 years ago)
Torshare Tracker is a high-performance, multi-protocol BitTorrent tracker that supports both HTTP and UDP announcing. It implements Redis-backed high availability. The project never published a release and appears to have been abandoned before reaching production readiness.
Implemented BEPs:
- BEP 3: The BitTorrent Protocol
- BEP 7: IPv6 Tracker Extension
- BEP 23: Tracker Returns Compact Peer Lists
- BEP 31: Failure Retry Extension
- BEP 41: UDP Tracker Protocol Extension
- BEP 48: Tracker Protocol Extension: Scrape
Quick Comparison
The table below summarises key attributes of the trackers covered in this post.
| Project | Protocols | BEPs | License | Stars | Status |
|---|---|---|---|---|---|
| aquatic | HTTP, UDP, WebTorrent | 3, 7, 15, 23, 48 | Apache-2.0 | ~591 | Active |
| Torrust Tracker | HTTP, UDP, TLS | 3, 7, 15, 23, 27, 48 | AGPL-3.0 | ~490 | Active |
| UDPT | UDP | 15 | MIT | ~243 | Minimal |
| Torrust-Actix | HTTP, UDP | 3, 7, 15, 23, 41, 48 | MIT | ~133 | Active |
| UNIT3D-Announce | HTTP | 3 | AGPL-3.0 | ~56 | Active |
| Tyto | HTTP | 3, 7 (partial) | MIT | ~11 | Abandoned |
| Rotten | UDP | 15 (partial) | MIT | ~4 | Abandoned |
| dTracker | HTTP | 3 (partial) | MIT | ~4 | Academic |
| Torshare | HTTP, UDP | 3, 7, 23, 31, 41, 48 | MIT | ~3 | Abandoned |
Conclusion
The Rust ecosystem has produced a diverse set of BitTorrent tracker implementations, ranging from production-grade systems handling millions of requests per second to academic experiments designed to teach protocol fundamentals.
As of early 2026, four projects are actively maintained — aquatic, Torrust Tracker, Torrust-Actix, and UNIT3D-Announce. The historical projects, while no longer under active development, remain useful references for anyone studying how BitTorrent tracker logic has been approached in Rust over the years.
