Client Generator
The Support 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.
BetterDesk focuses on Support Agent as the supported end-user client. Legacy Agent Client / RdClient workers may still exist in the codebase but are not offered in the Generator UI.
What you get
Each Support Agent bundle includes:
- Server / API / CDAP connection profile
- Server public key
- Optional 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 |
You can deselect platforms when creating or rebuilding a bundle (for example Windows-only) to shorten the first build.
Quick start
- Log in as admin
- Open Generator in the sidebar
- Click New Support Agent
- Enter an internal bundle name and confirm the public server host (prefilled from console defaults)
- Optionally expand Branding & appearance for logo / colors / contact
- Confirm build platforms (all selected by default) and Save
- 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 records a pending Support Agent rebuild
and completes the console/server update first. After the console restarts, the
worker synchronizes agent-source/ and requeues all non-revoked Support Agent
bundles in the background. Check Settings → Updates and the Generator status
for the deferred sync/build state.
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-w64 for Windows cross-builds (
x86_64-w64-mingw32-gcc) - wixl (msitools) for MSI
- appimagetool as an extracted wrapper under
/usr/local/lib/appimagetool(raw AppImage in/usr/local/binfails for thebetterdeskservice user) dpkg-deb/rpmbuildfor Linux packages- WebView2 runtime on end-user Windows machines (Wails UI; usually preinstalled on Windows 10/11)
- webkit2gtk on Linux build/runtime hosts for the Wails UI
Install via sudo ./scripts/install-build-toolchain.sh or betterdesk.sh menu B, then restart betterdesk-console. The Generator banner reports Go, mingw, wixl, and appimagetool.
UI: Support Agent defaults to Wails (HTML UI + Go bindings). Legacy Fyne builds remain available with BETTERDESK_SUPPORT_FYNEUI=1 (may embed Mesa OpenGL DLLs). Remote desktop capture uses ffmpeg (ddagrab/gdigrab on Windows) with hardware H.264/VP8/VP9/AV1/H.265 when available.
Note: Do not set mingw CC before branding seal — sealbranding is a host (Linux) Go tool and must run with CGO_ENABLED=0 / native compilers. Windows CC/CXX apply only to the final cross-compile.
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
Start
Console
- Web Console
- User Management
- Organizations and RBAC
- LDAP / Active Directory
- OIDC SSO
- Client Generator
- Fleet and Policies
- Unattended Access and WoL
- Web Remote Desktop
- UX 3.5
Ops
Help
Advanced
- API Reference
- CDAP
- SDK
- Alpha Software Notice
- Desktop Clients
- MeshAgent
- Chat E2E Encryption
- Licensing
Source: docs/wiki/
Repository · Issues · Discussions · Releases · Privacy · Sponsors
Wiki source: docs/wiki/ — last sync: 2026-09-06