# rustdesk | RustDesk | Knowledge Base | Instagit

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

GitHub Stars: 108k

Repository: https://github.com/rustdesk/rustdesk

---

## Articles

### [How RustDesk Implements a Virtual Display Driver for Headless Windows Connections](/rustdesk/rustdesk/how-is-the-virtual-display-driver-implemented-for-headless-connections-in-rustdesk)

Discover how RustDesk uses a virtual display driver to enable headless Windows connections. Learn about kernel-mode IDD and the virtual display API for remote access without physical screens.

- Tags: how-to-guide
- Published: 2026-02-26

### [How to Configure RustDesk for Enterprise Deployment: A Complete Technical Guide](/rustdesk/rustdesk/how-can-i-configure-rustdesk-for-enterprise-deployment)

Configure RustDesk for enterprise deployment by setting up custom servers, IP whitelists, and feature permissions. This guide provides technical steps for secure remote access.

- Tags: how-to-guide
- Published: 2026-02-26

### [How RustDesk Detects NAT Type: A Deep Dive into the Two-Step Rendezvous Test](/rustdesk/rustdesk/how-does-rustdesk-detect-the-nat-type-of-a-connection)

Understand how RustDesk detects NAT type using a two-step rendezvous test. Discover how external port mappings classify your network as cone or symmetric NAT.

- Tags: deep-dive
- Published: 2026-02-26

### [How RustDesk Achieves Cross-Platform Keyboard and Mouse Simulation Using Enigo](/rustdesk/rustdesk/how-does-rustdesk-achieve-cross-platform-keyboard-and-mouse-simulation-using-enigo)

Discover how RustDesk achieves cross-platform keyboard and mouse simulation by wrapping the Enigo crate. Learn about its abstraction of native OS APIs for seamless control.

- Tags: deep-dive
- Published: 2026-02-26

### [RustDesk Plugin Framework Extension Points: A Complete Developer's Guide](/rustdesk/rustdesk/what-are-the-extension-points-for-the-rustdesk-plugin-framework)

Explore RustDesk plugin framework extension points with this developer's guide. Discover C ABI functions, callbacks, event hooks, and the native API bridge for seamless integration.

- Tags: deep-dive
- Published: 2026-02-26

### [Architecture of the Whiteboard Feature in RustDesk: Cross-Platform Cursor Overlay Deep Dive](/rustdesk/rustdesk/what-is-the-architecture-of-the-whiteboard-feature-in-rustdesk)

Explore the architecture of RustDesk's whiteboard feature. Learn how it uses IPC and cross-platform graphics APIs for a transparent cursor overlay.

- Tags: architecture
- Published: 2026-02-26

### [How Port Forwarding Works in RustDesk: Implementation Deep Dive](/rustdesk/rustdesk/what-is-the-implementation-of-port-forwarding-in-rustdesk)

Explore RustDesk's port forwarding implementation. Learn how its three-layer architecture tunnels traffic through authenticated streams to remote destinations via its network core.

- Tags: deep-dive
- Published: 2026-02-26

### [How to Build RustDesk with Flutter for Cross-Platform Deployment](/rustdesk/rustdesk/how-do-i-build-rustdesk-with-flutter-for-cross-platform-deployment)

Learn to build RustDesk with Flutter for cross-platform deployment. Enable Flutter features, generate the Dart-Rust bridge, and compile binaries for Windows, macOS, Linux, iOS, and Android.

- Tags: how-to-guide
- Published: 2026-02-26

### [How to Configure Hardware Codec (hwcodec) Support in RustDesk](/rustdesk/rustdesk/how-do-i-configure-hardware-codec-hwcodec-support-in-rustdesk)

Enable hwcodec support in RustDesk by compiling with the hwcodec feature flag and toggling the option in settings. Optimize your remote desktop video performance today.

- Tags: how-to-guide
- Published: 2026-02-26

### [RustDesk Protobuf Message Format: Binary Protocol Structure and Implementation](/rustdesk/rustdesk/what-is-the-format-of-rustdesks-protobuf-messages)

Discover RustDesk's protobuf message format. Learn about its binary protocol structure, implementation details, and how data is transmitted for efficient remote desktop control.

- Tags: internals
- Published: 2026-02-26

### [How to Build a Custom RustDesk Client Using the IPC API](/rustdesk/rustdesk/can-i-implement-a-custom-rustdesk-client-using-its-ipc-api)

Learn how to build a custom RustDesk client with the IPC API. Connect to the core process using the Data enum protocol and create your own remote desktop solution.

- Tags: how-to-guide
- Published: 2026-02-26

### [How to Debug Connection Issues When RustDesk Operates in Relay Mode](/rustdesk/rustdesk/how-can-i-debug-connection-issues-when-rustdesk-is-in-relay-mode)

Fix RustDesk relay mode connection issues. Enable debug logging and trace the handshake in rendezvous_mediator.rs and server.rs to pinpoint and resolve server selection, TCP, or UUID negotiation failures.

- Tags: how-to-guide
- Published: 2026-02-26

### [How RustDesk Implements Clipboard Synchronization Across Platforms](/rustdesk/rustdesk/how-does-rustdesk-implement-clipboard-synchronization-across-platforms)

Discover how RustDesk achieves seamless clipboard synchronization across platforms. Learn about its modular architecture, protobuf messaging, and peer-to-peer transport for efficient cross-device copy-pasting.

- Tags: internals
- Published: 2026-02-26

### [How to Set Up a RustDesk Server with TLS and Authentication](/rustdesk/rustdesk/how-do-i-set-up-a-rustdesk-server-with-tls-and-authentication)

Learn to secure your self-hosted RustDesk server with TLS and authentication. Generate certificates, configure flags, and secure client connections for robust remote access.

- Tags: how-to-guide
- Published: 2026-02-26

### [RustDesk Video Codec Settings for Optimal Performance: A Complete Technical Guide](/rustdesk/rustdesk/what-are-the-video-codec-settings-for-optimal-performance-in-rustdesk)

Optimize RustDesk performance with this technical guide on video codec settings. Learn to enable hardware acceleration and automatic codec selection for superior remote desktop experiences.

- Tags: technical-guide
- Published: 2026-02-26

### [How the Enigo Library Handles Keyboard and Mouse Control in RustDesk](/rustdesk/rustdesk/how-does-the-enigo-library-handle-keyboard-and-mouse-control-in-rustdesk)

Discover how the Enigo library enables RustDesk's cross-platform keyboard and mouse control by translating commands into native OS system calls.

- Tags: how-to-guide
- Published: 2026-02-26

### [How Screen Capture Works in the RustDesk Scrap Library: Cross-Platform Internals Explained](/rustdesk/rustdesk/what-are-the-implementation-details-of-screen-capture-in-the-rustdesk-scrap-library)

Discover how the RustDesk scrap library captures screens across Linux Windows macOS and Wayland using platform specific backends unified by common abstractions and learn the cross platform internals

- Tags: internals
- Published: 2026-02-26

### [How RustDesk Implements File Transfer Between Client and Server](/rustdesk/rustdesk/how-is-file-transfer-implemented-between-a-rustdesk-client-and-server)

Discover how RustDesk implements client-server file transfer using protobuf IPC over encrypted sessions. Learn about synchronized TransferJobs for streaming, resuming, and overwrite detection.

- Tags: how-to-guide
- Published: 2026-02-26

### [How RustDesk Privacy Mode Works Across Windows, macOS, and Linux](/rustdesk/rustdesk/how-does-rustdesks-privacy-mode-work-across-different-platforms)

Discover how RustDesk privacy mode secures your screen on Windows macOS and Linux. Learn about its innovative cross-platform screen hiding techniques.

- Tags: internals
- Published: 2026-02-26

### [RustDesk Connection Manager Architecture: A Deep Dive into the IPC Bridge Pattern](/rustdesk/rustdesk/what-is-the-architecture-of-the-rustdesk-connection-manager)

Explore the RustDesk connection manager architecture, detailing its IPC bridge pattern. Understand how it links UI frameworks and Connection objects, separating concerns for efficient remote desktop operations.

- Tags: architecture
- Published: 2026-02-26

### [How to Configure a Custom Rendezvous or Relay Server for RustDesk](/rustdesk/rustdesk/how-can-i-configure-a-custom-rendezvous-or-relay-server-for-rustdesk)

Learn how to configure a custom rendezvous relay server for RustDesk. Self-host your infrastructure for enhanced security and control. Works via UI, programming, or Windows license embedding.

- Tags: how-to-guide
- Published: 2026-02-26

