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
- Keyboard shortcuts #14933
- feat(update): verify signed update metadata #15914
- feat(address-book): add a toolbar button to open the web console #16680
- Add trusted-device V2 with legacy upgrade compatibility #16548
- feat(android): transfer files directly through SAF folders #16644
Changes
- Remove ConfigUpdate handling 9f9585ce
- change(video): improve clarity after scrolling by re-encoding static frames #16128
- Tune MediaCodec static refresh budgets #16579
Fixes
- fix(drm): size a plane-rotated scanout as the mode transposed #16444
- fix(drm): the startup cache warm does not wake sleeping displays #16437
- fix(drm): drop a frame equal to the previous one, as the other capturers do #16450
- fix(drm): pace the producer to the rate the encoder takes, with the panel refresh as floor #16423
- fix(macos): open Screen Recording settings from Configure #16452
- fix(wayland): avoid clock waits in PipeWire capture #16430
- fix(wayland): place a portal stream at the only output of its size #16451
- Fix/wayland input keyboard layout #16462
- fix(video): defer refresh teardown until hw encoder warms up #16459
- fix: resolve HTTP API 407 errors through HTTPS proxies #16496
- Fix/preserve deleted printer #16500
- fix: a refused privacy-mode request no longer turns off another connection's #16507
- fix(linux): report the process user as the active user under Flatpak #16519
- Fix/macos mouse release #16516
- fix: auto-login types the OS password only at the logon or lock screen #16520
- fix(mobile): prevent late mouse-down after floating button release #16541
- fix(terminal): trim the replay buffer when output has no newline #16545
- fix(wayland): a pending portal request no longer stalls the server #16542
- fix: read host= from an exe path with non-ASCII characters #16556
- fix(windows): move installer scripts into protected temp directories #16554
- Fix fdroid bridge version #16560
- fix(linux): stop using the window in onWindowClose once GTK destroyed it #16561
- fix(client): report one error when both WebRTC race legs fail #16563
- fix(x11): keep the RandR monitors reply alive while iterating it #16595
- Forward audio latency environment to Linux user server #16597
- fix: bracket a bare IPv6 ID server when deriving the API server #16624
- fix: warn about insecure custom API server connections #16616
- Fix/download path validation #16601
- fix(file-transfer): keyboard navigation in the desktop file list #16642
- fix(ffmpeg): handle QSV encoder stalls and undersized buffers #16303
- fix(windows): protect installer handoff and use native service control #16562
- fix(linux): match the xrandr output name at the start of its line #16590
- fix(linux): gtk sudo shows no false "Sorry, try again." and retries with sudo-rs #16652
- fix(android): wheel scrolling from the controller does not reach Android peers #16409
- fix(ios): keep background music playing during remote sessions #16660
- fix(client): invalidate auto FPS state when updating FPS limits #16283
- fix(linux): load peers when the app dir is unset #16698
- fix(windows): name the privacy window executable explicitly #16711
- fix(web): preserve peer card clicks with semantics enabled #16709


