Expand description
TYPHOON — Transfer Your Packets Hidden Over Observed Networks.
An obfuscated UDP transport protocol designed to be statistically indistinguishable from generic network traffic. Each wire packet consists of an optional fake body, an optional fake header, an encrypted payload, and an encrypted tailer. Decoy packets (pure random bytes) are injected by the flow layer to obscure timing and volume patterns.
§Entry points
- Client:
socket::ClientSocketBuilder→socket::ClientSocket - Server:
socket::ListenerBuilder→socket::Listener→socket::ClientHandle
§Feature flags
| Flag | Description |
|---|---|
fast_software | X25519 + XChaCha20-Poly1305 (default) |
fast_hardware | X25519 + AES-GCM-256 |
full_software | Classic McEliece + XChaCha20-Poly1305 |
full_hardware | Classic McEliece + AES-GCM-256 |
server | Server-side listener and session management |
client | Client-side socket and session management |
debug | Debug probe tools (requires client + server) |
capture | Per-packet trace logging to typhoon::capture at TRACE level |
tokio | Tokio async runtime |
async-std | async-std runtime |
Modules§
- bytes
- certificate
- Certificate I/O helpers: generate, persist, and load TYPHOON key material.
- defaults
- Default concrete types and re-exports for the most common TYPHOON configurations.
- flow
- Flow managers: UDP send/receive paths, fake-header/body framing, and decoy injection.
- settings
- Type-safe configuration settings for the TYPHOON protocol.
- socket
- Client and server socket APIs.
Macros§
- weighted_
random - Picks one of several branches at random, weighted by the per-branch weights, and evaluates the chosen branch as an expression (its value is the value of the macro).