RustDesk is a free and open-source remote desktop software that lets you connect to and control another computer securely over the internet. Written in Rust for speed, RustDesk works out of the box, no configuration required. You have full control of your data, with no concerns about security.

Switch from TeamViewer, AnyDesk, or Splashtop to RustDesk for a secure and reliable remote desktop experience with your own self-hosted servers. Empower your remote access with self-hosted servers.

What is RustDesk and how does it compare to TeamViewer or AnyDesk?

RustDesk is a free and open-source remote desktop software that allows users to connect and control computers over the internet. Unlike TeamViewer or AnyDesk, RustDesk gives users full control over their data by allowing them to self-host their own server infrastructure, which appeals to users concerned with privacy and data ownership.

Does RustDesk support file transfer and clipboard sharing?

Yes, RustDesk supports file transfer and clipboard synchronization between the host and the client. These features work across platforms and are enabled by default in most configurations, offering functionality similar to commercial remote desktop tools.

Is it necessary to self-host RustDesk, or can I use it out of the box?

RustDesk works right out of the box using its public relay and rendezvous servers. However, for maximum privacy and control, especially in enterprise or sensitive environments, many users prefer to self-host the server components. Self-hosting is optional but recommended if you want to avoid using third-party infrastructure.

How secure is RustDesk?

Security is one of RustDesk's core strengths. It uses end-to-end encryption with modern cryptographic standards to ensure that no one – including the server operator – can see your screen data or file transfers.

How does performance compare to other remote desktop apps?

Performance is impressively smooth, especially over local networks or when using a self-hosted relay. RustDesk delivers low-latency input and clear image quality even on moderate connections. While commercial alternatives may have more mature network optimization, RustDesk's lightweight codebase and peer-to-peer design give it a strong edge in responsiveness and reliability.

Is RustDesk ready for business or enterprise use?

Yes, but setup matters. RustDesk can be deployed in offices, schools, or managed IT environments where control and privacy are priorities. Businesses often self-host the RustDesk server for internal access and integrate it with existing network policies. It's ideal for organizations that want an open-source remote access platform without recurring licensing costs.

What's New

Added

  • 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
  • File transfer, auto start on reconnect
  • Show proxy settings on iOS
  • Load custom installed CA root on mobile
  • UI costomization for Sciter version
  • Insecure TLS option
  • macOS: command line of update from dmg file

Changes

  • rustls-tls fall back to native-tls for better TLS compatibility on all platforms
  • The http post in UI is changed from Flutter to native rust for better compatibility and consistency.
  • flatpak, socket x11, better compatibility

Fixes

  • Image paused for multiple incoming connections with multiple screens
  • Camera capture large error log
  • macOS hwcodec check for both x64 and Arm64
  • Scale custom on mobile
  • Show alias instead of peerId in terminal tab label
  • Reqwest proxy auth
  • macOS bigsur cvbuffer crash
  • keep chat window within screen bounds to prevent hidden window
  • terminal clear command on some env

RustDesk 1.4.3 Changelog

Added

  • Virtual mouse on mobile (demo)
  • Custom scale mode with inline controls and live apply (demo)
  • Wayland multi-monitor screen capture functionality (demo)
  • More assign from cli and devices.py
  • Address book api res/ab.py, and audit api res/audits.py
  • IPv6 prefix-based rate limiting on login failures

Changes

  • Centralize debounce of save window pos and save window pos on close
  • Touch mode option moved from peer option to local option

Fixes

  • Arch/Wayland 100% cpu
  • Low fps on macOS if running as service (installed)
  • Window positioning on Windows when the taskbar is on the top or left
  • Websocket reconnect
  • Crash on android armv7 (introduced in 1.4.1)
  • uninstall idd
  • Portable program can't run from cmd on win7

RustDesk 1.4.2 changelog

Added

  • show your cursor on controlled side in view mode
  • Incremental file transfer support (both sides being 1.4.2 are required)
  • sciter hide cm #12570
  • show TCP/UDP/IPv6 in tooltip #12613
  • clipboard files, audit #12730
  • advanced option, main window, always on top #12731
  • disable-discovery-pane
  • address-book level password

Changes

  • try udp/tcp punch both at the same time
  • Enhance .desktop File with New Keywords for Improved App Discoverability #12599
  • Upgrade codecs

Fixes

  • nokhwa, win, infinite loop #12489
  • set allowMalformed to true when decode utf8 #12693
  • ios, file transfer, home dir #12657
  • On Ubuntu, the activity's name is "RustDeskURL Scheme Handler" instead of "RustDesk" at the top bar #12587
  • audio delay (Linux): added pulse audio and pipewire configuration RustDesk service #12724
  • mouse event, is in current window #12760
  • Scrambled image #12719
  • port forward, invalid msg

RustDesk 1.4.0 changelog

Added

  • Allow logon screen password on lock screen
  • Take screenshot
  • Hostname as id for Pro
  • Auto update on Windows, manual update on Windows and Mac
  • Web socket support on all platform
  • Trackpad speed adjustment #11680

Changes

  • Remove system proxy dep of reqwest
  • Capitalize display name
  • Only use tcp in socks5 proxy since so many users failed to set up UDP for socks5 including ourselves
  • "Exit" changed to "Stop service" on tray to avoid confusion

Fixes

  • Virtual F11 key to macOS (11366)
  • Tray startup is tried via sudo (and denied) which results in an email #9802
  • Http proxy with reqwest
  • Hide cm
  • Lan discovery
  • Rdp #10039
  • Mouse scroll, remote tabs #11708
  • 2FA login status