No description
Find a file
loki5512344 03d94e0465
Phase 2: E2EE for DM + Slint migration + dead code cleanup
- E2EE crypto (src/e2ee.rs) with X25519 key derivation from Ed25519,
  HKDF shared secret, ChaCha20-Poly1305 encrypt/decrypt
- E2EE net layer: PID 0x0071-0x0074, JSON payloads, dispatch, session handlers
- E2EE UI: lock icons in DM header and sidebar
- Slint migration: all .slint files, bridge.rs, update.rs, main.rs
- Removed egui UI (~50 files), cleaned all dead code
- Clean cargo clippy -- -D warnings
2026-07-14 13:25:15 +02:00
.cargo Initial commit: split VNOX monorepo into VNOX-Client 2026-07-09 11:52:57 +02:00
docs add slint migration plan 2026-07-14 12:10:32 +02:00
src Phase 2: E2EE for DM + Slint migration + dead code cleanup 2026-07-14 13:25:15 +02:00
.gitignore Initial commit: split VNOX monorepo into VNOX-Client 2026-07-09 11:52:57 +02:00
build.rs Phase 2: E2EE for DM + Slint migration + dead code cleanup 2026-07-14 13:25:15 +02:00
Cargo.lock Phase 2: E2EE for DM + Slint migration + dead code cleanup 2026-07-14 13:25:15 +02:00
Cargo.toml Phase 2: E2EE for DM + Slint migration + dead code cleanup 2026-07-14 13:25:15 +02:00
CHANGELOG.md add client docs, README, CHANGELOG 2026-07-09 12:30:56 +02:00
LICENSE add GPL-3.0 license 2026-07-09 12:05:04 +02:00
README.md add client docs, README, CHANGELOG 2026-07-09 12:30:56 +02:00

VNOX

Self-hosted realtime voice and chat. Decentralized. Lightweight. Moddable. Built on LNEx, a custom protocol for low-latency federated communication.

Not Discord. Not TeamSpeak. Not cloud.

vnox://server/channel

Status

Phase 1: implemented, not production ready.

See docs/00-status.md for an honest list of what works, what is only specified on paper, and known gaps.

Component Status
Gateway TCP listener, LNEx handshake, channels, chat, SQLite
Voice node UDP relay, voice packet routing
Desktop client egui UI, net layer, audio pipeline (partial)
LNEx protocol Specified and implemented (JSON in Phase 1)
Federation Planned (Phase 3)
Mobile client Planned (Phase 3)

Traffic in v0.1.x is unencrypted plaintext. Do not use in production.

Running locally

Requires Rust 1.85+.

# terminal 1 - gateway
cargo run -p vnox-gateway -- --config dev/config.toml

# terminal 2 - voice node
cargo run -p vnox-voice-node -- --config dev/config.toml

# terminal 3 - client
cargo run -p vnox-client

The client connects to 127.0.0.1:7600 by default (editable in the UI). Config details: dev/README.md.

Opus on Windows

audiopus_sys builds libopus from source via CMake. CMake 4.x requires a policy flag, already set in .cargo/config.toml:

[env]
CMAKE_POLICY_VERSION_MINIMUM = "3.5"

No manual steps needed.

License

GPL-3.0. See docs/LICENSE.md.

The LNEx protocol specification is CC0 (public domain).