compatible with the current benchmarking configuration.
How to install the Torrust Tracker to run the benchmarking:
```console
git clone git@github.com:torrust/torrust-tracker.git
cd torrust-tracker
git checkout eaa86a76fc2bca837172e0e5c0221ee14b16b122
cargo build --release
sudo cp ./target/release/torrust-tracker /usr/local/bin/
sudo chmod +x /usr/local/bin/torrust-tracker
```
How to test the configration:
TORRUST_TRACKER_CONFIG_TOML=$(cat << EOF
[metadata]
schema_version = "2.0.0"
[logging]
threshold = "error"
[core]
listed = false
private = false
tracker_usage_statistics = false
[core.database]
driver = "sqlite3"
path = "./sqlite3.db"
[core.tracker_policy]
persistent_torrent_completed_stat = false
remove_peerless_torrents = false
[[udp_trackers]]
bind_address = "0.0.0.0:3000"
EOF
) torrust-tracker
|
||
|---|---|---|
| .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.
Auxiliary software
There are also some auxiliary applications and libraries.
Tracker load testing
Load test applications for aquatic and other trackers, useful for profiling:
- aquatic_udp_load_test - BitTorrent over UDP
- aquatic_http_load_test - BitTorrent over HTTP
- aquatic_ws_load_test - WebTorrent
Automated benchmarking of aquatic and other trackers: aquatic_bencher
Client ⇄ tracker communication
Libraries for communication between clients and trackers:
- aquatic_udp_protocol - BitTorrent over UDP
- aquatic_http_protocol - BitTorrent over HTTP
- aquatic_ws_protocol - WebTorrent
Other
- aquatic_peer_id - extract BitTorrent client information from peer identifiers
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 ;-)
