A lightweight UDP torrent tracker
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github mentioning JetBrains support Nov 28, 2018
src write db on termination Jan 16, 2019
.gitignore Initial Commit Jun 8, 2018
Cargo.lock Updated cargo.lock deps Jan 17, 2019
Cargo.toml Updated cargo.lock deps Jan 17, 2019
Dockerfile Merge branch 'master' into master-merge Dec 7, 2018
LICENSE removed line from license Dec 7, 2018
udpt.toml loading and saving databases Dec 8, 2018



UDPT is a UDP based torrent tracker which fully implements BEP-15.

This project was written in Rust, it is a complete rewrite of a previous C/C++ UDPT project (which is still currently available in the v2.1 tag of the repository).


  • UDP torrent tracking server
  • In memory database
  • Choice of Dynamic/Static/Private tracker modes
  • Ability to block a torrent from being tracked
  • HTTP REST API for management
  • Logging
  • Windows Service or Linux/Unix daemon

Getting started

The easiest way is to get built binaries from Releases, but building from sources should be fairly easy as well:

git clone https://github.com/naim94a/udpt.git
cd udpt
cargo build --release


Please report any bugs you find to our issue tracker. Ideas and feature requests are welcome as well!

Any pull request targeting existing issues would be very much appreciated.

Why was UDPT rewritten in rust?

For a few reasons,

  1. Rust makes it harder to make mistakes than C/C++, It provides memory safety without runtime cost.
  2. Rust allows easier cross-platform development with it's powerful standard library.
  3. Integrated tests and benchmarks.

UDPT was originally developed for fun in 2012 by @naim94a.

The UDPT project would like to thank JetBrains for providing us with a Open Source license for the best IDEs there are out there!