mirror of
https://github.com/YGGverse/aquatic.git
synced 2026-04-01 18:25:30 +00:00
README: refer to aquatic master executable in instructions
This commit is contained in:
parent
17844d05e3
commit
639b8db072
2 changed files with 31 additions and 49 deletions
78
README.md
78
README.md
|
|
@ -2,13 +2,11 @@
|
||||||
|
|
||||||
Blazingly fast, multi-threaded BitTorrent tracker written in Rust.
|
Blazingly fast, multi-threaded BitTorrent tracker written in Rust.
|
||||||
|
|
||||||
Consists of separate executables:
|
Consists of three sub-implementations for different protocols:
|
||||||
* `aquatic_udp`: UDP BitTorrent tracker with double the throughput of
|
* `aquatic_udp`: BitTorrent over UDP. Implementation achieves double the throughput
|
||||||
opentracker (see benchmarks below)
|
of opentracker (see benchmarks below)
|
||||||
* `aquatic_ws`: WebTorrent tracker (experimental)
|
* `aquatic_http`: BitTorrent over HTTP/TLS (experimental)
|
||||||
* `aquatic_http`: HTTP BitTorrent tracker (experimental)
|
* `aquatic_ws`: WebTorrent (experimental)
|
||||||
|
|
||||||
These are described in detail below, after the general information.
|
|
||||||
|
|
||||||
## Copyright and license
|
## Copyright and license
|
||||||
|
|
||||||
|
|
@ -33,70 +31,55 @@ worker. Benchmarks of `aquatic_udp` indicate that this is sufficient.
|
||||||
|
|
||||||
- Install Rust with [rustup](https://rustup.rs/) (stable is recommended)
|
- Install Rust with [rustup](https://rustup.rs/) (stable is recommended)
|
||||||
- Install cmake with your package manager (e.g., `apt-get install cmake`)
|
- Install cmake with your package manager (e.g., `apt-get install cmake`)
|
||||||
- For `aquatic_ws` and `aquatic_http` on GNU/Linux, also install the OpenSSL
|
- On GNU/Linux, also install the OpenSSL components necessary for dynamic
|
||||||
components necessary for dynamic linking (e.g., `apt-get install libssl-dev`)
|
linking (e.g., `apt-get install libssl-dev`)
|
||||||
- Clone the git repository and refer to the next section.
|
- Clone the git repository and refer to the next section.
|
||||||
|
|
||||||
## Compile and run
|
## Compile and run
|
||||||
|
|
||||||
The command line interfaces for the tracker executables are identical. To run
|
To compile the master executable for all protocols, run:
|
||||||
the respective tracker, just run its binary. You can also run any of the helper
|
|
||||||
scripts, which will compile the binary for you and pass on any command line
|
|
||||||
parameters. (After compilation, the binaries are found in `target/release/`.)
|
|
||||||
|
|
||||||
To run with default settings:
|
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
./scripts/run-aquatic-udp.sh
|
./scripts/build-aquatic.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
```sh
|
To start the tracker for a protocol with default settings, run:
|
||||||
./scripts/run-aquatic-ws.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
./scripts/run-aquatic-http.sh
|
./target/release/aquatic udp
|
||||||
|
./target/release/aquatic http
|
||||||
|
./target/release/aquatic ws
|
||||||
```
|
```
|
||||||
|
|
||||||
To print default settings to standard output, pass the "-p" flag to the binary:
|
To print default settings to standard output, pass the "-p" flag to the binary:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
./scripts/run-aquatic-udp.sh -p
|
./target/release/aquatic udp -p
|
||||||
|
./target/release/aquatic http -p
|
||||||
|
./target/release/aquatic ws -p
|
||||||
```
|
```
|
||||||
|
|
||||||
```sh
|
Note that the configuration files differ between protocols.
|
||||||
./scripts/run-aquatic-ws.sh -p
|
|
||||||
```
|
To adjust the settings, save the output of the relevant previous command to a
|
||||||
|
file and make your changes. Then run `aquatic` with a "-c" argument pointing to
|
||||||
|
the file, e.g.:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
./scripts/run-aquatic-http.sh -p
|
./target/release/aquatic udp -c "/path/to/aquatic-udp-config.toml"
|
||||||
```
|
./target/release/aquatic http -c "/path/to/aquatic-http-config.toml"
|
||||||
|
./target/release/aquatic ws -c "/path/to/aquatic-ws-config.toml"
|
||||||
To adjust the settings, save the output of the previous command to a file and
|
|
||||||
make your changes. Then run the binaries with a "-c" argument pointing to the
|
|
||||||
file, e.g.:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
./scripts/run-aquatic-udp.sh -c "/path/to/aquatic-udp-config.toml"
|
|
||||||
```
|
|
||||||
|
|
||||||
```sh
|
|
||||||
./scripts/run-aquatic-ws.sh -c "/path/to/aquatic-ws-config.toml"
|
|
||||||
```
|
|
||||||
|
|
||||||
```sh
|
|
||||||
./scripts/run-aquatic-http.sh -c "/path/to/aquatic-http-config.toml"
|
|
||||||
```
|
```
|
||||||
|
|
||||||
The configuration file values you will most likely want to adjust are
|
The configuration file values you will most likely want to adjust are
|
||||||
`socket_workers` (number of threads reading from and writing to sockets) and
|
`socket_workers` (number of threads reading from and writing to sockets) and
|
||||||
`address` under the `network` section (listening address). This goes for all
|
`address` under the `network` section (listening address). This goes for all
|
||||||
three executables.
|
three protocols.
|
||||||
|
|
||||||
Some documentation of the various options might be available in source code
|
Some documentation of the various options might be available under
|
||||||
files `src/lib/config.rs` in the respective tracker crates.
|
`src/lib/config.rs` in crates `aquatic_udp`, `aquatic_http`, `aquatic_ws`.
|
||||||
|
|
||||||
## Details on protocol-specific executables
|
## Details on implementations
|
||||||
|
|
||||||
### aquatic_udp: UDP BitTorrent tracker
|
### aquatic_udp: UDP BitTorrent tracker
|
||||||
|
|
||||||
|
|
@ -175,8 +158,9 @@ Please refer to the `aquatic_ws` section for information about setting up TLS.
|
||||||
|
|
||||||
## Load testing
|
## Load testing
|
||||||
|
|
||||||
There are load test binaries for all protocols. They use the same CLI structure
|
There are load test binaries for all protocols. They use a CLI structure
|
||||||
as the trackers, including configuration file generation and loading.
|
similar to the trackers and support generation and loading of configuration
|
||||||
|
files.
|
||||||
|
|
||||||
### aquatic_udp_load_test
|
### aquatic_udp_load_test
|
||||||
|
|
||||||
|
|
|
||||||
2
TODO.md
2
TODO.md
|
|
@ -2,8 +2,6 @@
|
||||||
|
|
||||||
## General
|
## General
|
||||||
|
|
||||||
* README: replace separate executables with `aquatic` info, including
|
|
||||||
`build-aquatic.sh`
|
|
||||||
* automatic tests running real clients in container?
|
* automatic tests running real clients in container?
|
||||||
|
|
||||||
## aquatic_http_load_test
|
## aquatic_http_load_test
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue