Self-host your own RustDesk server, it is free and open source (A Teamviewer Alternativ)
Documentation : https://rustdesk.com/docs/en/self-host/install/
Public Key, you can be found it within /opt/RustDesk Server/id_ed25519.pub
user are forced to entern the key (by default) can be removed in startup script
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. 21115 is used for NAT type test, 21116/UDP is used for ID registration and heartbeat service, 21116/TCP is used for TCP hole punching and connection service, 21117 is used for Relay services, 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)
Your gratitude and finance will help me to continue integration of this QPKG and maintain up to date versions.
Last update: 2 January 2026







Zelkin –
Sorry, but I can´t get a local network connection! I´ve the public key, for ID I use the IP adress of my QNAP ….. fail to connect. what i´m doing wrong?
Mike O’Hara –
For others struggling to get this working the issue comes down to how the RustDeskServer.sh script is set up. The Author has ./hbbr running with the -K _ flag but not the ./hbbs daemon. Need to remove the -K _ flag (not recommended if exposing outside your network) or update it correctly per the RustDesk installation docs.
Novgorod –
Convenient package, no need to use the Docker solution. Unfortunately, the config is buggy. You have to edit the RustDeskServer.sh script to ADD the -k parameter to the hbbs daemon (NOT remove it like the other post says!). The important lines in the “start” section should look like this:
./hbbs -k _ &
sleep 5
./hbbr -k _ &
sleep 5
Then simply copy the public key from id_ed25519.pub to each client as usual and it should work. Maybe it’s mandatory to have the Let’s Encrypt certificate installed; I haven’t tested it without. I also had the RustDesk service die on me after some minutes, but restarting it via the QTS app GUI seems to work. The private key file (id_ed25519) is also set up to be readable by everyone, which might cause issues (let alone security issues), so while you’re poking around there with the admin account, remove all permissions except rw for the owner.
Retech –
@Novgoro
Excited to test this out but so far no success.
I have a QNAP TS-563 and I have installed RustDesk. When I try to connect to port 2115 for the WebUI it times out. I have removed and reinstalled several time without success.
I seem to even be able to start the service via ssh https://prnt.sc/TpV7HLaKKRf7
I also see that the ports are open and listening for connections https://prnt.sc/1jIo6PhC-PVd
Any Tips?
Novgorod –
@Retech: A bit late, but what can you do… What do you mean by WebUI? There is no built-in webserver in Rustdesk. It’s just the ID/Relay server, which you set up in each client under “Network” with the private key string. Of course you have to forward the relevant ports to your NAS if you want internet access to the server. I have a TS-431P2 and it works fine as a relay server as described above (no webserver) for your self-hosted Rustdesk network.
Tony –
It’s work normal.
But can not change client ID name.
It’ no ‘allow_custom_id = true’ item.