rustdesk/rustdesk
An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.
How rustdesk is put together
RustDesk is a cross-platform remote desktop application written primarily in Rust, with a Flutter (Dart) GUI for desktop and mobile and a deprecated Sciter UI. The core binary acts as both controlled-side server (screen capture, input injection, audio/clipboard/file services over TCP) and controlling-side client, discovering peers via a rendezvous server (hbbs) and connecting either directly via TCP hole punching or through a relay (hbbr). Communication uses protobuf messages over TCP/KCP streams secured with NaCl-style sign/box keypairs managed by hbb_common. Platform-specific behavior is heavily gated by cfg attributes and feature flags, with workspace crates under libs/ for capture, input, clipboard, and common protocol/config utilities.
Languages
Frameworks
Infrastructure
Major components
libs/hbb_common
Shared crate providing video codec config, TCP/UDP wrappers, protobuf definitions, filesystem helpers for file transfer, configuration/password security, and utility functions.
libs/scrap
Screen capture engine across platforms including Wayland, DRM, hardware codecs, and camera sources.
libs/enigo
Platform-specific keyboard and mouse input simulation built on rdev/tfc.
libs/clipboard
Cross-platform text and file copy/paste implementation including an optional Unix file-copy-paste feature using x11/fuser.
src/server (connection, audio/video/clipboard/input/display/terminal/printer services)
Controlled-side service host that accepts inbound connections, negotiates the encrypted handshake, and runs per-connection services.
src/client + ui_session_interface
Controlling-side peer connection logic, login handling, session state, permissions, and reconnect logic shared by Flutter and Sciter UIs.
src/rendezvous_mediator
Communicates with the rustdesk-server rendezvous service and waits for direct (hole-punched) or relayed connections.
flutter/ (lib/, android/, ios/, linux/, macos/, windows/)
Flutter frontend for desktop and mobile talking to the Rust core via flutter_rust_bridge FFI.
A quiet week centered on translations, docs polish, and a cursor-freeze fix in view-only mode.
3 weeksWeek of 2026-08-24
Week of 2026-08-24latest
A quiet week centered on translations, docs polish, and a cursor-freeze fix in view-only mode.
Week of 2026-08-17
A busy week of cross-platform fixes spanning Windows focus handling, Wayland display lookups, AppImage crashes, and terminal copy/paste shortcuts.
Week of 2026-08-17
(duplicate placeholder)
Over the last five weeks, RustDesk's development has focused heavily on improving Linux/Wayland support, including a new DRM/KMS direct capture mode that skips portal permission prompts and various display and input fixes. Security and reliability work also stood out, with an fuser dependency upgrade for a known vulnerability, login retry hardening, ID whitelist controls, and an SBOM added for EU Cyber Resilience Act compliance. The team also shipped a steady stream of translation improvements (including new Urdu support), documentation cleanups, and terminal/clipboard bug fixes across platforms.
Week by week
2026-08-24A quiet week centered on translations, docs polish, and a cursor-freeze fix in view-only mode.latest6 changes
Fix
View-only cursor freeze fixed
Fixed a problem where the 'My Cursor' setting would freeze in View Only mode when the remote user moved their mouse.
Feature
Urdu language support
Added Urdu translations so Urdu-speaking users can use RustDesk in their own language.
Fix
Danish translation corrections
Corrected spelling and wording issues in the Danish interface translations.
Chore
Video codec library updated
Bumped the aom video codec library to version 3.14.1.
Docs
README screenshot link repaired
Fixed a broken anchor link to the Screenshots section in the README.
Fix
Duplicate translations removed
Cleaned up duplicated translation entries in the language files.
2026-08-17A busy week of cross-platform fixes spanning Windows focus handling, Wayland display lookups, AppImage crashes, and terminal copy/paste shortcuts.6 changes
Feature
Native copy/paste in terminal
The remote terminal now uses each platform's standard keyboard shortcuts for copying and pasting text.
Feature
Mobile canvas lock
Added a lock option on mobile so users can pin the viewing canvas in place while controlling a remote screen.
Fix
Windows keyboard focus restored
Keyboard input now works again immediately after the mouse re-enters the remote screen image on Windows.
Refactor
Linux headless code removed
Removed the unused Linux headless feature to simplify the codebase.
Fix
AppImage startup crash fixed
Resolved a pixbuf-related crash that affected the Linux AppImage package, plus kept default data directories intact under sandboxing.
Fix
Adjust Window made reliable
The Adjust Window sizing command now works consistently across all desktop platforms instead of only sometimes.
2026-08-17(duplicate placeholder)0 changes
Dependencies and code review
Dependency advisories
Security Watch
No known advisories across 0 scanned dependencies.
No known advisories in the scanned dependencies.
Code review
No concrete code-level issues confirmed.
Get this report every week for your repos.
GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.
$19 a month, flat · First 10 outputs free · No card required