← All reportsPublic report

rustdesk/rustdesk

An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.

122k stars Rust View on GitHubprofiled 14d ago
Try GitZoid
98PRs this week
31Contributors
0Deps scanned
0Issues found
01 · Repo overview

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

RustDartC/C++Kotlin/Gradle build scripts

Frameworks

Flutter (flutter_rust_bridge FFI)Sciter (deprecated UI)tokio async runtime (via hbb_common)protobuf messagingGTK/dbus (Linux)Win32/windows-service (Windows)

Infrastructure

Dockerfile builder containerGitHub Actions CI (.github/workflows/flutter-build.yml referenced)vcpkg native deps (libvpx, libyuv, opus, aom)Flatpak/AppImage/RPM/PKGBUILD packagingsystemd unit (res/rustdesk.service)

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.

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
03 · Security check

Dependencies and code review

0 dependencies scanned

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