udpt/README.md
Naim A ca77851b49
WIP: major changes;
* using RwLock instead of Mutex.
* Added WebServer for API & http tracker using hyper.
* added iterator trait for StackVec<T>.
* removed benchmarks since they require nightly rust.
2018-06-24 13:20:18 +03:00

32 lines
1.2 KiB
Markdown

# UDPT
_UDPT_ is a UDP based torrent tracker which fully implements [BEP-15](http://www.bittorrent.org/beps/bep_0015.html) & [BEP-41](http://www.bittorrent.org/beps/bep_0041.html).
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 `master` branch of the repository).
## Features
* 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
This rewrite is currently still under development and shouldn't be used at the moment.
If you'd like to contribute in making everything in the "Features" list come true, please feel free to submit a pull-request.
Since we are using Rust, getting started is fairly easy:
```commandline
git clone https://github.com/naim94a/udpt.git
cd udpt
git checkout udpt-rs
cargo build
```
## Why was this project rewritten in rust?
For a few reasons,
1. Rust makes it harder to make mistakes than C/C++.
2. Rust allows easier cross-platform development with it's powerful standard library.
3. Integrated tests and benchmarks.