Commit Graph

4 Commits

Author SHA1 Message Date
cloudwithax ea21aa55b6 feat(turn): add embedded TURN server with credential service
Integrate a TURN/STUN server into the relay for NAT traversal of
WebRTC connections. Clients request time-limited HMAC-SHA1 credentials
over a new libp2p request-response protocol and then talk to the TURN
server directly via UDP/TCP.

Key changes:
- Add `turn` module with server, credentials, and configuration
- Register `/dusk/turn-credentials/1.0.0` request-response protocol
  so clients can obtain time-limited TURN credentials (24h TTL)
- Expose TURN signaling (3478/udp+tcp) and relay allocation ports
  (49152-65535/udp) in Dockerfile and docker-compose
- Add TURN-related environment variables for public IP, shared secret,
  realm, port ranges, and allocation limits
- Validate directory display_name (1-64 chars) and return typed errors
- Restrict keypair file permissions to 0600 on Unix
2026-02-24 20:57:05 -05:00
cloudwithax db66dc2bed add volume 2026-02-13 21:44:29 -05:00
cloudwithax 675aaedf9a update Dockerfile to use Rust 1.85-slim; add MIT License 2026-02-13 19:01:46 -05:00
cloudwithax b5c52430d1 init commit 2026-02-13 18:01:15 -05:00