Maintain user-facing wiki pages in docs/wiki/ with updated BetterDesk URLs, AGPL licensing, RBAC/org coverage, and eight new operator guides. Add sync scripts and point docker helper TLS docs to the BetterDesk wiki.
6.4 KiB
Web Console
The BetterDesk Web Console is a Node.js (Express.js) management panel accessible at http://your-server:5000.
Dashboard
The dashboard provides an overview of your BetterDesk deployment:
- Total Devices — Count of all registered devices
- Online Devices — Currently connected, with real-time WebSocket updates
- Server Uptime — Go server uptime
- System Info — Hostname, OS, Node.js/Go versions
Desktop Widget Dashboard
The dashboard supports an OS-style desktop mode with:
- 20+ draggable, resizable widgets
- Windows 11-style snap layouts (6 predefined zone layouts)
- Aero Shake, edge-snap, maximize hover picker
- Dark/light/auto themes with glassmorphism
- Widget groups (tabbed containers)
- 4 built-in presets (Monitoring, Helpdesk, Minimal, Developer)
- Full-screen login screen with TOTP 2FA support
See Desktop Dashboard for the complete widget reference.
Devices Page
Device List
The devices page shows all registered RustDesk clients in a responsive table:
| Column | Description |
|---|---|
| ID | RustDesk client ID (numeric) |
| Hostname | Device hostname (from sysinfo) |
| Type | Device type (desktop, server, agent, etc.) |
| Platform | OS (Windows, Linux, macOS, Android, iOS) |
| Last Online | Last heartbeat timestamp |
| Status | Online/Degraded/Critical/Offline with colored dot |
| Actions | Kebab menu (⋮) with device operations |
Filters
- Search — Filter by ID, hostname, platform, or tags
- Status filter — Segmented pills: All / Online / Offline
- Folder filter — Horizontal scrollable folder chips
Device Actions (Kebab Menu)
| Action | Description |
|---|---|
| Edit | Change device notes, tags, user assignment |
| Connect | Launch RustDesk connection (URI handler) |
| Rename | Change the device ID |
| Delete | Soft-delete the device |
| Revoke | Delete + block ID + disconnect active sessions |
| Ban | Block the device from reconnecting |
| Wake on LAN | Send WOL magic packet (offline devices) |
Folders
Organize devices into folders:
- Create/rename/delete folders
- Drag-and-drop devices between folders
- Folder counts update automatically
Real-time Status Updates
Device status updates in real-time via WebSocket push from the Go server event bus. No page reload needed — green/red dots update in-place.
Device Detail
Click a device row to open the detail panel:
Info Tab
- Device ID, hostname, platform, version
- IP address, last online timestamp
- Tags, notes, user assignment
- Connect button (RustDesk URI handler)
Hardware Tab
- CPU model, cores, architecture
- Total RAM, total disk
- OS version, kernel
Metrics Tab
- Live CPU, memory, disk gauges (animated bars)
- Historical charts (last 100 data points)
- Data from
POST /api/heartbeatwith metrics
Users Page
Manage console users and roles. See User Management and Organizations and RBAC.
Additional Panel Pages
| Page | Description |
|---|---|
| Organizations | Multi-tenant orgs, members, scoped devices |
| Fleet | Device groups, batch operations, scaling |
| Policies | Access policies, unattended schedules |
| Client Generator | Branded RustDesk client builds — Client Generator |
| Help Requests | End-user support inbox |
| Tickets | Internal ticket tracking |
| CDAP Devices / Studio | IoT device management and widget editor |
| Activity / Reports | Audit and reporting views |
| Security Audit | Login and API security events |
| Server Management | Go server health, config, API keys |
| Settings → Updates | In-panel updates — Panel Updates |
| Settings → Authentication | RustDesk client session TTL, OIDC — OIDC SSO |
Settings Page
Server Configuration
- View server address and public key
- Generate QR codes for client setup
- Copy configuration strings
Console Settings
- Language selection (26 locales — auto-discovered from
web-nodejs/lang/) - Console version info
- Session timeout configuration
Password Change
- Current password verification
- New password with confirmation
- TOTP 2FA enrollment/removal
OS-Style Login Screen
When desktop mode is active, the login page transforms into a Windows 11-style experience:
- Wallpaper background with frosted glass card
- Clock and date overlay (click to dismiss)
- Multi-user selector (bottom-left avatars)
- TOTP 2FA with individual digit input boxes
- Session expiry detection with auto-redirect
UI Features
Theme Support
- Dark (default) — Dark backgrounds, light text
- Light — White backgrounds, dark text
- Auto — Follows system
prefers-color-scheme
Toast Notifications
- Success/error/warning/info pop-ups
- Auto-dismiss with progress bar
- Hover to pause
- Max 5 simultaneous toasts
Skeleton Loading
- Animated shimmer placeholders during data load
- Applied to tables, cards, avatars
Page Transitions
- Fade + translateY animation on page content
- Staggered list item animations (30ms per row)
Responsive Design
- 4 breakpoints: 1024px, 768px, 600px, 400px
- Card-style layout on mobile (< 600px)
- Bottom sheet kebab menu on phones
- Collapsible sidebar navigation
Internationalization (i18n)
The console supports 26 languages (including EN, PL, DE, FR, ES, JA, ZH, ZH-TW, and more). Languages are auto-discovered from web-nodejs/lang/*.json.
| Language | Code | Status |
|---|---|---|
| English | en |
Complete (source) |
| All others | ar, cs, da, de, es, … |
Maintained — see repo for coverage |
Adding a Language
- Copy
web-nodejs/lang/en.jsontoweb-nodejs/lang/{code}.json - Translate all values (keep keys as-is)
- Update the
metasection with language info - The language auto-appears in the selector (auto-discovery from
lang/directory)
See the Contributing Translations guide for details.
See also
- Desktop Widget Dashboard — widget reference
- Web Remote Desktop — browser remote sessions
- User Management — roles and 2FA
- Panel Updates — upgrading the panel