Crates.io | aquatic_ws |
lib.rs | aquatic_ws |
version | 0.9.0 |
source | src |
created_at | 2020-09-13 15:56:34.088407 |
updated_at | 2024-05-03 21:10:47.961641 |
description | High-performance open WebTorrent tracker |
homepage | |
repository | https://github.com/greatest-ape/aquatic |
max_upload_size | |
id | 288231 |
size | 157,048 |
High-performance WebTorrent tracker for Linux 5.8 or later.
Features at a glance:
Known users:
wss://tracker.webtorrent.dev
)More 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_ws
Generate the configuration file:
./target/release/aquatic_ws -p > "aquatic-ws-config.toml"
Make necessary adjustments to the file. You will likely want to adjust address
(listening address) under the network
section.
To run over TLS, configure certificate and private key files.
Running behind a reverse proxy is supported, as long as IPv4 requests are proxied to IPv4 requests, and IPv6 requests to IPv6 requests.
Make sure locked memory limits are sufficient:
LimitMEMLOCK=65536000
to it/etc/security/limits.conf
, and then log out and back in:* hard memlock 65536
* soft memlock 65536
Once done, start the application:
./target/release/aquatic_ws -c "aquatic-ws-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
wss://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_ws_load_test -- --help
Aims for compatibility with WebTorrent clients. Notes:
aquatic_ws
has not been tested as much as aquatic_udp
, but likely works
fine in production.
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.