Joakim Frostegård e13f133859 Run cargo update
Updating autocfg v1.5.0 -> v1.5.1
    Updating bitflags v2.11.1 -> v2.13.0
    Updating bumpalo v3.20.2 -> v3.20.3
    Updating cc v1.2.62 -> v1.2.63
    Updating compact_str v0.9.0 -> v0.9.1
    Updating const-hex v1.19.0 -> v1.19.1
    Updating either v1.15.0 -> v1.16.0
    Updating generator v0.8.8 -> v0.8.9
    Updating http v1.4.0 -> v1.4.1
    Updating hyper v1.9.0 -> v1.10.1
    Updating js-sys v0.3.98 -> v0.3.99
    Updating libmimalloc-sys v0.1.47 -> v0.1.49
    Updating log v0.4.29 -> v0.4.32
    Updating memchr v2.8.0 -> v2.8.1
    Updating mimalloc v0.1.50 -> v0.1.52
    Updating mio v1.2.0 -> v1.2.1
    Updating num-conv v0.2.1 -> v0.2.2
    Updating serde_json v1.0.149 -> v1.0.150
    Updating shlex v1.3.0 -> v2.0.1
    Updating socket2 v0.6.3 -> v0.6.4
    Updating typenum v1.20.0 -> v1.20.1
    Updating wasm-bindgen v0.2.121 -> v0.2.122
    Updating wasm-bindgen-macro v0.2.121 -> v0.2.122
    Updating wasm-bindgen-macro-support v0.2.121 -> v0.2.122
    Updating wasm-bindgen-shared v0.2.121 -> v0.2.122
    Updating web-sys v0.3.98 -> v0.3.99
    Updating zerocopy v0.8.48 -> v0.8.50
    Updating zerocopy-derive v0.8.48 -> v0.8.50
2026-06-06 21:56:47 +02:00
2022-07-23 17:50:54 +02:00
2026-06-06 21:56:47 +02:00
2026-05-08 10:28:26 +02:00
2026-05-11 14:04:02 +02:00
2026-05-17 12:27:11 +02:00

aquatic: high-performance open BitTorrent tracker

CI

High-performance open BitTorrent tracker, consisting of sub-implementations for different protocols:

Name Protocol OS requirements
aquatic_udp BitTorrent over UDP Unix-like
aquatic_http BitTorrent over HTTP, optionally over TLS Linux 5.8 or later
aquatic_ws WebTorrent, optionally over TLS Linux 5.8 or later

Features at a glance:

  • Multithreaded design for handling large amounts of traffic
  • All data is stored in-memory (no database needed)
  • IPv4 and IPv6 support
  • Supports forbidding/allowing info hashes
  • Prometheus metrics
  • Automated CI testing of full file transfers
  • Optional periodic exports of full scrape statistics (UDP only)

Known users:

Performance of the UDP implementation

UDP BitTorrent tracker throughput

More benchmark details are available here.

Usage

Please refer to the README pages for the respective implementations listed in the table above.

Auxiliary software

There are also some auxiliary applications and libraries.

Tracker load testing

Load test applications for aquatic and other trackers, useful for profiling:

Automated benchmarking of aquatic and other trackers: aquatic_bencher

Client ⇄ tracker communication

Libraries for communication between clients and trackers:

Other

  • aquatic_peer_id - extract BitTorrent client information from peer identifiers

Copyright (c) Joakim Frostegård

Distributed under the terms of the Apache License, Version 2.0. Please refer to the LICENSE file in the repository root directory for details.

Trivia

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

Languages
Rust 96.5%
Shell 2%
HTML 1.2%
Dockerfile 0.3%