Files
softlan-vpn/Cargo.toml
T
ddidderr 77894c4706 feat(relay): bind QUIC endpoint
Make the relay binary bind a real Quinn endpoint instead of only printing its
configuration. This is the next runtime step toward the public relay while still
keeping connection handling out of this commit.

The relay now builds a self-signed development TLS configuration, advertises the
lanparty ALPN, enables QUIC datagram buffers, binds the configured UDP address,
prints the actual local address, and waits for Ctrl-C before closing the
endpoint. The generated certificate is explicitly a development placeholder;
production certificate and client trust handling remain future work.

The rustls dependency is pinned to the ring provider to match Quinn's selected
crypto backend and avoid process-level provider ambiguity at runtime.

Test Plan:
- cargo fmt --check
- cargo test --workspace
- cargo clippy --workspace --all-targets -- -D warnings
- timeout 2s cargo run -p lanparty-relay -- --listen 127.0.0.1:0 || test $? -eq 124

Refs: PLAN.md public relay QUIC data path
Refs: https://docs.rs/quinn/0.11.9
2026-05-21 17:38:56 +02:00

29 lines
698 B
TOML

[workspace]
resolver = "3"
members = [
"crates/lanparty-client-core",
"crates/lanparty-client-win",
"crates/lanparty-ctrl",
"crates/lanparty-gateway",
"crates/lanparty-obs",
"crates/lanparty-proto",
"crates/lanparty-relay",
]
[workspace.package]
version = "0.1.0"
edition = "2024"
[workspace.dependencies]
anyhow = "1"
bytes = "1"
clap = { version = "4.6.1", features = ["derive"] }
quinn = "0.11.9"
rcgen = "0.14.8"
rustls = { version = "0.23", default-features = false, features = ["ring", "std"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
thiserror = "2"
tokio = { version = "1.52.3", features = ["macros", "rt-multi-thread", "signal"] }
tracing = "0.1"