-
-
Notifications
You must be signed in to change notification settings - Fork 10.1k
FAQ
https://github.com/rustdesk/rustdesk/wiki/How-does-RustDesk-work%3F
The community releases are free of charge if you wish to self host, no license is required.
- Yes, you can host your own RustDesk server
- There's a guide here: https://rustdesk.com/docs/en/self-host/
You can download RustDesk server from:
Please ensure you have downloaded the newest release of RustDesk server as licenses are no longer required for the community release.
Some users reported they could not pull latest RustDesk server with docker in some countries. https://github.com/rustdesk/rustdesk-server/issues/184
https://rustdesk.com/docs/en/self-host/client-configuration/
https://rustdesk.com/docs/en/self-host/client-configuration/hardcode-settings/
- It is primarily used to help your RustDesk clients to find each other.
- Once this is done, it helps you try and get a direct connection between them.
- If this fails and your client and controlled devices cannot talk directly to each other, the relay part of side the server will be used to handle the connection.
I only use RustDesk for a few devices on my local network with no Internet connectivity... Can I still use RustDesk with direct ip access?
Yes, you can!
By default this is turned off for security, however if wish to allow this you can do so by doing steps below:
- Enable direct ip access on controlled side (the machine you wish to control)
- On the client you are connecting from you can now input the Local IP address or host name the address box and click connect.
- the connection is unecrypted, please do not send us issue about this.
- You can not use hostname, because we do not it is id or a name, but there is a workaround, https://github.com/rustdesk/rustdesk/discussions/5833
Supper simple format just a=b on each line, a is the name of the option you see from the --help. e.g. e.g.
port=123456
You can also put them in .env file under the same directory of hbbs/hbbr. hbbs/hbbr reads .env file no matter if you specify -c.
https://rustdesk.com/docs/en/dev/build/web/
http://web.rustdesk.com/ no https for the time being
https://github.com/rustdesk/rustdesk-server/issues/22
https://github.com/rustdesk/rustdesk/discussions/570
https://github.com/rustdesk/rustdesk/issues/509
The hardware requirements are very low, the minimum configuration of the cloud server is enough, and the CPU and memory requirements are the minimum. 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.
If you host the server in your intranet with some type of routers, you may have network problem because of NAT hairping,
https://rustdesk.com/docs/en/self-host/nat-loopback-issues/
https://github.com/rustdesk/rustdesk-server/issues/24#issuecomment-1234029480
https://github.com/rustdesk/rustdesk/issues/732#issuecomment-1300514997
https://github.com/rustdesk/rustdesk/issues/732#issuecomment-1319433120
https://www.reddit.com/r/rustdesk/comments/1174mgw/comment/j9e9avt/?context=3
https://github.com/rustdesk/rustdesk-server/issues/200#issuecomment-1543710510
https://github.com/rustdesk/rustdesk-server/issues/134#issuecomment-1303437173
https://github.com/rustdesk/rustdesk-server/discussions/353#discussioncomment-8427782
Also make sure your relay server has correct key, https://github.com/rustdesk/rustdesk/issues/7358
https://github.com/rustdesk/rustdesk/issues/2573#issuecomment-1408672281
https://github.com/techahold/rustdeskinstall/issues/30
https://github.com/techahold/rustdeskinstall
https://github.com/elico/rustdesk-ansible-installer
- Most users can make it work following the tutorial: https://rustdesk.com/docs/en/self-host/rustdesk-server-oss/install/
- These videos should be helpful. https://www.youtube.com/watch?v=9nzHm3xGz2I and https://www.youtube.com/watch?v=EeFqj23jxMk. This one is also good, https://www.youtube.com/watch?v=OPVFVAnmpLk. Another one in French: https://www.youtube.com/watch?v=J7t32K5--cM
- This video for Windows, https://discord.com/channels/804630702657110016/804630702657110018/1254653367037329499, but it does not cover https and firewall etc.
- Most questions are about Linux and network, which can be Googled and ChatGPTed.
- How to Set Up a RustDesk Server with Docker: A Step-by-Step Guide, https://h3x0r.tech/setting-up-a-rustdesk-server-with-docker.
- Go to Discord, there may be some nice users help you. Or search in the discord
welcome
channel, there are many users who have asked similar questions. Whenever, search is your best friend. - If you host the server in your intranet with some type of routers, you may have network problem because of NAT hairping, https://github.com/rustdesk/rustdesk/wiki/FAQ/#deploy-rustdesk-server-in-intranet
- With nginx: https://github.com/rustdesk/rustdesk/issues/835#issuecomment-1162169296
- arm https://github.com/rustdesk/rustdesk-server/issues/125#issuecomment-1320943098
- Change id, addressbook/api/login and web console? https://github.com/rustdesk/rustdesk/wiki/FAQ#change-id-addressbookapilogin-and-web-console
- Windows
- firewalls https://www.reddit.com/r/rustdesk/comments/11u5aou/unable_to_connect_ubuntu_machine_to_selfhosted/
Again, the document is open source, modify it if you do not like it, https://github.com/rustdesk/doc.rustdesk.com
You need to enable it via env RUST_LOG=debug
, e.g.
RUST_LOG=debug ./hbbs ....
https://github.com/rustdesk/rustdesk/wiki/How-does-RustDesk-work%3F
Our free public server does not persist access log yet.
- Mac:
~/Library/Logs/RustDesk/server/
- Linux:
/root/.local/share/logs/RustDesk/server/
or~/.local/share/logs/RustDesk/server/
- Windows:
- Portable:
%AppData%\RustDesk\log\RustDesk_rCURRENT.log
- Installed:
- Controlled side:
C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\log\server\
- Control side:
%AppData%\RustDesk\log\RustDesk_rCURRENT.log
- Controlled side:
- Portable:
- Android (Available in V1.2.4)
Wayland is experimentally supported in nightly build (1.2), but with some limitations.
https://github.com/rustdesk/rustdesk/issues/4276#issuecomment-1537105758
https://github.com/rustdesk/rustdesk/issues/4280#issuecomment-1543618744
https://github.com/sponsors/rustdesk
https://github.com/rustdesk/rustdesk/discussions/966#discussioncomment-6017364
https://github.com/rustdesk/rustdesk/discussions/4424
https://github.com/rustdesk/rustdesk/issues/418#issuecomment-1595882547
https://github.com/rustdesk/rustdesk-server/issues/265
https://www.reddit.com/r/rustdesk/comments/14y6u8c/looking_into_rustdesk_but_have_a_question/
RustDesk >= 1.2.0
- Map mode
With "Map 1:1", all keys are mapped from the local to the remote keyboard based on their position. For example, the key "q" on a local QWERTY keyboard will transmit an "a" character if connected to a remote device with an AZERTY keyboard.
This mode is not recommended for office work but it can be useful if the remote device uses specialty software to map macros to specific keys.
- Translate mode
When "Translate" is selected, all keys will be transmitted to the remote endpoint as if the local keyboard layout is active on the remote device.
However, this layout mode may cause problems with certain programs such as video games as they use scan code to process the key presses.
- Legacy mode
This mode is for compatibility with RustDesk <= 1.1.9.
Try out force relay first. If it does not work, please check the possible reasons below:
- You do not install
hbbr
yet - https://github.com/rustdesk/rustdesk-server-pro/discussions/386#discussioncomment-10631971
- The controlled side is configured with wrong key
Please check access logs on the controlled side, along with the hbbs
and hbbr
logs; you can find more clues.
RustDesk >= 1.2.0
Some users experience connection problems with 10054
or deadline has elapsed
(https://github.com/rustdesk/rustdesk-server-pro/discussions/325, broken pipe (os error 32
) error code. Try to add the suffix '/r' to the remote ID.
or
https://github.com/rustdesk/rustdesk/wiki/Headless-Linux-Support
https://github.com/rustdesk/rustdesk/pull/7811#issuecomment-2072965054
https://github.com/rustdesk/rustdesk/discussions/5631#discussioncomment-6943538
https://github.com/rustdesk/rustdesk/issues/3261#issuecomment-1446360067 https://github.com/rustdesk/rustdesk/discussions/7762#discussioncomment-9175161
https://www.reddit.com/r/rustdesk/comments/17ajz0x/windows_11_and_remote_desktop_performance_is/
When you run RustDesk on Windows without installation, you will find the window is freeze when you open system settings, task manager etc. This is classic Windows UAC limitation. You can avoid this by accepting the connection with elevation or requesting elevation from menu of controlling window, or run as admin, or install it on controlled side.
RustDesk can not run normally on Fedora with default SELinux policy. Please configure it correctly, https://rustdesk.com/docs/en/client/linux/selinux/
https://github.com/rustdesk/rustdesk/issues/6198#issuecomment-1794694273
https://github.com/rustdesk/rustdesk/discussions/5833
You need to install virtual display yourself.
https://github.com/rustdesk/rustdesk/discussions/6444#discussioncomment-8521217
"With the Pro version, can you make a client with all server settings in it easy?"
Yup, fairly easy, as long as you have a basic understanding of Linux. All you need is a fresh linux setup on a small VM or server (2GB Ram, 2 CPU) "Is it a good alternative for anydesk or TeamViewer for a msp connecting to a lot of different pc's and company's?"
It's an OUTSTANDING alternative for both, but especially TeamViewer. Using RustDesk with an internal Relay Server helps show how buggy, slow and bloated TeamViewer is (even the paid version), which we moved away from.
It's difficult to accurately describe how fast and lean RustDesk remote desktop connections are with your own server. The Web Gui you get with the paid version is outstanding and feature rich. Some of it's features include the ability to setup user accounts to manage the server, and the ability of users to login to the server to see all machines listed, and login to any of those machines with a single click, shared address book, custom client generator with your icon, logo, configuration, preset settings, and name.
The paid version also provides a number of security features not available with the free version, such as extensive logging (login attempts, time/date stamp, originating IP) and client machine management.
https://github.com/rustdesk/rustdesk/discussions/5095#discussioncomment-8768671
I also hit this in arch kde x11 session.
sudo pacman -S xorg-xhost
add below in my
.bashrc
solve my problem (which enables local root can access you X11 even without $XAUTHORITY)xhost +local:root > /dev/null 2>&1
https://www.reddit.com/r/rustdesk/comments/1bkeqcv/wake_on_lan_support/
https://github.com/rustdesk/rustdesk/discussions/6398#discussioncomment-9065991
-
Try out using force relay https://github.com/rustdesk/rustdesk/wiki/FAQ#force-relay.
-
If it is windows portable, it may be caused by the Windows Firewall Dialog, since the first P2P connection attempt will give rise to a TCP listening port. To avoid this, for custom client, you can set below option. Otherwise, you can use force relay https://github.com/rustdesk/rustdesk/wiki/FAQ#force-relay.
-
Check your relay server (hbbr/21117) is using the same key as hbbs (using the same
id_ed25519
file or having the same content). You can see some errors related to connection to relay server in https://github.com/rustdesk/rustdesk/wiki/FAQ#access-logs on controlled side.It may be caused by using wrong volumns mapping in docker compose file, please strictly follow https://rustdesk.com/docs/en/self-host/rustdesk-server-pro/installscript/docker/#docker-compose, or you changed hbbs key but forgot to sync to hbbr (and restart), or some other reasons.
We have seen two cases having this hbbr key issue while upgading RustDesk server.
- Make sure you install RustDesk on Windows, a system service is required for this so you have to install
- Check if
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\SoftwareSASGeneration
registry have correct value, 1 or 3. https://knowledge.broadcom.com/external/article/21517/ctrlaltdel-does-not-work-on-remote-contr.html
We encountered this issue when there are multiple RustDesk clients operating on Android, one being the public release and the other a custom client. If you initiate the service of one client and subsequently start the service of the other, you will not be able to retrieve an image. To rectify this, you must forcibly close the first client (making sure it's not running in the background) and then restart the other one. If the issue persists, please reboot your Android device.
https://rustdesk.com/docs/en/client/linux/#login-screen Above may not work in some distro or gnome version, here is fix (may be not proper) https://github.com/rustdesk/rustdesk/issues/8106#issuecomment-2122537264
https://github.com/rustdesk/rustdesk/issues/6192#issuecomment-1848358333
https://github.com/rustdesk/rustdesk/issues/388#issuecomment-1915892570
Case study:
A: What happened lately?
B: Nothing, our rustdesk works since 8 months. But this morning it’s doesn’t work, even after restarting the docker.
A: I believe there is some unawared router/network or firewall change on your side causing the problem. You can check access log (controlled device) to see if there is something different. https://github.com/rustdesk/rustdesk/wiki/FAQ#access-logs
B: Thanks, you have the true answer. The issue come from our Fortinet Client.
https://github.com/rustdesk/rustdesk/discussions/3980#discussioncomment-11172341
By default rustdesk.exe
in command line on Windows has no output, you have to run it like below.
-
cmd.exe:
rustdesk.exe <args> | more
, e.g.rustdesk.exe --get-id | more
-
PowerShell:
rustdesk.exe <args> | Out-String
, e.g.rustdesk.exe --get-id | Out-String
https://github.com/rustdesk/rustdesk/discussions/6377#discussioncomment-8094952
https://github.com/rustdesk/rustdesk/discussions/5345#discussioncomment-6772568
Instructions to run RustDesk on iOS Simulator [MacOs Apple Silicon]:
- Follow the CI for ios till https://github.com/rustdesk/rustdesk/blob/662a768d8382c7de22321e1a2646e8c7bee4f12b/.github/workflows/flutter-build.yml#L436
- Make sure to use target
x86_64-apple-ios
instead ofaarch64-apple-ios
here 👆 - Try
flutter run
and you might get some path error. So search and replace code containing pathtarget/aarch64-apple-ios
totarget/x86_64-apple-ios
- Now you will run into some errors related to architecture mismatch. To fix this add the following to your Podfile
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
+ config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64 i386"
end
end
end
Source: https://github.com/flutter/flutter/issues/94914#issuecomment-992898782
-
flutter run
👍
https://github.com/rustdesk/rustdesk/issues/672#issuecomment-1146668238
This is usually because your custom client was built before you set up https
.
Please go to custom clients of web console, modify API
below to correct url, e.g. https://rustdesk.example.com (please remember to remove :21114
), then rerun the build to get a new custom client with the new API
value. If it is not custom client, please go to RustDesk client Settings
-> Network
, set correct API
(the same as web console address).
Here is a good example, https://github.com/rustdesk/rustdesk/discussions/8999
https://github.com/rustdesk/rustdesk/issues/4023#issuecomment-1566588786 https://github.com/rustdesk/rustdesk/discussions/6241#discussioncomment-10262867
On our release page, there are exe
and msi
files, both can be used to install on Windows. If you are our Pro users, you can choose to build exe
or msi
on custom client edition page.
- If you use the exe file:
.\rustdesk.exe --silent-install
- If you use the msi file:
msiexec /i .\rustdesk.msi REINSTALL=ALL REINSTALLMODE=vamus /quiet
Below is an example of forwarding local 24 port to remote 22. Then you can access remote with ssh localhost -p 24
.
https://www.reddit.com/r/rustdesk/comments/1ejw8l3/self_hosted_and_dynamic_ip_question/
https://github.com/rustdesk/rustdesk/discussions/2889#discussioncomment-6514549
- General: https://github.com/rustdesk/rustdesk/discussions/5834#discussioncomment-7119453
- Devices: https://github.com/rustdesk/rustdesk-server-pro/discussions/182#discussioncomment-9083837
- Users: Please create a token (check above link for devices) with
Read and write
ofUser Permission
. Download https://raw.githubusercontent.com/rustdesk/rustdesk/master/res/users.py.
# Noted: here, all name containing `test` will be returned
python3 users.py view --url http://rustdesk.yourcompany.com --token <token> --name test
python3 users.py disable --url http://rustdesk.yourcompany.com --token <token> --name test
python3 users.py enable --url http://rustdesk.yourcompany.com --token <token> --name test
https://github.com/rustdesk/rustdesk/issues/3533#issuecomment-1490065448 https://github.com/rustdesk/rustdesk/pull/3425#issuecomment-1606196384 https://github.com/rustdesk/rustdesk/discussions/1330#discussioncomment-6860073 https://github.com/rustdesk/rustdesk/wiki/FAQ#impossible-to-get-android-input-permission
root
https://github.com/rustdesk/rustdesk/issues/3533#issuecomment-1490226898
https://github.com/rustdesk/rustdesk/discussions/8981#discussioncomment-10277642
https://github.com/rustdesk/rustdesk/discussions/6241
How to remember this.
adb shell appops set com.carriez.flutter_hbb PROJECT_MEDIA allow
https://github.com/rustdesk/rustdesk/discussions/6241#discussioncomment-10262867
If your app
file is transfered from telegram or some other tools, the metadata might be changed by these tool.
https://github.com/rustdesk/rustdesk/discussions/8593
https://github.com/rustdesk/rustdesk/issues/2756#issuecomment-2294775234
https://github.com/rustdesk/rustdesk/issues/6223#issuecomment-1787984126
The controlled devices you wish to access remotely are managed devices. These devices are displayed on the Devices
page of the web console
. Excessive devices will be disabled, you can not access these excessive devices remotely. The number of managed devices on the plan is also the maximum number of items allowed in one address book.
Licensed users, also known as login users, the number of people from your team can log into the web console and the RustDesk client. These users are displayed on the Users
page of the web console
. Access control
and shared address books are designed on individual users and user groups.
You need to log in to the RustDesk client first to access address books and permission-enabled devices.
Here is how TeamViewer defines concurrent connections: it is the number of individual users who can make outgoing connections simultaneously. You can also call it channel, in the same channel, unlimited sessions are allowed.
For example, on one machine A, you can connect to B, C, D, etc., at the same time without limitation. Each outgoing connection in this case is a session, and all of these sessions together are called one channel; unlimited concurrent outgoing sessions are allowed on one machine or in one channel. However, you cannot establish a new connection from B to C while there is an outgoing connection on A at the same time if your license allows only one concurrent connection."
Add proxy support for license verification (also apply to custom client generator and oidc) in case you can not access internet directly
e.g. proxy=http://username:password@example.com:8080 ./hbbs
you can also add proxy=http://username:password@example.com:8080
to .env file under working directory (where you can see id_ed25519 / db.sqlite3
files)
About how to set up http proxy server, please check https://github.com/rustdesk/rustdesk/wiki/Set-up-http-proxy-server
Check C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\log\server\RustDesk_rCURRENT.log
, if there is something as below.
[2024-09-03 02:01:37.719270 +03:00] INFO [src\server\connection.rs:3105] #1524 Connection closed: connection manager error: Failed to launch ["--cm"] with session id 1:..... (os error 740)
This is because of something related to permissions, here is a solution.
https://github.com/rustdesk/rustdesk-server-pro/discussions/382#discussioncomment-10525725
Edit:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
:Value name: C:\Program Files\RustDesk\rustdesk.exe
Value data: RunAsInvoker
https://github.com/rustdesk/rustdesk/discussions/6008#discussioncomment-7268951
https://rustdesk.com/docs/en/self-host/client-configuration/advanced-settings/#hide-tray
- Method 1
- Method 2
You can preset password with custom client. We do not support password-less access yet, but you can share passwords easily with shared address books. If you want to disable random (one-time) password and hide popup, please follow this. You can also set advanced option to disable random password.
Yes, we provide quick support clients which receive connection only.
https://github.com/rustdesk/rustdesk/discussions/8981
https://github.com/rustdesk/rustdesk/wiki/Set-up-http-proxy-server
https://github.com/rustdesk/rustdesk/discussions/4945
https://github.com/rustdesk/rustdesk/issues/9274
Yes, we prioritize feature requests from our current Pro
users, but not from potential users. We cannot guarantee a 100% commitment, but we will try our best especially for some common requests.
https://github.com/rustdesk/rustdesk-server-pro/discussions/389
https://github.com/rustdesk/rustdesk-server-pro/discussions/182#discussioncomment-9082528
Please ensure the time on the server is not out of sync, set the correct time accordingly.
https://github.com/rustdesk/rustdesk-server-pro/discussions/414
You need to upgrade your plan for more devices, or https://github.com/rustdesk/rustdesk-server-pro/discussions/182
https://github.com/rustdesk/rustdesk/issues/616#issuecomment-1837468064
- Try modify %APPDATA%\RustDesk\config\RustDesk_local.toml by removing the line starting with wm_Main.
- Or press
windows key + shift + left/right
https://github.com/rustdesk/rustdesk/issues/6223#issuecomment-1945512879
If both sides are Windows, you can see a RDP
shortcut as below.
Otherwise, please follow below:
- Start
tcp tunneling
first.
- Create a port forward
- Now, you can connect to RDP via
localhost:1234
.
The callback is the public URL of the API so https://[yourservername]/api/oidc/callback
as long as you setup https and a public URL. The Client ID and secret are part of the Azure application setup steps in the instructions
We provide this solution if you have some devices that need to be supported occasionally without unattended access.