- Added UX 3.5 as the default console shell, featuring a full-list sidebar, topbar, and customizable themes (Dark/Light/Custom). - Updated documentation to reflect the new UX 3.5 shell. - Removed legacy Desktop Mode and Beta 3.1 styles, ensuring a streamlined user experience. - Enhanced language support for new theme options across multiple languages. - Fixed OIDC client login issues by proxying callback URLs to the Go API. This update improves the overall user interface and experience, aligning with modern design standards.
4.8 KiB
BetterDesk Wiki
RustDesk-compatible remote desktop infrastructure — Go server, Node.js console, CDAP, and browser remote.
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 (UX 3.5 shell) |
| 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 |
Links
- Repository: github.com/UNITRONIX/BetterDesk
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Releases: GitHub Releases
- License: AGPL-3.0 — see Licensing for the optional Commercial Grant