- Implemented logic to reissue incomplete or expired signed Support Agent profiles during rebuilds, preventing operators from getting stuck in retry loops. - Updated `build.sh` to handle the absence of `branding.pub` more gracefully, ensuring it doesn't fail on fresh workspaces. - Refactored branding functions to utilize a dedicated support profile service, improving code organization and maintainability. - Added tests to verify the correct behavior of version injection and support profile validity checks.
2.3 KiB
Client Generator
The Agent Generator in the web console builds branded BetterDesk Support Agent installers with your server address, public key, and appearance baked in. End users download from a public hub page — no manual network configuration.
Legacy RustDesk TOML generation remains in the API for compatibility but is no longer the primary UI path.
What you get
Each Support Agent bundle includes:
- Server / API / CDAP connection profile
- Server public key
- Company branding (colors, logo, product name, contact)
- Optional unattended access flag
- Incoming capability defaults (desktop, files, clipboard, audio, terminal, restart)
Platforms (Windows + Linux)
| Platform | Formats |
|---|---|
| Windows x64 | Portable .exe, installed .msi |
| Linux x64 | Portable .tar.gz, AppImage, .deb, .rpm |
Quick start
- Log in as admin
- Open Generator in the sidebar
- Click New Support Agent bundle
- Fill company name, branding, and public server host
- Save — the build worker queues all platforms
- Watch build status (Ready / Queued / Building / Failed); use Retry on failed platforms
- Share the download hub link (
/d/:slug)
After a BetterDesk update
When agent source changes, the panel syncs agent-source/ and requeues all non-revoked bundles immediately (and again on console restart as a safety net). Check Settings → Updates log for “Support Agent generator rebuild queued…”.
If a Support Agent signed profile is incomplete or expired, Rebuild / Retry / auto-requeue re-issues the profile (connection URLs + TTL) before compiling. You can still Save the bundle in Generator to refresh the profile manually.
Toolchain
Support Agent builds need Go + CGO on the console host (mingw for Windows cross-builds, wixl for MSI, packaging tools for Linux). The Generator shows a toolchain status banner when tools are missing.
Security notes
- Bundles do not embed a shared enrollment token
- Each install registers independently; in managed mode a unique
device_tokenis issued only after operator approval - Release builds seal branding inside the binary (obfuscation + integrity); local state is machine-bound AES-GCM
- Support Agent is inbound-only — end users cannot browse or connect to other devices on your infrastructure