Open Source Remote Desktop

RustDesk: Free Alternative to TeamViewer & AnyDesk

RustDesk is an open-source remote desktop application that lets you control another computer remotely. This guide will show you how to set up your own server for reliable, continuous connections without depending on third-party infrastructure.

100% Free

Open source under GPL license

Self-Hosted

Full control over your infrastructure

Cross-Platform

Windows, Mac, Linux, iOS, Android

Understanding Client, Server, Remote & Local

Before diving into setup, let's understand the basic concepts of how remote desktop software works.

Local Computer

Your computer — The device you're physically sitting in front of. This is where you control things from. In RustDesk, you install the client application here to connect to other computers.

Remote Computer

The other computer — The device you want to access from far away. You install RustDesk on this computer too, and it waits for incoming connections so you can control it.

Client Application

The software you use — This is the RustDesk app installed on both computers. When you open it to connect to another computer, it acts as the "client" making the request.

Server (Relay)

The middleman — A server in the cloud that helps your computers find each other and relay data when direct connections aren't possible (like when behind firewalls or routers).

Why You Need Your Own Server

While RustDesk provides free public servers, running your own server gives you significant advantages.

Reliability & Uptime

Problem: Public servers can be slow, overloaded, or down. Solution: Your own server is always available when you need it, with predictable performance.

Privacy & Security

Problem: Your connection traffic routes through someone else's servers. Solution: With your own server, your data stays under your control—no third parties involved.

Speed & Latency

Problem: Public servers might be geographically far from you. Solution: Place your server near your location for faster response times and smoother remote control.

No Rate Limits

Problem: Free public servers may throttle bandwidth or limit connections. Solution: Your server, your rules—use it as much as you need without restrictions.

How to Install Your Own RustDesk Server

You'll need a Linux server (VPS or cloud instance) to host your RustDesk relay server. Here's how to set it up step by step.

01

Get a Linux Server (VPS)

Requirements: Any Ubuntu, Debian, or CentOS Linux server with at least 1GB RAM and 10GB storage.

🚀 Recommended VPS Provider

Get Hostinger VPS - $4.99/month

✓ Philippines-based • ✓ Singapore datacenter • ✓ Low latency • ✓ Easy setup

Alternative Providers:

  • DigitalOcean ($6/month), Linode, Vultr, AWS Lightsail, Azure, Google Cloud

What you need: SSH access and a public IP address. Note down your server's IP address—you'll need it later.

⚠️ Disclaimer: Server setup procedures may change over time as hosting providers update their interfaces. The instructions below are accurate as of November 2025. If you encounter differences, consult your provider's current documentation.

📘 Click here for Hostinger VPS Setup Guide

How to Set Up Hostinger VPS for RustDesk:

Step 1: Purchase VPS

  • Visit Hostinger VPS Cart (KVM 1 plan pre-selected with 12-month billing)
  • Choose KVM 1 plan (1 vCPU, 4GB RAM) or higher — $4.99/month
  • Select Ubuntu 22.04 LTS as operating system
  • Choose server location: Singapore for best PH latency
  • Complete purchase and wait 5-15 minutes for provisioning

Step 2: Access VPS Panel

  • Log in to Hostinger hPanel
  • Go to VPS section in left sidebar
  • Click on your VPS to open management panel
  • Note your IP address (shown at the top)
  • Note your root password (sent via email, or reset in panel)

Step 3: Connect via SSH

ssh root@YOUR_VPS_IP_ADDRESS

Enter your root password when prompted. Windows users: use PuTTY or Windows Terminal.

Step 4: Update System

sudo apt update && sudo apt upgrade -y

Step 5: Configure Firewall (Hostinger-specific)

Hostinger has a built-in firewall in hPanel. You need to open ports in TWO places:

A. In Hostinger hPanel:

  • Go to your VPS dashboard → Firewall tab
  • Click "Create Firewall Configuration"
  • Add these ports (one by one):
    • 21115 TCP (RustDesk ID Server)
    • 21116 TCP (RustDesk Relay)
    • 21117 TCP (RustDesk Relay)
    • 21118 TCP (NAT hole punch)
    • 21119 TCP (NAT hole punch)
  • Protocol: TCP, Source: 0.0.0.0/0 (allow all)
  • Click Apply

B. In Ubuntu UFW (via SSH):

sudo ufw allow 21115:21119/tcp
sudo ufw allow ssh
sudo ufw enable
sudo ufw status

Step 6: Proceed to Step 2

Your Hostinger VPS is now ready! Continue with Step 2 below to download and install RustDesk server.

💡 Tip: Hostinger's Singapore datacenter provides ~20-50ms latency to Philippines, making it ideal for smooth RustDesk connections within PH/SEA region.

02

Download RustDesk Server

SSH into your server and download the latest RustDesk server software:

Ubuntu/Debian:

cd /opt
sudo wget https://github.com/rustdesk/rustdesk-server/releases/download/1.1.11-1/rustdesk-server-linux-amd64.zip
sudo apt install unzip -y
sudo unzip rustdesk-server-linux-amd64.zip
03

Open Required Firewall Ports

RustDesk needs these ports open on your server:

  • 21115 TCP — ID/Registration Server (hbbs)
  • 21116 TCP — Relay Server (hbbr)
  • 21117 TCP — Relay Server (hbbr)
  • 21118-21119 TCP — NAT hole punching

Ubuntu/Debian firewall commands:

sudo ufw allow 21115:21119/tcp
sudo ufw allow 21116/tcp
sudo ufw reload
04

Start RustDesk Services

Start the two RustDesk server components:

cd /opt/rustdesk-server
sudo ./hbbs -r YOUR_SERVER_IP &
sudo ./hbbr &

Replace YOUR_SERVER_IP with your actual server IP address (e.g., 159.195.14.208)

What these do:

  • hbbs — ID/Registration server that assigns unique IDs to clients
  • hbbr — Relay server that routes traffic between clients when direct connection fails
05

Get Your Public Key (Optional but Recommended)

For added security, RustDesk generates an encryption key. Find it here:

cat /opt/rustdesk-server/id_ed25519.pub

Copy this key—you'll paste it into your RustDesk clients later for encrypted connections.

06

Make Services Run at Boot (Optional)

To ensure your RustDesk server starts automatically after reboots, create systemd service files:

Create hbbs service:

sudo nano /etc/systemd/system/rustdesk-hbbs.service

Paste this content:

[Unit]
Description=RustDesk ID Server
After=network.target

[Service]
Type=simple
ExecStart=/opt/rustdesk-server/hbbs -r YOUR_SERVER_IP
WorkingDirectory=/opt/rustdesk-server
Restart=always

[Install]
WantedBy=multi-user.target

Then enable and start the services:

sudo systemctl enable rustdesk-hbbs
sudo systemctl start rustdesk-hbbs
sudo systemctl status rustdesk-hbbs

Repeat the same process for hbbr (relay server).

Configure RustDesk Client to Use Your Server

Now that your server is running, configure the RustDesk application on your computers to use it.

Step 1: Install RustDesk Client

  • Download from rustdesk.com
  • Install on both your local computer (the one you'll control from) and remote computer (the one you want to access)
  • Available for Windows, macOS, Linux, Android, and iOS

Step 2: Configure Server Settings

  • Open RustDesk application
  • Click the Settings icon (gear/cog)
  • Go to Network tab
  • In "ID Server" field, enter: YOUR_SERVER_IP
  • In "Relay Server" field, enter: YOUR_SERVER_IP
  • Optional: Paste your public key in "Key" field for encryption
  • Click OK to save

Important: You must configure these settings on BOTH computers (local and remote) for them to find each other through your server. If only one computer uses your server, they won't be able to connect.

03

Connect Between Computers

On the remote computer (the one you want to access):

  • Open RustDesk and look at the "Your Desktop ID" number (e.g., 123 456 789)
  • Share this ID with yourself (write it down or send it via email/chat)

On your local computer (the one you're using now):

  • Open RustDesk
  • Enter the remote computer's ID in the "Remote ID" field
  • Click Connect
  • On the remote computer, accept the connection request
  • You're now controlling the remote computer!

Frequently Asked Questions

Common questions about RustDesk and self-hosting.

Do I really need my own server?

No, RustDesk works with free public servers. However, for reliable, continuous connections that don't depend on third-party availability, your own server is highly recommended. Public servers can be slow or unavailable.

How much does a server cost?

As low as $5/month for a basic VPS from providers like DigitalOcean, Linode, or Vultr. This is much cheaper than commercial remote desktop subscriptions (TeamViewer: $50+/month).

Is this secure?

Yes! RustDesk uses end-to-end encryption. When you use your own server, you have full control—no data goes through third parties. Enable the public key authentication for even stronger security.

Can I access my home computer from anywhere?

Yes! As long as both computers are configured to use your server and the remote computer is running RustDesk, you can connect from anywhere with internet access.

What if my server goes down?

Your connections won't work until the server is back up. Choose a reliable hosting provider with good uptime. You can also set up monitoring alerts. Most VPS providers offer 99.9%+ uptime.

Can I use Docker instead?

Yes! RustDesk provides official Docker images. Check the GitHub repository for Docker Compose examples and instructions.

Ready to Get Started?

RustDesk is completely free and open source. Download the client and start using it with public servers today, or follow this guide to set up your own server for the best experience.