TiloBox
Back to directory
RustDesk project preview

RustDesk

Open-source remote desktop software and self-hosted alternative to TeamViewer.

LicenseAGPL-3.0
GitHub stars121.6k
Last commit1 weeks ago
Tags5 topics
Screen SharingRustP2pRemote DesktopSelf Hosted
Overview

Why consider RustDesk?

RustDesk provides full remote desktop access and file transfer with complete self-hosting capabilities. It works out of the box with zero configuration while allowing private relay infrastructure.

Guided learning

Learn RustDesk by building

Practical setup notes, real use cases, and copy-ready examples in one focused guide.

3 min read 11 sections
In this guide11 sections

What is RustDesk?

RustDesk is an open-source remote desktop application written in Rust that operates as a direct alternative to TeamViewer and AnyDesk. It gives developers, system administrators, and support teams full control over their remote access infrastructure by supporting private relay and rendezvous servers alongside a public rendezvous network.

The platform provides end-to-end encryption, multi-platform client applications for Linux, macOS, Windows, Android, and iOS, low-latency display streaming, and bidirectional file transfer.

Who Is It For?

  • System Administrators: Managing remote headless servers and employee workstations without third-party subscription fees.
  • IT Support Teams: Assisting end users with remote desktop troubleshooting across Windows, macOS, and Linux without session limits.
  • Privacy-Conscious Organizations: Mandating on-premises data isolation where remote screen buffers and keystrokes must never pass through external proprietary relays.

Key Features

  • End-to-end encryption based on modern cryptographic primitives.
  • Self-hosted rendezvous and relay server (hbbs and hbbr) deployable in Docker.
  • Built-in file transfer and remote file manager.
  • Integrated TCP tunneling and remote terminal access.
  • Support for software and hardware video encoding including VP8, VP9, and AV1.

Prerequisites

  • For the Client: Linux, macOS, Windows 10/11, or Android.
  • For Self-Hosted Relay Server: A Linux VPS (1 vCPU, 1 GB RAM) with public IP and open ports 21115-21119.
  • Docker and Docker Compose (recommended for server deployment).

Installation and Self-Hosted Setup

You can download prebuilt desktop binaries from GitHub releases or run your own rendezvous (hbbs) and relay (hbbr) servers using Docker Compose.

yaml
1version: '3'
2
3services:
4 hbbs:
5 container_name: hbbs
6 image: rustdesk/rustdesk-server:latest
7 command: hbbs -r rustdesk.example.com:21117
8 volumes:
9 - ./data:/root
10 network_mode: "host"
11 restart: unless-stopped
12
13 hbbr:
14 container_name: hbbr
15 image: rustdesk/rustdesk-server:latest
16 command: hbbr
17 volumes:
18 - ./data:/root
19 network_mode: "host"
20 restart: unless-stopped

Start the servers on your Linux VPS:

bash
1docker compose up -d

Retrieve your server public key generated in the ./data directory:

bash
1cat ./data/id_ed25519.pub

In your RustDesk client on desktop, open Settings -> Network -> ID/Relay Server and input your domain host and public key.

Practical Use Cases

1. Remote Enterprise Support

An IT administrator connects to a remote employee's workstation across NAT barriers using a 9-digit ID and password to resolve software configuration issues without vendor session timeouts.

2. Secure Server Maintenance

A DevOps engineer accesses remote physical machines situated behind enterprise firewalls through RustDesk TCP tunneling without setting up dedicated VPN clients on each workstation.

3. Cross-Platform File Transfer

A developer transfers large binary builds and log archives directly between a local macOS laptop and a remote Ubuntu workstation through the integrated graphical file browser.

Troubleshooting and Limitations

  • NAT Traversal Delay: Direct P2P connections can fall back to relay mode when symmetric NATs prevent direct UDP hole punching; running your own hbbr relay guarantees predictable throughput.
  • Wayland Display Capture on Linux: On modern Linux distributions using Wayland, ensure pipewire and xdg-desktop-portal are active, or switch to an X11 session for full remote input simulation.

Official Resources

Related tools

More options with a similar category or technology profile.

RustDesk FAQs

RustDesk is listed as a Productivity tool on TiloBox. Review the overview, features, and official documentation on this page to decide whether it solves your specific workflow.

Start with the project's GitHub repository and official website for supported installation and deployment instructions. Test the setup with representative data or a small project before rolling it out more widely.

RustDesk is listed under the AGPL-3.0 license. Read the complete license text and the project's notices before using, modifying, or distributing the software.

Production readiness depends on your requirements. Review maintenance activity, security practices, documentation, backup and upgrade procedures, and compatibility with your stack; then validate it in a non-production environment.

RustDesk is listed as an alternative to AnyDesk. Compare the core workflow, deployment model, integrations, and licensing against your must-have requirements before switching.