No description
| .cargo | ||
| docs | ||
| src | ||
| .gitignore | ||
| build.rs | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CHANGELOG.md | ||
| LICENSE | ||
| README.md | ||
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
Quick links
- Architecture
- Protocol
- Current status and limitations
- Server setup
- Local dev config
- Contributing
- Changelog
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).