Home - UNITRONIX/BetterDesk GitHub Wiki
🚀 BetterDesk — Wiki
Welcome to the BetterDesk documentation wiki. BetterDesk is a complete RustDesk-compatible remote desktop infrastructure consisting of:
- BetterDesk Server — A clean-room Go implementation replacing both
hbbs+hbbrwith a single binary - BetterDesk Console — A Node.js (Express.js) web management panel
- BetterDesk MGMT Client — A Tauri v2 desktop app for operators/admins ⚠️ Alpha — not production-ready
- BetterDesk Agent Client — A lightweight Tauri v2 endpoint agent ⚠️ Alpha — not production-ready
- BetterDesk Native Agent — A headless Go binary for servers and IoT (CDAP)
[!WARNING] The MGMT Client and Agent Client are in early alpha and should not be used in production. See Alpha Software Notice for details.
🏁 Quick Start
# Linux — one command to install everything
git clone https://github.com/UNITRONIX/Rustdesk-FreeConsole.git
cd Rustdesk-FreeConsole
sudo ./betterdesk.sh
# Docker — 30-second setup
curl -fsSL https://raw.githubusercontent.com/UNITRONIX/Rustdesk-FreeConsole/main/docker-compose.quick.yml -o docker-compose.yml
docker compose up -d
After installation, open http://your-server:5000 for the web console.
📖 Documentation
| Topic | Description |
|---|---|
| Installation | Full guide for Linux, Windows, and Docker |
| Configuration | CLI flags, environment variables, .env file |
| Client Setup | Configure RustDesk desktop clients |
| Web Console | Panel features, dashboard, device management |
| User Management | RBAC roles, TOTP 2FA, Pro accounts |
| Security | E2E encryption, TLS, audit logging |
| API Reference | REST API endpoints with examples |
| CDAP | Connected Device Automation Protocol |
| Desktop Clients | MGMT Client, Agent Client, Native Agent |
| Web Remote Desktop | Browser-based remote desktop |
| Docker Deployment | Docker and Docker Compose setup |
| TLS / SSL Certificates | Certificate configuration |
| Migration Guide | Migrate from RustDesk or between databases |
| Troubleshooting | Common issues and solutions |
| FAQ | Frequently asked questions |
🏗️ Architecture Overview
RustDesk Desktop/Mobile Clients
├── UDP/TCP (:21116) ──► Signal Server ──► Registration, PunchHole, Relay
├── TCP (:21117) ──► Relay Server ──► Bidirectional io.Copy pipe
├── WS (:21118) ──► WS Signal ──► WebSocket-based signal
├── WS (:21119) ──► WS Relay ──► WebSocket relay
└── HTTP (:21121) ──► Client API ──► Login, AB sync, heartbeat
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
🔗 Links
- Repository: github.com/UNITRONIX/Rustdesk-FreeConsole
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- License: Apache License 2.0