Crates.io | aquatic_udp |
lib.rs | aquatic_udp |
version | 0.9.0 |
source | src |
created_at | 2020-09-13 15:54:08.215126 |
updated_at | 2024-05-03 21:04:24.920257 |
description | High-performance open UDP BitTorrent tracker |
homepage | |
repository | https://github.com/greatest-ape/aquatic |
max_upload_size | |
id | 288228 |
size | 221,795 |
High-performance open UDP BitTorrent tracker for Unix-like operating systems.
Features at a glance:
Known users:
udp://explodie.org:6969
), typically serving ~100,000 requests per secondThis is the most mature implementation in the aquatic family. I consider it fully ready for production use.
More benchmark details are available here.
apt-get install cmake build-essential
)git clone https://github.com/greatest-ape/aquatic.git && cd aquatic
# Recommended: tell Rust to enable support for all SIMD extensions present on
# current CPU except for those relating to AVX-512. (If you run a processor
# that doesn't clock down when using AVX-512, you can enable those instructions
# too.)
. ./scripts/env-native-cpu-without-avx-512
cargo build --release -p aquatic_udp
Generate the configuration file:
./target/release/aquatic_udp -p > "aquatic-udp-config.toml"
Make necessary adjustments to the file. You will likely want to adjust address
(listening address) under the network
section.
Once done, start the application:
./target/release/aquatic_udp -c "aquatic-udp-config.toml"
If your server is pointed to by domain example.com
and you configured the
tracker to run on port 3000, people can now use it by adding the URL
udp://example.com:3000
to their torrent files or magnet links.
A load test application is available. It supports generation and loading of configuration files in a similar manner to the tracker application.
After starting the tracker, run the load tester:
. ./scripts/env-native-cpu-without-avx-512 # Optional
cargo run --release -p aquatic_udp_load_test -- --help
Implements BEP 015 (more details) with the following exceptions:
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.