README: update aquatic_ws info to reflect new glommio implementation

This commit is contained in:
Joakim Frostegård 2021-11-01 19:33:45 +01:00
parent 2ea88c465c
commit ca415af2b9

View file

@ -13,11 +13,11 @@ of sub-implementations for different protocols:
[mio]: https://github.com/tokio-rs/mio [mio]: https://github.com/tokio-rs/mio
[glommio]: https://github.com/DataDog/glommio [glommio]: https://github.com/DataDog/glommio
| Name | Protocol | OS requirements | | Name | Protocol | OS requirements |
|--------------|------------------------------------------------|-----------------------------------------------------------------| |--------------|--------------------------------------------|-----------------------------------------------------------------|
| aquatic_udp | [BitTorrent over UDP] | Cross-platform with [mio] (default) / Linux 5.8+ with [glommio] | | aquatic_udp | [BitTorrent over UDP] | Cross-platform with [mio] (default) / Linux 5.8+ with [glommio] |
| aquatic_http | [BitTorrent over HTTP] with TLS ([rustls]) | Linux 5.8+ | | aquatic_http | [BitTorrent over HTTP] with TLS ([rustls]) | Linux 5.8+ |
| aquatic_ws | [WebTorrent], plain or with TLS ([native-tls]) | Cross-platform | | aquatic_ws | [WebTorrent] with TLS (rustls) | Linux 5.8+ |
## Usage ## Usage
@ -25,8 +25,6 @@ of sub-implementations for different protocols:
- 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`)
- If you want to run aquatic_ws and are on Linux or BSD, install OpenSSL
components necessary for dynamic linking (e.g., `apt-get install libssl-dev`)
- Clone this git repository and enter it - Clone this git repository and enter it
### Compiling ### Compiling
@ -154,25 +152,15 @@ tls_private_key_path = './key.pk8'
### aquatic_ws: WebTorrent tracker ### aquatic_ws: WebTorrent tracker
Aims for compatibility with [WebTorrent](https://github.com/webtorrent) Aims for compatibility with [WebTorrent](https://github.com/webtorrent)
clients, including `wss` protocol support (WebSockets over TLS), with some clients, with some exceptions:
exceptions:
* Only runs over TLS (wss protocol)
* Doesn't track of the number of torrent downloads (0 is always sent). * Doesn't track of the number of torrent downloads (0 is always sent).
* Doesn't allow full scrapes, i.e. of all registered info hashes * Doesn't allow full scrapes, i.e. of all registered info hashes
#### TLS #### TLS
To run over TLS, a pkcs12 file (`.pkx`) is needed. It can be generated from Please see `aquatic_http` TLS section above.
Let's Encrypt certificates as follows, assuming you are in the directory where
they are stored:
```sh
openssl pkcs12 -export -out identity.pfx -inkey privkey.pem -in cert.pem -certfile fullchain.pem
```
Enter a password when prompted. Then move `identity.pfx` somewhere suitable,
and enter the path into the tracker configuration field `tls_pkcs12_path`. Set
the password in the field `tls_pkcs12_password` and set `use_tls` to true.
#### Benchmarks #### Benchmarks
@ -201,6 +189,9 @@ Server responses per second, best result in bold:
Please refer to `documents/aquatic-ws-load-test-2021-08-18.pdf` for more details. Please refer to `documents/aquatic-ws-load-test-2021-08-18.pdf` for more details.
__Note__: these benchmarks were made with the previous mio-based
implementation.
## Load testing ## Load testing
There are load test binaries for all protocols. They use a CLI structure There are load test binaries for all protocols. They use a CLI structure