btracker-gemini/README.md
2025-09-08 15:18:40 +03:00

42 lines
No EOL
1.4 KiB
Markdown

# btracker-gemini
![Build](https://github.com/YGGverse/btracker-gemini/actions/workflows/build.yml/badge.svg)
[![Dependencies](https://deps.rs/repo/github/YGGverse/btracker-gemini/status.svg)](https://deps.rs/repo/github/YGGverse/btracker-gemini)
[![crates.io](https://img.shields.io/crates/v/btracker-gemini.svg)](https://crates.io/crates/btracker-gemini)
βtracker server implementation for the Gemini protocol
> [!NOTE]
> In development!
## Install
``` bash
git clone https://github.com/YGGverse/btracker-gemini.git && cd btracker-gemini
cargo build --release
sudo install target/release/btracker-gemini /usr/local/bin/btracker-gemini
```
* to setup Rust environment see [rustup](https://rustup.rs)
## Setup
<details>
<summary>Generate PKCS (PFX)</summary>
<pre>
openssl genpkey -algorithm RSA -out server.pem -pkeyopt rsa_keygen_bits:2048
openssl req -new -key server.pem -out request.csr
openssl x509 -req -in request.csr -signkey server.pem -out server.crt -days 365
openssl pkcs12 -export -out server.pfx -inkey server.pem -in server.crt</pre>
</details>
## Launch
``` bash
btracker-gemini -i /path/to/server.pfx\
-s /path/to/btracker-fs\
-t udp://tracker1:6969\
-t udp://tracker2:6969
```
* prepend `RUST_LOG=trace` or `RUST_LOG=btracker_gemini=trace` to debug
* use `-b` to bind server on specified `host:port`
* use `-h` to print all available options