aquatic/README.md

1.2 KiB

aquatic

Fast, multi-threaded UDP BitTorrent tracker written in Rust.

Aims to implements the UDP BitTorrent protocol, except that it:

  • Doesn't care about IP addresses sent in announce requests. The packet source IP is always used.
  • Doesn't track of the number of torrent downloads (0 is always sent).

Supports IPv4 and IPv6.

Usage

Install rust compiler (stable is fine) and cmake. Then, compile and run aquatic:

./scripts/run-server.sh

Benchmarks

Performance was compared to opentracker using aquatic_load_test.

Server responses per second, best result in bold:

workers aquatic  opentracker
1 n/a 177k
2 168k 98k
3 187k 118k
4 216k 127k
6 309k 109k
8 408k 96k

(See documents/aquatic-load-test-2020-04-19.pdf for details.)

License

Apache 2.0 (see LICENSE file)

Trivia

The tracker is called aquatic because it thrives under a torrent of bits ;-)