Install your own server using a simple to run install script
Script is hosted on https://github.com/dinger1986/rustdeskinstall and supported on our Discord.
Currently the script will download and setup the Relay and Signal Servers (hbbr and hbbs), generate configs and host them on a password protected web page for simple deployment to clients.
Requirements
You need to have linux installed, script is tested working with CentOS Linux 7/8, Ubuntu 18/20 and Debian. A server with 1 CPU, 1 GB and 10 GB disk is plenty to run RustDesk.
How to Install the server
Please setup your firewall on your server prior to running the script.
Make sure you have got access via ssh or otherwise setup prior setting up the firewall. The example commands for UFW (Debian based) are:
ufw allow proto tcp from YOURIP to any port 22
If you have UFW installed use the following commands to configure the firewall:
ufw allow 21115:21119/tcpufw allow 8000/tcpufw allow 21116/udpsudo ufw enable
Run the following commands:
wget https://raw.githubusercontent.com/dinger1986/rustdeskinstall/master/install.shchmod +x install.sh./install.sh
Install your own server with docker(-compose)
Requirements
You need to have Docker/Podman installed to run a rustdesk-server as a docker container
Docker examples
Linux/amd64
sudo docker image pull rustdesk/rustdesk-serversudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbs -r <relay-server-ip[:port]> sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbr
Linux/arm64v8
sudo docker image pull rustdesk/rustdesk-server:latest-arm64v8sudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server:latest-arm64v8 hbbs -r <relay-server-ip[:port]> sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server:latest-arm64v8 hbbr
--net=host
only works on Linux, which makes hbbs
/hbbr
see the real incoming IP Address rather than the Container IP (172.17.0.1).If --net=host
works fine, the -p
options are not used. If on Windows, leave out sudo
and --net=host
.
Please remove --net=host
if you are having connection problems on your platform.
Docker-Compose examples
For running the docker files with the docker-compose.yml as described here you need to have docker-compose installed.
Linux/amd64
version: '3'networks: rustdesk-net: external: falseservices: hbbs: container_name: hbbs ports: - 21115:21115 - 21116:21116 - 21116:21116/udp - 21118:21118 image: rustdesk/rustdesk-server:latest command: hbbs -r example.com:21117 volumes: - ./data:/root networks: - rustdesk-net depends_on: - hbbr restart: unless-stopped hbbr: container_name: hbbr ports: - 21117:21117 - 21119:21119 image: rustdesk/rustdesk-server:latest command: hbbr volumes: - ./data:/root networks: - rustdesk-net restart: unless-stopped
Linux/arm64v8
version: '3'networks: rustdesk-net: external: falseservices: hbbs: container_name: hbbs ports: - 21115:21115 - 21116:21116 - 21116:21116/udp - 21118:21118 image: rustdesk/rustdesk-server:latest-arm64v8 command: hbbs -r example.com:21117 volumes: - ./data:/root networks: - rustdesk-net depends_on: - hbbr restart: unless-stopped hbbr: container_name: hbbr ports: - 21117:21117 - 21119:21119 image: rustdesk/rustdesk-server:latest-arm64v8 command: hbbr volumes: - ./data:/root networks: - rustdesk-net restart: unless-stopped
Set up your own server instance without using Docker
STEP 1 : Download server-side software programs
Platform versions provided:
- Linux
- Windows
The tutorial below is based on Linux build.
There are two executables and a folder:
hbbs
- RustDesk ID/Rendezvous serverhbbr
- RustDesk relay server
They are built on CentOS Linux 7, tested on CentOS Linux 7/8 and Ubuntu 18/20.
Server Requirements
The hardware requirements are very low; the minimum configuration of a basic cloud server is enough, and the CPU and memory requirements are minimal. You can also use a Raspberry Pi or something similar. Regarding the network size, if the TCP hole punching direct connection fails, the relay traffic will be consumed. The traffic of a relay connection is between 30k-3M/s (1920x1080 screen) depending on the resolution settings and screen update. If it is only for office work demand, the traffic is around 100K/s.
STEP 2 : Run hbbs and hbbr on your server
We suggest you use pm2 for managing your service.
Option 1
Run hbbs/hbbr without pm2
./hbbs -r <relay-server-ip[:port]> ./hbbr
Option 2
Run hbbs/hbbr with pm2
pm2 start hbbs -- -r <relay-server-ip[:port]> pm2 start hbbr
pm2 requires NodeJS v16+, if you fail to run pm2 (e.g. you can not see hbbs
/hbbr
in pm2 list
), please download and install the NodeJS LTS version from https://nodejs.org. If you want to make hbbs
/hbbr
auto-run after reboot, please check out pm2 save
and pm2 startup
. More about pm2. Another good tool for your logs is pm2-logrotate.
The -r
parameter of hbbs
is not mandatory, it is just convenient for you not to specify a relay server on the controlled client side. You do not need to specify port if you are using default 21117 port. The relay server specified by the client has a higher priority than this.
By default, hbbs
listens on 21115 (TCP) and 21116 (TCP/UDP), 21118 (TCP), and hbbr
listens on 21117 (TCP), 21119 (TCP). Be sure to open these ports in the firewall. Please note that 21116 should be enabled both for TCP and UDP. 21115 is used for the NAT type test, 21116/UDP is used for the ID registration and heartbeat service, 21116/TCP is used for TCP hole punching and connection service, 21117 is used for the Relay services, and 21118 and 21119 are used to support web clients. If you do not need web client (21118, 21119) support, the corresponding ports can be disabled.
- TCP (21115, 21116, 21117, 21118, 21119)
- UDP (21116)
Please run with the -h
option to see help if you want to choose your own port.
STEP 3 : Set hbbs/hbbr address on client-side
Click on the Menu button [ ⋮ ] on the right side of ID as shown below, and choose “ID/Relay Server”.
Enter the hbbs
host or IP Address in the ID Server input box (local side + remote side). The other two addresses can be left blank, RustDesk will automatically deduce (if not specially set), and the Relay Server refers to hbbr
(port 21117).
e.g.
hbbs.example.com
or
hbbs.example.com:21116
Put config in rustdesk.exe file name (Windows only)
Change rustdesk.exe
to rustdesk-host=<host-ip-or-name>,key=<public-key-string>
.exe, e.g. rustdesk-host=192.168.1.137,key=xfdsfsd32=32
.exe. You can see the config result in the About Window below.
You need to set both host
and key
, missing either one will not work.
Optionally add an #
character after the key, before the .exe
part as a delimiter, to avoid the key being mangled if Windows or the browser renames the file when downloading duplicated names.
If there are invalid characters in the key which can not be used in a Windows file name, please remove theid_ed25519
file from your server and restart hbbs
/hbbr
. This will cause the id_ed25519.pub
file to regenerate. You may need torepeat this process until you get valid characters.
Menu | About Page |
---|---|
![]() | ![]() |
Key
Different from the old version, the key in this version is mandatory, but you don’t need to set it yourself. When hbbs
runs for the first time, it will automatically generate a pair of encrypted private and public keys (respectively located in the id_ed25519
and id_ed25519.pub
files in the running directory), whose main purpose is for communication encryption.
If you did not fill in the Key:
(the content in the public key file id_ed25519.pub
) in the previous step, it does not affect the connection, but the connection cannot be encrypted.
cat ./id_ed25519.pub
If you want to prohibit users without the key from establishing non-encrypted connections, please add the -k _
parameter when running hbbs
and hbbr
, for example:
./hbbs -r <relay-server-ip[:port]> -k _./hbbr -k _
If you want to change the key, remove the id_ed25519
and id_ed25519.pub
files and restart hbbs
/hbbr
,hbbs
will generate a new key pair.
If you are using docker-compose and keys don’t exist, the start of containers will create differents keys in hbbs and hbbr folders.
You could create keys manually in hbbs and copy them to hbbr before starting the containers.
Or you could stop the hbbr container and copy the keys from hbbs to the hbbr folder, and then restart the container.
FAQs
Installation :: Documentation for RustDesk? ›
Default login name/password is admin / test1234 .
How to setup RustDesk server? ›- Create a new directory to store RustDesk docker files. ...
- Switch to the directory. ...
- Create a new rustdesk. ...
- Edit the file using a text editor like Nano . ...
- Add the following configurations to the file. ...
- Start the RustDesk server containers. ...
- Verify that RustDesk hbbs , hbbr containers are up and running.
- Step 1 - Download Rustdesk. Rustdesk can be downloaded in many different ways. ...
- Step 2 - Install Rustdesk. Once you download rustdesk-1.1.9.deb file on your pc, run the following command to install it sudo apt install ./rustdesk-1.1.9.deb. ...
- Step 3 - Run Rustdesk.
Default login name/password is admin / test1234 .
What are the server requirements for RustDesk? ›Requirements. You need to have linux installed, script is tested working with CentOS Linux 7/8, Ubuntu 18/20 and Debian. A server with 1 CPU, 1 GB and 10 GB disk is plenty to run RustDesk.
What ports are required for RustDesk? ›By default, hbbs listens on 21115(tcp) and 21116(tcp/udp), 21118(tcp), hbbr listens on 21117(tcp), 21119(tcp). Be sure to open these ports in the firewall. Please note that 21116 should be enabled both for TCP and UDP.
How to install ISO file in Linux Mint? ›- 1) You must login as a root user, if not, then switch to root user using following command:
- 2) Create the directory i.e. mount point:
- 3) Use mount command as follows to mount iso file called disk1.iso:
- 4) Change directory to list files stored inside an ISO image:
Go into the Menu and select Enable direct IP... On the client you are connecting from you can now input the Local IP address or host name the address box and click connect.
How to unlock the administrator password? ›- Open the Windows Start menu. ...
- Then select Settings. ...
- Then click on Accounts.
- Next, click on Your info. ...
- Click on Manage my Microsoft Account. ...
- Then click More actions. ...
- Next, click Edit profile from the drop-down menu.
- Then click change your password.
For the above reasons, we use computer security such as a firewall and data encryption to operate our Websites. We have implemented adequate physical, electronic and procedural safeguards and use reliable IT service providers.
How good is RustDesk? ›
Great Performance – Rustdesk is fast and lightweight, making it a reliable remote desktop application. End-to-end Encryption – Rustdesk provides end-to-end encryption thereby ensuring that your data is safe and secure.
How do I change my RustDesk username? ›- Stop Ruskdesk services.
- Close Rustdesk app.
- Open Command Prompt with administrator access.
- run cd C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config.
- run notepad Rustdesk. toml and edit the ID (see notes 1).
- save the changes and reboot, and start the Rushdesk service again (see notes 2).
RustDesk is a free Remote PC software created by RustDesk. This open-source program helps users access and control their computers from any location.
How do I choose server requirements? ›- Define Performance Requirements. Each company has unique performance requirements for their servers. ...
- Consider Potential Downtime. ...
- Anticipating Bandwidth Usage. ...
- Test Network Quality. ...
- Consider Application Scalability. ...
- Choose a Hosting Provider.
- Download the Windows Server 2022 ISO. The first and most crucial step in installing the new Windows Server 2022 is acquiring the installer file. ...
- Make the bootable ISO image for Windows Server 2022. ...
- Install Windows Server 2022. ...
- Configure your network on Windows Server 2022.
- Step 1: Acquire a Dedicated PC. This step may be easy for some and hard for others. ...
- Step 2: Get the OS! ...
- Step 3: Install the OS! ...
- Step 4: Setup VNC. ...
- Step 5: Install FTP. ...
- Step 6: Configure FTP Users. ...
- Step 7: Configure and Activate FTP Server! ...
- Step 8: Install HTTP Support, Sit Back and Relax!
Port 7777/tcp can be used by: iChat server file transfer proxy or Oracle Cluster File System 2 or even games (Ultima Online, Active Worlds). Same for port 6666 - this one is often used for relay chat, but can indeed be used by a lot of malware too.
What runs on port 8020? ›8020 and 9000 are IPC ports for namenode. The default port for namenode UI is 50070.
What ports need to be open for KMS server? ›KMS TCP listening port – By default, the KMS host is listening on port 1688 (TCP). You can change the port if needed using this setting.
How to install a package in Linux? ›- As a preliminary step, update and upgrade your system using: sudo apt-get update && sudo apt-get upgrade.
- Using the wget command, download the DEB package of the latest build of the Pacman package manager from the official Deb Pacman repository.
How to install an application in Linux? ›
...
Install Flatpak.
- If you're using Fedora, Linux Mint, Pop!_ ...
- On Ubuntu and Debian, use sudo apt install flatpak .
Use Ubuntu Software Center or Snap Store to install software from a graphical interface that's similar to your phone or tablet's app store. Use apt-get (or its GUI front-end Synaptic) to install DEB packages from a variety of repositories.
What Linux commands you can use to install packages? ›The apt command is a powerful command-line tool, which works with Ubuntu's Advanced Packaging Tool (APT). The commands contained within apt provide the means for installing new software packages, upgrading existing software packages, updating the package list index, and even upgrading the entire Ubuntu system.
Is Linux Mint a RPM or Deb file? ›Deb files are the files that are used for debian Linux based operating systems. Rpm files are the files that are used for Red Hat Linux based operating systems. Few examples of Debian based operating systems are Ubuntu, Kali, Linux Mint, Deepin, parrot OS. Deb files have a package manager called dpkg..
How to install all packages in Linux Mint? ›- open synaptic package manager. click reload to get the latest version of the softwares.
- search your desired software/s in the search box.
- right click each software you want to install and mark them for installing. ...
- after marking for installing, click apply.
- Download a Linux distro in ISO format. ...
- Insert the USB drive into your computer. ...
- Download Rufus. ...
- Open Rufus and select your USB drive from the Device list. ...
- Under Boot Selection, click the Select button and choose the ISO file you downloaded earlier. ...
- Finally, click Start.
- Create the mount point directory on Linux: sudo mkdir /mnt/iso.
- Mount the ISO file on Linux: sudo mount -o loop /path/to/my-iso-image.iso /mnt/iso.
- Verify it, run: mount OR df -H OR ls -l /mnt/iso/
- Unmount the ISO file using: sudo umount /mnt/iso/
- Prepare your Rust development env and C++ build env.
- Install vcpkg, and set VCPKG_ROOT env variable correctly. Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static. Linux/MacOS: vcpkg install libvpx libyuv opus.
- run cargo run.
...
File Transfer (Android)
- The initial directory is the Home directory of the device, you can click to quickly return to Home.
- Below the title bar is the directory level, you can click the corresponding folder to jump quickly.
- Click to access the parent directory.
Open source virtual / remote desktop infrastructure for everyone!
How to install software without admin rights? ›
Open the Microsoft Store on your Windows PC.
You should find a Microsoft Store icon in your Start menu. If you don't see it, search for store in the Windows search bar and click Microsoft Store in the search results. You can use the Microsoft Store to install lots of different programs without admin privileges.
Sadly, there is no default password or admin default password for your Microsoft Windows. However, there are ways to regain access to your Windows if you don't remember your login info. If you have Windows 8, 10, or 11 and use a Microsoft account, the easiest way to do this is by running an online reset.
How do I bypass administrator settings blocked? ›Step 1: Right-click on the file and select Properties. Step 2: In the General tab, check "Unblock" under "Security". Step 3: Click Apply and then Ok.
Is Rust the safest programming language? ›Rust is full of useful memory-safe mechanisms that prevent developers from making the mistakes they make in C and C++ if they aren't following best practices. However, while Rust might suddenly seem like a silver bullet to solve all our problems, Rust can be just as unsafe as other programming languages.
Is Rust the most secure programming language? ›Rust is what's known as a “memory-safe” language because it's designed to make it impossible for a program to pull unintended data from a computer's memory accidentally.
Does Rust allow VPN? ›To help combat hackers, we disallow players on VPN's or proxies by default. We understand some players may need to use a VPN when playing on our servers. To do so you must whitelist your steam account using our discord bot or our webpage. You will need to do this every time you connect when using a VPN.
What is the difference between TeamViewer and AnyDesk? ›AnyDesk provides features like Surveys & Feedback, Remote Server Monitoring, Remote Desktop Control, Remote Access, Dashboard, etc. Whereas, TeamViewer provides Surveys & Feedback, Remote Server Monitoring, Screen Sharing, Dashboard, File sharing and other such functionalities.
What is the open source TeamViewer equivalent? ›RustDesk. Open source remote desktop software. The Open Source TeamViewer Alternative.
Does RustDesk work on Mac? ›Easily setup RustDesk self-hosted solution on your infrastructure. Track access log and manage permissions from a modern UI. No administrative privileges or installation needed for Windows. Works on Windows, macOS, Linux, iOS, Android, Web.
How to install RustDesk? ›- Create a new directory to store RustDesk docker files. ...
- Switch to the directory. ...
- Create a new rustdesk. ...
- Edit the file using a text editor like Nano . ...
- Add the following configurations to the file. ...
- Start the RustDesk server containers. ...
- Verify that RustDesk hbbs , hbbr containers are up and running.
How should I change my username? ›
However, most companies do not allow you to change your username. Usually, you must create a new account to do this. If you need additional help with changing your username or password on another website, we suggest you contact the company or webmaster in control of that website.
How do I change my user1 name? ›Press Win + R, type “control userpasswords2”, and hit Enter. In the User Accounts panel that pops up, select the user that you want to make the changes for under User Name and click on Properties. Enter the new name in the Full Name field in the next panel and hit Apply.
Is RustDesk better than AnyDesk? ›When compared to AnyDesk, RustDesk is a far more straightforward and easy-to-use tool with almost zero setup time. AnyDesk has a basic free plan and then various advanced paid plans, whereas RustDesk is open-source, so you can customize it and self-host it.
What is the default password for RustDesk admin? ›Default login name/password is admin / test1234 . Please change the admin password as belows.
How to set up a remote gateway server? ›Go to Servers, right-click the name of your server, then select RD Gateway Manager. In the RD Gateway Manager, right-click the name of your gateway, then select Properties. Open the SSL Certificate tab, select the Import a certificate into the RD Gateway bubble, then select Browse and Import Certificate….
How do I setup a remote server? ›- Create a remote server configuration.
- Specify the name, type, and visibility of a server configuration.
- Specify user credentials defined during registration on the host.
- Enable connection to the server and specify the server configuration root.
- Map local folders to folders on the server and the URL addresses to access them.
Accessing. Get a VNC client on another computer, and type in the IP address of the computer running x11vnc. Hit connect, and you should be set. If you are attempting to access a VNC server / computer (running x11vnc) from outside of its network then you will need to ensure that it has port 5900 forwarded.
How to setup local server? ›- Install Python. ...
- Open your command prompt (Windows) / terminal (macOS/ Linux). ...
- This should return a version number. ...
- Enter the command to start up the server in that directory: ...
- By default, this will run the contents of the directory on a local web server, on port 8000.
Right Click Local Area Connection and select Properties. Then double click Internet Protocol Version 4 (TCP/IPv4). Select Use the Following IP address: and type in the IP address, Subnet mask and Default gateway. Click OK to apply the settings.
Is Remote Desktop gateway 443 or 3389? ›HTTPS protocol provides encryption between your computer and the remote desktop. It uses port 443, which transmits data through a Secure Sockets Layer (SSL) tunnel. This means that port 3389, the port used for Remote Desktop connections, is blocked to enhance network security.
What is the difference between Remote Desktop gateway and Terminal Server? ›
Terminal server vs.
The main difference is that terminal servers run on a Windows Server, and the user is therefore provided with a Windows Server desktop. Conversely, remote desktop environments typically have desktop operating systems such as Windows 10 running within virtual machines (VM).
Step 1. On the client computer, press Win + R, and type “mstsc” in the Run Dialog box to open the Remote Desktop Connection. Step 2. Click Show Options, type in the IP address and name of the host computer and then click Connect.
What protocol to connect to remote server? ›The Remote Desktop Protocol (RDP) is a protocol, or technical standard, for using a desktop computer remotely. Remote desktop software can use several different protocols, including RDP, Independent Computing Architecture (ICA), and virtual network computing (VNC), but RDP is the most commonly used protocol.
What is the command to connect remote server? ›- Open the SSH terminal on your machine and run the following command: ssh your_username@host_ip_address. ...
- Type in your password and hit Enter. ...
- When you are connecting to a server for the very first time, it will ask you if you want to continue connecting.
- Install the Tiger VNC Server. ...
- Create VNC password. ...
- Copy the vncserver@.service template file. ...
- Edit the vncuser in the following lines of the above copied file. ...
- Start the VNC desktops. ...
- Configure the VNC desktops. ...
- Enable the IPtables acceptance for Port on which VNC runs i.e 5900 series.
- Download VNC Server to the computer you want to control.
- Use VNC Server to look up the private (internal) IP address of the computer.
- Download VNC Viewer to the device you want to control from.
- Enter the private IP address in VNC Viewer to establish a direct connection.
- Step 1 – Install X11VNC. X11vnc packages are available under default repositories. ...
- Step 2 – Create Password. ...
- Step 3 – Start X11VNC Server. ...
- Step 4 – Connect from VNC Clinet. ...
- Step 5 – Setup AutoStart on Boot.
- Open File Explorer and select This PC.
- Select the Computer tab, then select Map Network Drive.
- Enter the IP address of the server or share name to give the path of the shared drive, then check the box next to Reconnect at sign-in.
- Wait for the drive to be mapped.
So, if you type localhost to your browser's address bar, it transforms to the IP address 127.0. 0.1 . This 127.0. 0.1 IP address is reserved for local servers on computers, so you will never find another IP address that starts with 127.
How do I connect to a local server IP address? ›Usually, you can access the localhost of any computer through the loopback address 127.0. 0.1. By default, this IP address references a server running on the current device. In other words, when your computer requests the IP address 127.0.