RustDesk: Open-source remote desktop application
Cross-platform remote desktop in Rust with self-hosted capabilities, alternative to TeamViewer.
Learn more about RustDesk
RustDesk is an open-source remote desktop application built with Rust that supports peer-to-peer connections and self-hosted server deployments. The application uses Flutter for its GUI on desktop platforms and implements video codecs, TCP/UDP networking, and file transfer protocols for remote access functionality. It supports multiple platforms including Windows, macOS, Linux, Android, and iOS, with compatibility for various display protocols like RDP, VNC, and Wayland. The software can operate through public rendezvous servers or private self-hosted infrastructure for organizations requiring data sovereignty.
Self-Hosting Capability
Supports deployment of private relay and rendezvous servers, allowing organizations to maintain complete control over their remote desktop infrastructure and data routing.
Cross-Platform Architecture
Built with Rust and Flutter to provide native applications across desktop, mobile, and web platforms while maintaining consistent functionality and performance characteristics.
P2P Connectivity
Implements peer-to-peer networking protocols that can establish direct connections between devices when network topology permits, reducing latency and server dependency.
# Ubuntu/Debian setup
sudo apt install -y zip g++ gcc git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev \
libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake make \
libclang-dev ninja-build libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libpam0g-dev
# Arch Linux setup
sudo pacman -Syu --needed unzip git cmake gcc curl wget yasm nasm zip make pkg-config clang gtk3 xdotool libxcb libxfixes alsa-lib pipewireRustDesk 1.4.5 adds user-specific remote control permissions, relative mouse mode, and enhanced mobile terminal functionality.
- –Allow configuring remote control permissions for different users
- –Relative mouse mode
- –Terminal: two-row floating keyboard buttons for common commands (mobile only)
- –Remove gzip encoding in Legacy AB pushes
- –Show login dialog when clicking note if not logged in
Improved Wayland support for multi-monitor setups, edge scrolling, and enhanced file transfer capabilities.
- –Better Wayland support for multi scaled monitors (Gnome and KDE)
- –Edge scrolling
- –Ask for note at the end of connection
- –ios: Allow transfered files to be managed by Files and iTunes
- –Allow flipping sort order in mobile app's file transfer
Nightly build adds edge scrolling, improves file transfer functionality, and enhances mobile app features.
- –Edge scrolling
- –ios: Allow transfered files to be managed by Files and iTunes
- –Allow flipping sort order in mobile app's file transfer
- –File transfer, auto start on reconnect
- –Show proxy settings on iOS
Top in Mobile & Desktop
Related Repositories
Discover similar tools and frameworks used by developers
Moonlight PC
Open source game streaming client for NVIDIA GameStream and Sunshine with hardware-accelerated decoding.
AyuGram4A
Fork of exteraGram with message history preservation, ghost mode, and privacy-focused features.
Telegram Desktop
Official Telegram desktop client for Windows, macOS, and Linux using the MTProto secure protocol.
AAAD
Android app for installing third-party Android Auto apps without root or developer settings.
Bluesky Social
React Native app for Bluesky social network on web, iOS, and Android using AT Protocol.