mirror of
https://github.com/YGGverse/aquatic.git
synced 2026-03-31 09:45:31 +00:00
High-performance open BitTorrent tracker (UDP, HTTP, WebTorrent)
Updating ahash v0.7.7 -> v0.7.8
Updating anstream v0.6.11 -> v0.6.13
Updating anyhow v1.0.79 -> v1.0.81
Updating arc-swap v1.6.0 -> v1.7.0
Updating blake3 v1.5.0 -> v1.5.1
Updating bumpalo v3.14.0 -> v3.15.4
Updating cc v1.0.83 -> v1.0.90
Updating clap v4.4.18 -> v4.5.3
Updating clap_builder v4.4.18 -> v4.5.2
Updating clap_derive v4.4.7 -> v4.5.3
Updating clap_lex v0.6.0 -> v0.7.0
Updating crc32fast v1.3.2 -> v1.4.0
Updating crossbeam-channel v0.5.11 -> v0.5.12
Updating either v1.9.0 -> v1.10.0
Updating half v2.3.1 -> v2.4.0
Updating halfbrown v0.2.4 -> v0.2.5
Removing hashbrown v0.13.1
Adding heck v0.5.0
Updating hermit-abi v0.3.5 -> v0.3.9
Removing http v0.2.11
Removing http v1.0.0
Adding http v0.2.12
Adding http v1.1.0
Updating indexmap v2.2.2 -> v2.2.5
Updating is-terminal v0.4.10 -> v0.4.12
Updating js-sys v0.3.67 -> v0.3.69
Updating log v0.4.20 -> v0.4.21
Updating metrics v0.22.0 -> v0.22.1
Updating metrics-exporter-prometheus v0.13.0 -> v0.13.1
Updating metrics-util v0.16.0 -> v0.16.2
Updating mio v0.8.10 -> v0.8.11
Updating num-integer v0.1.45 -> v0.1.46
Updating num-iter v0.1.43 -> v0.1.44
Updating num-traits v0.2.17 -> v0.2.18
Updating num_threads v0.1.6 -> v0.1.7
Updating pin-project v1.1.4 -> v1.1.5
Updating pin-project-internal v1.1.4 -> v1.1.5
Updating pkg-config v0.3.29 -> v0.3.30
Updating proc-macro2 v1.0.78 -> v1.0.79
Updating rayon v1.8.1 -> v1.9.0
Updating regex-automata v0.4.5 -> v0.4.6
Updating ring v0.17.7 -> v0.17.8
Updating rustls-pemfile v2.0.0 -> v2.1.1
Updating rustls-pki-types v1.2.0 -> v1.3.1
Updating ryu v1.0.16 -> v1.0.17
Updating serde v1.0.196 -> v1.0.197
Updating serde_derive v1.0.196 -> v1.0.197
Updating serde_json v1.0.113 -> v1.0.114
Updating simplelog v0.12.1 -> v0.12.2
Updating socket2 v0.5.5 -> v0.5.6
Updating strsim v0.10.0 -> v0.11.0
Updating syn v2.0.48 -> v2.0.52
Updating tempfile v3.10.0 -> v3.10.1
Updating termcolor v1.1.3 -> v1.4.1
Updating textwrap v0.16.0 -> v0.16.1
Updating thiserror v1.0.56 -> v1.0.58
Updating thiserror-impl v1.0.56 -> v1.0.58
Updating toml v0.8.10 -> v0.8.11
Updating toml_edit v0.22.4 -> v0.22.7
Updating unicode-normalization v0.1.22 -> v0.1.23
Updating walkdir v2.4.0 -> v2.5.0
Updating wasm-bindgen v0.2.90 -> v0.2.92
Updating wasm-bindgen-backend v0.2.90 -> v0.2.92
Updating wasm-bindgen-macro v0.2.90 -> v0.2.92
Updating wasm-bindgen-macro-support v0.2.90 -> v0.2.92
Updating wasm-bindgen-shared v0.2.90 -> v0.2.92
Updating web-sys v0.3.67 -> v0.3.69
Updating windows-targets v0.52.0 -> v0.52.4
Updating windows_aarch64_gnullvm v0.52.0 -> v0.52.4
Updating windows_aarch64_msvc v0.52.0 -> v0.52.4
Updating windows_i686_gnu v0.52.0 -> v0.52.4
Updating windows_i686_msvc v0.52.0 -> v0.52.4
Updating windows_x86_64_gnu v0.52.0 -> v0.52.4
Updating windows_x86_64_gnullvm v0.52.0 -> v0.52.4
Updating windows_x86_64_msvc v0.52.0 -> v0.52.4
Updating winnow v0.5.37 -> v0.6.5
|
||
|---|---|---|
| .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 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
Known users:
- explodie.org public tracker (
udp://explodie.org:6969), typically serving ~100,000 requests per second - tracker.webtorrent.dev (
wss://tracker.webtorrent.dev)
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.
Copyright and license
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 ;-)
