BetterDesk Console v2.0 (Node.js)
Modern web management console for RustDesk/BetterDesk server.
Features
- 🎨 Modern UI - Dark theme, responsive design, Google Material Icons
- 🌍 Multilingual - English and Polish support, easy to add more
- 🔐 Secure - Session-based authentication, bcrypt password hashing, rate limiting
- 📱 Devices - View, search, filter, ban/unban, change ID, bulk delete
- 🔑 Keys - View public key, download file, QR code for mobile
- ⚙️ Generator - Generate client configuration strings
- 📊 Dashboard - Server status, device statistics
Requirements
- Node.js 18.x or 20.x
- npm 9.x or later
- SQLite3 (for better-sqlite3)
Installation
Development
Production
Docker
Environment Variables
| Variable |
Default |
Description |
PORT |
5000 |
HTTP server port |
NODE_ENV |
development |
Environment (development / production) |
DB_PATH |
/opt/rustdesk/db_v2.sqlite3 |
Path to SQLite database |
KEYS_PATH |
/opt/rustdesk |
Path to key files directory |
SESSION_SECRET |
auto-generated |
Session cookie secret |
BETTERDESK_API_URL |
http://127.0.0.1:21121 |
BetterDesk Go server API endpoint |
DEFAULT_LANG |
en |
Default language code |
Project Structure
API Endpoints
Authentication
| Method |
Endpoint |
Description |
| POST |
/api/auth/login |
Login with username/password |
| POST |
/api/auth/logout |
Logout current session |
| GET |
/api/auth/verify |
Verify current session |
| POST |
/api/auth/password |
Change password |
Devices
| Method |
Endpoint |
Description |
| GET |
/api/devices |
List all devices |
| GET |
/api/devices/:id |
Get device details |
| DELETE |
/api/devices/:id |
Delete device |
| POST |
/api/devices/:id/ban |
Ban device |
| POST |
/api/devices/:id/unban |
Unban device |
| POST |
/api/devices/:id/change-id |
Change device ID |
| POST |
/api/devices/bulk-delete |
Delete multiple devices |
Keys
| Method |
Endpoint |
Description |
| GET |
/api/keys/public |
Get public key |
| GET |
/api/keys/qr |
Get public key as QR code |
| GET |
/api/keys/download |
Download key file |
Other
| Method |
Endpoint |
Description |
| GET |
/api/stats |
Device statistics |
| GET |
/api/server/status |
Server status |
| POST |
/api/sync-status |
Sync online status from HBBS |
| GET |
/api/settings/server-info |
Server information |
| GET |
/api/settings/audit-log |
Audit log entries |
Default Credentials
- Username:
admin
- Password:
admin
⚠️ Change the default password immediately after installation!
Adding Languages
- Copy
lang/en.json to lang/xx.json (where xx is language code)
- Translate all values (keep keys unchanged)
- Update
meta.lang, meta.name, meta.native_name
- Restart the application
License
Apache-2.0 License - see LICENSE file for details.