RustDesk remote desktop

RustDesk

RustDesk is a free (AGPL-3.0) open-source remote desktop with TeamViewer-style ID connections, end-to-end encryption and an optional self-hosted relay server. Windows, macOS, Linux, Android and iOS.

OSWindows, macOS, Linux, Android, iOS
Size24.1 MB
Version1.5.0
FreeLatest version: 1.5.0Actively developed

RustDesk is a free, open-source remote desktop application for help-desk staff, sysadmins and home users who want TeamViewer-style connections by ID without sending their sessions through a vendor cloud. The RustDesk download is a single client that can both control other computers and be controlled. It works out of the box with the project’s public servers, or against your own ID and relay server that you run yourself.

The project is written in Rust with a Flutter interface and is licensed under AGPL-3.0, so it is free for commercial use too. Version 1.5.0 was published on 30 September 2026. Sessions are encrypted end to end, and the self-hosting option is the main reason many IT teams choose it over closed tools.

RustDesk at a glance

ItemDetails
Latest version1.5.0 (30 September 2026)
LicenceFree and open source, AGPL-3.0; a paid RustDesk Server Pro exists separately for teams that want a web console
PlatformsWindows, macOS, Linux, Android and iOS
Download sizeAbout 24 MB
DeveloperRustDesk team and open-source contributors
Official websiterustdesk.com
Best forRemote support and unattended access, especially with your own relay server

What it does

  • Connects two computers by a numeric ID and a one-time or permanent password, with no router changes on either side.
  • Remote control and view-only sessions, with clipboard sync and file transfer between the machines.
  • Audio forwarding and a built-in text chat during a session.
  • TCP tunnelling, so you can reach a service such as RDP or SSH on the remote network.
  • Unattended access: install the client as a service and connect any time with a permanent password.
  • An address book and a connection history for the machines you manage.
  • Direct peer-to-peer connections when the network allows it, and an automatic relay when it does not.

How a RustDesk connection works

Each client registers with an ID server (called hbbs) that helps two machines find each other and tries to open a direct connection. If a direct path is impossible, for example behind strict NAT, traffic goes through a relay server (hbbr). By default the client uses the public servers run by the project. In a company you normally run both programs yourself, so the IDs and the relayed traffic stay on your own infrastructure.

How sysadmins use it

Start a quick support session

  1. Ask the user to start RustDesk. The main window shows their ID and a one-time password.
  2. Enter the ID in your own RustDesk, click Connect and type the password.
  3. The user sees a prompt and can accept the session. Use the toolbar for file transfer, the clipboard and the chat.

Set up unattended access

  1. On the managed computer open Settings and install RustDesk as a service, so it starts before login.
  2. In Security, set a permanent password. Use a long random one and keep it in your password manager.
  3. Connect with the ID and that password whenever you need the machine; nobody has to sit at it.

Run your own ID and relay server

  1. On a Linux server with Docker, create a folder and save this docker-compose.yml:
    services:
      hbbs:
        container_name: hbbs
        image: rustdesk/rustdesk-server:latest
        command: hbbs
        volumes:
          - ./data:/root
        network_mode: "host"
        depends_on: [hbbr]
        restart: unless-stopped
      hbbr:
        container_name: hbbr
        image: rustdesk/rustdesk-server:latest
        command: hbbr
        volumes:
          - ./data:/root
        network_mode: "host"
        restart: unless-stopped
  2. Run docker compose up -d. The first start creates a key pair in the data folder; the public key is the file id_ed25519.pub.
  3. Open these ports on the server firewall: TCP 21115, 21116 and 21117, UDP 21116, and TCP 21118 and 21119 only if you use the web client.
  4. In each RustDesk client open Settings, Network, ID/Relay server. Enter your server’s host name in the ID server and relay fields and paste the public key into the Key field.

Install and first run

Windows. Unpack the downloaded archive and start the RustDesk program. It runs straight away without installation; choose Install in its window if you want it as a service that starts with Windows. Windows 10 and 11 are the main targets.

macOS and Linux. There are native builds for both. On macOS grant the Accessibility and Screen Recording permissions the first time you use it. On Linux packages exist for Debian, Fedora and Flatpak, and there is an AppImage.

Android and iOS. The phone apps can control a computer. Android can also be controlled, which helps with remote support for relatives.

Gotchas.

  • If you change the server in one client, change it in all of them; clients on different servers cannot see each other.
  • Permanent passwords protect unattended access, so do not reuse them and do not share the ID and password in the same message.
  • Security software sometimes flags remote tools. If an antivirus quarantines the program, add an exception only after checking that the file is the one you downloaded.
  • To remove RustDesk on Windows, stop the service from its settings and then uninstall it in Settings and Apps.

Limitations

  • The public servers are shared, so connection speed and availability depend on them. A private relay solves this at the cost of running a server.
  • The open-source server has no web console, user management or audit log; those are in the paid Server Pro.
  • AGPL-3.0 matters if you modify the code and offer it as a service to others.
  • Remote login screens and some protected windows need the service installed and the right permissions.
  • It is a remote control tool, not a full device management suite: there is no patching, inventory or scripting.

RustDesk vs alternatives

TightVNC and TigerVNC are fine on a local network or over a VPN, but they need direct network access and do not encrypt the whole session by default. RustDesk adds ID-based connections, NAT traversal and a relay, so it works across the Internet without port forwarding. NoMachine is another free remote desktop with strong performance and a different protocol; it is a good second choice if RustDesk feels slow on your link.

Compared with TeamViewer and AnyDesk, the clearest difference is control: RustDesk lets you host the servers yourself, and its code is open for review. The commercial tools offer more polish and management features out of the box.

Frequently asked questions

Is RustDesk free?

Yes. The client and the basic server are free and open source under AGPL-3.0, including for business use. Only RustDesk Server Pro, with its web console and extra management features, is paid.

Is RustDesk safe to use?

Sessions are encrypted end to end and the code is public. The usual rules apply: use long passwords, prefer your own server for company machines, keep the client updated and download it from a source you trust.

Do I need my own server?

No. The client works with the public servers straight away. A private server is worth it when you manage many machines or want your traffic to stay on your own infrastructure.

Which ports does a self-hosted RustDesk server use?

TCP 21115, 21116 and 21117, UDP 21116, and TCP 21118 and 21119 for the web client.

Can RustDesk replace TeamViewer?

For remote support and unattended access, usually yes. If you depend on advanced management, reporting and licensing features of a commercial tool, check that the paid Server Pro or another product covers them.

Conclusion

RustDesk is a practical free remote desktop for IT teams: connect by ID, work through NAT, and move the servers onto your own hardware when you are ready. Start with the public servers to try it, then set up hbbs and hbbr for real use.

Last checked against official sources: 27 October 2026 (developer website: rustdesk.com). Versions and licence terms change — confirm on the developer's site before deploying in production.

Other articles

Submit your application