Files
rustunnel/droid-wiki/reference/dependencies.md
T
bzuccaro 2bf8da739b
CI / cargo fmt (push) Canceled after 0s
CI / cargo clippy (macos-latest) (push) Canceled after 0s
CI / cargo clippy (ubuntu-latest) (push) Canceled after 0s
CI / cargo clippy (windows-latest) (push) Canceled after 0s
CI / cargo test (macos-latest) (push) Canceled after 0s
CI / cargo test (ubuntu-latest) (push) Canceled after 0s
CI / cargo test (windows-latest) (push) Canceled after 0s
CI / cargo build (macos-latest) (push) Canceled after 0s
CI / cargo build (ubuntu-latest) (push) Canceled after 0s
CI / cargo build (windows-latest) (push) Canceled after 0s
CI / cargo build --release (macos-latest) (push) Canceled after 0s
CI / cargo build --release (ubuntu-latest) (push) Canceled after 0s
CI / cargo build --release (windows-latest) (push) Canceled after 0s
CI / CLI smoke (macos-latest) (push) Canceled after 0s
CI / CLI smoke (ubuntu-latest) (push) Canceled after 0s
CI / CLI smoke (windows-latest) (push) Canceled after 0s
CI / Minimal E2E (macos-latest) (push) Canceled after 0s
CI / Minimal E2E (ubuntu-latest) (push) Canceled after 0s
CI / Minimal E2E (windows-latest) (push) Canceled after 0s
feat: replace connection keys with short seed-derived rtun3 keys
Connection keys are now a ~49-char seed (rtun3.) instead of a bundled
~1740-char certificate blob. Both endpoints deterministically derive an
identical Ed25519 CA from the seed and mint ephemeral server/client leaves
at startup (keyderive.rs); the app-layer auth token is derived from the seed.
Target is passed separately on connect (resocks-style).

- connkey.rs: rtun3 seed parse/format
- keyderive.rs: CA/server/client/token derivation
- keygen takes no args; connect requires --target
- remove miniz_oxide; TLS layer unchanged
- add determinism + key-based e2e + wrong-seed-rejected tests
- update wiki, README, design spec, CI smoke
2026-08-02 12:31:53 -06:00

1.7 KiB

Dependencies

Runtime dependencies

Crate Version Purpose
clap 4 CLI parsing with derive macros
tokio 1 Async runtime (full features)
tokio-util 0.7 I/O utilities
tracing 0.1 Structured logging
tracing-subscriber 0.3 Log formatting with env-filter
anyhow 1 Application error handling
thiserror 1 Library error enums
serde 1 Serialization (derive)
serde_json 1 JSON encoding/decoding
rcgen 0.14 Certificate generation
x509-parser 0.16 Certificate parsing for identity validation
time 0.3 Date/time formatting for certificate validity
rand 0.8 Random token generation
hex 0.4 Hex encoding for auth tokens
rustls 0.23 TLS implementation (ring provider)
rustls-pki-types 1 rustls type definitions
rustls-pemfile 2 PEM parsing for certificates and keys
tokio-rustls 0.26 Tokio integration for rustls
hyper 1 HTTP types (used for auth handshake)
hyper-util 0.1 HTTP utilities
http-body-util 0.1 HTTP body utilities
tower-service 0.3 Service trait (Hyper ecosystem)
base64 0.22 Connection key seed encoding
sha2 0.10 Auth-token derivation from the seed
bytes 1 Byte buffers for framing
futures 0.3 Future utilities
url 2 URL parsing

Dev dependencies

Crate Version Purpose
tempfile 3 Temporary directories for tests

Key source files

File Purpose
Cargo.toml Dependency declarations and features