RustDesk explained: connection, operations, and security in self-hosted remote desktop
A practical analysis of the Rust client, Flutter UI, direct and relayed sessions, hbbs and hbbr self-hosting, remote-control permissions, AGPL-3.0, and Server Pro boundaries.
Position and current signal
RustDesk is a cross-platform remote-desktop client that can use the project's public coordination and relay services or an operator's own servers. The main repository had about 118,638 stars at collection time and continued to receive frequent commits through nightly and stable releases. It places client source, an OSS server path, and self-hosting choices in one product, but a running server is not the same as secure remote-access operations.
Primary use cases and capabilities
Primary jobs include technical support, personal device access, maintenance across offices, file transfer, and temporary collaboration. Desktop and mobile clients attempt peer-to-peer connections and fall back to a relay when needed; sessions can include clipboard, audio, input control, file movement, and tunneling. Administrators should disable capabilities that a role does not need, because convenience and privilege exposure arrive through the same session.
Architecture and execution model
A client registers with a rendezvous service and locates its peer. When network conditions permit, the peers attempt a direct connection using TCP hole punching; otherwise traffic passes through a relay. The repository's `rendezvous_mediator` coordinates this process, `src/server` handles display, audio, clipboard, input, and network services, `scrap` captures screens, and `enigo` controls input. Self-hosting commonly runs hbbs and hbbr, with clients configured for server addresses and a public key.
Technology stack and system boundaries
Rust implements the core connection and platform code, while Flutter supplies the current desktop and mobile interface. The repository also includes C++, Kotlin, Swift, and multimedia dependencies. Encoding, capture, input injection, and traversal depend on operating-system permissions and network equipment. The OSS server covers basic rendezvous and relay duties; advanced administration belongs to Server Pro, so the two offerings should not be evaluated as one feature set.