mirror of
https://github.com/YGGverse/aquatic.git
synced 2026-03-31 17:55:36 +00:00
High-performance open BitTorrent tracker (UDP, HTTP, WebTorrent)
Removing ahash v0.7.6
Removing ahash v0.8.3
Adding ahash v0.7.7
Adding ahash v0.8.6
Updating base64 v0.21.4 -> v0.21.5
Updating clap v4.4.6 -> v4.4.8
Updating clap_builder v4.4.6 -> v4.4.8
Updating clap_lex v0.5.1 -> v0.6.0
Updating cpufeatures v0.2.9 -> v0.2.11
Updating errno v0.3.5 -> v0.3.7
Updating futures v0.3.28 -> v0.3.29
Updating futures-channel v0.3.28 -> v0.3.29
Updating futures-core v0.3.28 -> v0.3.29
Updating futures-executor v0.3.28 -> v0.3.29
Updating futures-io v0.3.28 -> v0.3.29
Updating futures-macro v0.3.28 -> v0.3.29
Updating futures-sink v0.3.28 -> v0.3.29
Updating futures-task v0.3.28 -> v0.3.29
Updating futures-util v0.3.28 -> v0.3.29
Updating getrandom v0.2.10 -> v0.2.11
Updating hashbrown v0.14.1 -> v0.14.2
Updating hdrhistogram v7.5.2 -> v7.5.3
Updating http v0.2.9 -> v0.2.11
Updating indexmap v2.0.2 -> v2.1.0
Updating ipnet v2.8.0 -> v2.9.0
Updating js-sys v0.3.64 -> v0.3.65
Updating libc v0.2.149 -> v0.2.150
Updating linux-raw-sys v0.4.10 -> v0.4.11
Updating mio v0.8.8 -> v0.8.9
Updating portable-atomic v1.4.3 -> v1.5.1
Updating redox_syscall v0.3.5 -> v0.4.1
Updating ring v0.16.20 -> v0.17.5
Updating rustix v0.38.19 -> v0.38.24
Updating rustls v0.21.7 -> v0.21.9
Updating rustls-pemfile v1.0.3 -> v1.0.4
Updating rustls-webpki v0.101.6 -> v0.101.7
Updating sct v0.7.0 -> v0.7.1
Updating serde v1.0.189 -> v1.0.192
Updating serde_derive v1.0.189 -> v1.0.192
Updating serde_json v1.0.107 -> v1.0.108
Updating smallvec v1.11.1 -> v1.11.2
Removing socket2 v0.4.9
Removing socket2 v0.5.4
Adding socket2 v0.4.10
Adding socket2 v0.5.5
Removing spin v0.5.2
Updating syn v2.0.38 -> v2.0.39
Updating tempfile v3.8.0 -> v3.8.1
Updating thiserror v1.0.49 -> v1.0.50
Updating thiserror-impl v1.0.49 -> v1.0.50
Updating tokio v1.33.0 -> v1.34.0
Updating tracing v0.1.39 -> v0.1.40
Updating untrusted v0.7.1 -> v0.9.0
Updating wasm-bindgen v0.2.87 -> v0.2.88
Updating wasm-bindgen-backend v0.2.87 -> v0.2.88
Updating wasm-bindgen-macro v0.2.87 -> v0.2.88
Updating wasm-bindgen-macro-support v0.2.87 -> v0.2.88
Updating wasm-bindgen-shared v0.2.87 -> v0.2.88
Updating web-sys v0.3.64 -> v0.3.65
Adding zerocopy v0.7.26
Adding zerocopy-derive v0.7.26
|
||
|---|---|---|
| .github | ||
| crates | ||
| docker | ||
| documents | ||
| scripts | ||
| .dockerignore | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CHANGELOG.md | ||
| deny.toml | ||
| LICENSE | ||
| README.md | ||
| TODO.md | ||
aquatic: high-performance open BitTorrent tracker
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+ |
| aquatic_ws | WebTorrent, optionally over TLS | Linux 5.8+ |
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
Known users:
- explodie.org public tracker (
udp://explodie.org:6969), typically serving ~100,000 requests per second
Performance of the UDP implementation
More benchmark details are available here.
Usage
Please refer to the README pages for the respective implementations listed in the table above.
Architectural overview
Copyright and license
Copyright (c) 2020-2023 Joakim Frostegård
Distributed under the terms of the Apache 2.0 license. 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 ;-)
