Skip to content

zquestz/nexus

Repository files navigation

Nexus BBS

CI Version License Rust

A modern BBS inspired by Hotline, KDX, Carracho, and Wired. Built for the Yggdrasil mesh network, but works on any IPv4/IPv6 network.

⚠️ Under Heavy Development - Expect breaking changes

Features

  • 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 Linksnexus:// URI scheme for direct links to servers, channels, and files
  • WebSocket — Optional WebSocket support for web-based clients (--websocket)

Downloads

Pre-built binaries are available on the Releases page.

Client

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

Server

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.

Quick Start (from source)

# Build
cargo build --release

# Run server (first user becomes admin)
./target/release/nexusd

# Run client
./target/release/nexus

See Server Documentation for configuration options.

Docker

docker compose up -d

See Docker Documentation for details.

Screenshots

Coming soon

Documentation

Architecture

Crate Description
nexus-common Shared protocol and utilities
nexus-server Server daemon (nexusd)
nexus-client GUI client (nexus)

Build Requirements

All Platforms

  • Rust 2024 edition (1.85+)

Linux

Voice chat requires ALSA and WebRTC audio processing build tools:

Debian/Ubuntu:

sudo apt install build-essential autoconf automake libtool pkg-config clang libasound2-dev

Arch Linux:

sudo pacman -S base-devel autoconf automake libtool pkg-config clang alsa-lib

Fedora:

sudo dnf install @development-tools autoconf automake libtool pkg-config clang alsa-lib-devel

macOS

brew install autoconf automake libtool pkg-config

Windows

Visual Studio Build Tools with C++ workload. The WebRTC audio processing library builds automatically via the bundled feature.

Development

cargo build --release           # Build
cargo test --workspace          # Test
cargo clippy --workspace --all-targets -- -D warnings  # Lint

License

MIT

About

A next generation BBS client/server

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

 
 
 

Contributors

Languages