A modern BBS inspired by Hotline, KDX, Carracho, and Wired. Built for the Yggdrasil mesh network, but works on any IPv4/IPv6 network.
- Chat — Real-time messaging with channels, user messages, broadcasts, and persistent message history
- Voice — Push-to-talk voice chat with Opus codec, DTLS encryption, and WebRTC audio processing (noise suppression, echo cancellation, automatic gain control)
- Files — Multi-tab browser with search, downloads, uploads, pause/resume, and queue management
- News — Bulletin board with Markdown and image support
- Users — 39 granular permissions, shared accounts, guest access, custom avatars
- Security — Mandatory TLS, TOFU verification, Argon2id passwords, proxy support
- Notifications — Desktop, toast, and sound alerts for 16 event types
- Customization — 30 themes, 13 languages, configurable UI
- System Tray — Status icons, minimize to tray, quick actions (Windows/Linux)
- Connectivity — Multi-server bookmarks, auto-connect, UPnP, IPv4/IPv6/Yggdrasil
- Deep Links —
nexus://URI scheme for direct links to servers, channels, and files - WebSocket — Optional WebSocket support for web-based clients (
--websocket)
Pre-built binaries are available on the Releases page.
| Platform | Download |
|---|---|
| macOS (Universal) | nexus-client-{version}-macos-universal.dmg |
| Windows (x64) | nexus-client-{version}-windows-x64.msi |
| Linux (x64) | .AppImage or .deb |
| Linux (arm64) | .AppImage or .deb |
| Arch Linux (AUR) | nexus-client or nexus-client-git |
| Platform | Download |
|---|---|
| macOS | nexusd-{version}-macos-{x64,arm64}.tar.gz |
| Windows | nexusd-{version}-windows-x64.zip |
| Linux | nexusd-{version}-linux-{x64,arm64}.tar.gz |
| Docker | ghcr.io/zquestz/nexusd:{version} |
See Client Installation and Server Installation for detailed instructions.
# Build
cargo build --release
# Run server (first user becomes admin)
./target/release/nexusd
# Run client
./target/release/nexusSee Server Documentation for configuration options.
docker compose up -dSee Docker Documentation for details.
Coming soon
- Client Guide — Connections, chat, files, settings
- Server Guide — Setup, configuration, user management
- Protocol Specification — Technical protocol details
| Crate | Description |
|---|---|
nexus-common |
Shared protocol and utilities |
nexus-server |
Server daemon (nexusd) |
nexus-client |
GUI client (nexus) |
- Rust 2024 edition (1.85+)
Voice chat requires ALSA and WebRTC audio processing build tools:
Debian/Ubuntu:
sudo apt install build-essential autoconf automake libtool pkg-config clang libasound2-devArch Linux:
sudo pacman -S base-devel autoconf automake libtool pkg-config clang alsa-libFedora:
sudo dnf install @development-tools autoconf automake libtool pkg-config clang alsa-lib-develbrew install autoconf automake libtool pkg-configVisual Studio Build Tools with C++ workload. The WebRTC audio processing library builds automatically via the bundled feature.
cargo build --release # Build
cargo test --workspace # Test
cargo clippy --workspace --all-targets -- -D warnings # LintMIT