Files
UNITRONIX ae46c69e66 feat(ux): reintroduce classic UI alongside optional UX 3.5 shell
- Default console shell is now the classic icon rail + flyout, with UX 3.5 available via navbar switch.
- Fixed visibility issues in UX 3.5, ensuring main content is displayed correctly under branding wallpaper.
- Updated documentation to reflect changes in UI shell options and theme management.
- Enhanced language support for new UI shell switch options across multiple languages.

This update improves user experience by providing a choice between classic and modern UI shells.
2026-07-26 10:16:51 +02:00

4.9 KiB

BetterDesk

BetterDesk Wiki

RustDesk-compatible remote desktop infrastructure — Go server, Node.js console, CDAP, and browser remote.

Version License Go Node.js

BetterDesk replaces hbbs + hbbr with a single Go binary, adds a full web management console, optional CDAP for IoT/SCADA devices, and a browser-based remote desktop client.

Warning

MGMT Client and Agent Client (Tauri desktop apps) are alpha — not for production. Use the Web Console and standard RustDesk client in production. See Alpha Software Notice.


Quick Start

Linux (bare metal)

git clone https://github.com/UNITRONIX/BetterDesk.git
cd BetterDesk
sudo ./betterdesk.sh

Choose 1 for a new installation, or run sudo ./betterdesk.sh --auto for non-interactive setup.

Docker (30 seconds)

curl -fsSL https://raw.githubusercontent.com/UNITRONIX/BetterDesk/main/docker-compose.quick.yml -o docker-compose.yml
docker compose up -d

Open http://your-server:5000 for the web console. Default install paths: Go server /opt/betterdesk, console /opt/BetterDeskConsole (legacy /opt/rustdesk is still detected by the installer).


Documentation

Topic Page
Installation Installation — Linux, Windows, Docker
Configuration Configuration — CLI flags, .env, systemd/NSSM
Client setup Client Setup — RustDesk desktop/mobile
Web console Web Console — Dashboard, devices, settings (classic rail or optional UX 3.5)
Users & RBAC User Management, Organizations and RBAC
OIDC / SSO OIDC SSO
Client generator Client Generator
Fleet & policies Fleet and Policies
Panel updates Panel Updates
Security Security — E2E, TLS, audit
API API Reference
CDAP CDAP — IoT device protocol
SDK SDK — Python & Node.js CDAP SDK
Desktop clients Desktop Clients — MGMT, Agent, Native
Web remote Web Remote Desktop
MeshAgent MeshAgent — optional MeshCentral compat
Docker Docker Deployment
TLS / SSL TLS / SSL Certificates
Migration Migration Guide
Licensing Licensing — AGPL-3.0 & Commercial Grant
Help Troubleshooting, FAQ

Deep-dive developer docs live in the repository: docs/.


Architecture Overview

RustDesk Desktop/Mobile Clients
  ├── UDP/TCP (:21116) ──► Signal Server ──► Registration, PunchHole, Relay
  ├── TCP     (:21117) ──► Relay Server  ──► Bidirectional relay pipe
  ├── WS      (:21118) ──► WS Signal     ──► WebSocket signal
  ├── WS      (:21119) ──► WS Relay      ──► WebSocket relay
  └── HTTP    (:21121) ──► Client API    ──► Login, AB sync, heartbeat

CDAP Agents / SDK Bridges
  └── WS/HTTP (:21122) ──► CDAP Gateway ──► Metrics, commands, widgets

Admin / Web Console
  ├── HTTP  (:21114) ──► REST API      ──► JWT / API-key auth
  ├── WS    (:21114) ──► Event Stream  ──► Real-time status push
  └── HTTP  (:5000)  ──► Web Console   ──► Node.js + Express + EJS

Optional: MeshCentral compatibility (MeshAgent KVM, terminal, files)

Production vs Alpha

Component Status Production use
Go Server Stable Recommended
Web Console Stable Recommended
Native CDAP Agent (Go) Stable OK for deployment
RustDesk client (standard) Stable Recommended
MGMT Client (Tauri) Alpha Do not use
Agent Client (Tauri) Alpha Do not use