RustDesk is an open-source remote desktop tool for help-desk technicians, sysadmins and home users who want TeamViewer-style ID connections without handing their traffic to a vendor. A RustDesk download gives you one client that can both control other machines and be controlled, and it works out of the box against the project’s public servers or against your own ID and relay server.
The self-hosting option is the main reason IT teams look at it: point the client at your own server, distribute one config string, and every session stays on infrastructure you control. The client is free and licensed under AGPL-3.0; the developers also sell a separate Server Pro edition with a web console, but the client itself has no paid tiers.
RustDesk at a glance
| Item | Details |
|---|---|
| Latest version | 1.5.0 (30 September 2026) |
| Licence | Free and open source, AGPL-3.0 |
| Platforms | Windows (x64, ARM64, legacy 32-bit build), macOS (Intel and Apple silicon), Linux (deb, rpm, Flatpak, AppImage, Arch), Android, iOS (controller only), web client |
| Developer | RustDesk open-source project |
| Official website | rustdesk.com |
| Best for | Ad-hoc and unattended remote support where you want the option to self-host |
What it does
- Connects by numeric ID plus a one-time or permanent password; NAT traversal is handled by a rendezvous (ID) server, with a relay server as fallback when a direct path is not possible.
- Full remote control with multi-monitor switching, adjustable quality and codec, and clipboard sync.
- File transfer in a separate window, with a host-side permission to block copying files back from the controlled machine.
- TCP tunnelling, so you can forward a port such as RDP 3389 through the RustDesk session instead of exposing it.
- A remote terminal session (recent releases close terminal tabs automatically when the shell exits).
- Privacy mode on supported Windows hosts, which blanks the remote screen while you work.
- Direct IP access on the LAN or over a VPN (TCP 21118 by default), with no server involved at all.
- Unattended access: install the service, set a permanent password, and the machine stays reachable after reboot.
How IT teams use it
Quick attended support for a user
- Ask the user to run the RustDesk executable; it can run without installation as a temporary session.
- The user reads out the ID and one-time password from the main window.
- Enter the ID in your client, click Connect, type the password. The user can see the connection and close it at any time.
Point clients at your own server
- Set up hbbs and hbbr (see our RustDesk Server page) and copy the public key from
id_ed25519.pubin the server’s data directory. - On one client open Settings > Network, unlock with admin rights, and fill in ID Server (your host) and Key. Relay Server can usually be left empty because RustDesk infers it.
- Export the network settings as a config string and apply it to other machines during deployment:
rustdesk.exe --config <config-string>Scripted unattended setup on Windows
- Install silently from an elevated prompt with
rustdesk.exe --silent-install. - Set a permanent password and read back the ID for your inventory (run from the install folder as administrator):
rustdesk.exe --password "Long-Unique-Passphrase"
rustdesk.exe --get-id | more- Store the ID and password in your password manager, not in the script that runs on endpoints.
Install and first run
Windows. Use the EXE for a quick start or the MSI for software deployment tools; ARM64 builds exist for Windows on ARM. Running without installation is fine for one-off support, but unattended access, the login screen and UAC prompts need the installed service. Admin rights are needed to install and to change network settings.
macOS. Separate builds for Intel and Apple silicon. On first run grant Accessibility (keyboard and mouse), Screen Recording (display capture) and, on newer macOS releases, Input Monitoring in System Settings > Privacy & Security. Missing permissions are the usual cause of a black screen or a session that cannot click.
Linux. Packages for Debian/Ubuntu, Fedora/RHEL, openSUSE and Arch, plus Flatpak and AppImage. X11 sessions are the most predictable; on Wayland, screen capture and input go through the desktop portal and are more limited, so if you get a black screen try an Xorg session.
Mobile. The Android app can control other devices and can share its own screen. The iOS app can only control other devices; an iPhone or iPad cannot be controlled remotely.
Network. With the public servers you need only outbound access. With your own server, clients must reach TCP 21115–21117 and UDP 21116 on it (plus 21118–21119 if you use the web client). Direct IP access needs TCP 21118 open on the controlled host, ideally only from your admin subnet or VPN.
Limitations
- The public servers are shared and can be slow or busy at peak times; for business use, run your own server.
- Central user and device management, address-book sharing, access control and audit logs require the separate Server Pro product; the open-source server only brokers connections.
- No built-in ticketing, scripting toolbox or session recording workflow of the kind MSP tools such as ScreenConnect provide.
- Wayland support on Linux and some macOS permission prompts still need hands-on attention.
- The iOS app cannot be used as a remote host.
- Because it is free and portable, the client is also abused by scammers; tell users never to give an ID and password to an unsolicited caller.
RustDesk vs alternatives
AnyDesk and TeamViewer offer more polished management consoles and mobile support, but they are shareware (conditionally free) with a personal-use-only free licence and no self-hosted option for the free tier. MeshCentral is also free and self-hosted, but it is agent-and-browser based with device groups built in, which suits fleet management more than quick ID-based sessions. If you want RustDesk’s simple client with your own server, pair it with RustDesk Server; if you need low-latency streaming for graphics work, Parsec is the more specialised choice.
FAQ
Is RustDesk free?
Yes. The client is free and open source under AGPL-3.0, including for business use. Only the optional Server Pro edition, which adds a web console and user management, is paid.
Is there a RustDesk download for Mac?
Yes. There are separate macOS builds for Intel and Apple silicon. After installing, grant Accessibility, Screen Recording and, on newer macOS versions, Input Monitoring, otherwise you will see a black screen or have no mouse control.
Does RustDesk work on Android?
Yes. The Android app can control other computers and phones, and it can share the phone’s own screen once you grant the screen-capture and accessibility permissions it asks for.
Can I use RustDesk without installing it?
Yes. On Windows the executable can run as a temporary session, which is enough for attended support. Install it when you need unattended access, the login screen or elevated (UAC) windows.
RustDesk vs AnyDesk: which should I use?
Choose RustDesk if you want a free, open-source client and the option to keep all traffic on your own server. Choose AnyDesk if you prefer a vendor-managed service with a central console and can live with its licence terms for commercial use.
RustDesk vs TeamViewer?
TeamViewer has broader device support, deployment tooling and mature management features but is free only for personal use. RustDesk covers the core remote-control tasks at no cost and can be fully self-hosted.
How do I use RustDesk with my own server?
Run the open-source hbbs and hbbr services, then enter your server address and the public key from id_ed25519.pub under Settings > Network on each client, or push the same settings with --config.
Is RustDesk safe?
Sessions are end-to-end encrypted and the client warns you when a connection is not, the code is public, and a self-hosted server keeps metadata in-house. As with any remote tool, use strong permanent passwords, keep the client updated and restrict direct IP access to trusted networks.
Last checked against official sources: 1 October 2026 (developer website: rustdesk.com). Versions and licence terms change — confirm on the developer's site before deploying in production.
