Skip to main content Using RustDesk as a AnyDesk Remote Support replacement is to complicated : r/rustdesk

Using RustDesk as a AnyDesk Remote Support replacement is to complicated

I've been studying RustDesk for the past day. This is not my first session of trying to grasp how the self-hosting will fit into my needs and any new problems that may be present that is not applicable with using AnyDesk.

In my opinion RustDesk revolves around the open source self hosting concept of running online services yourself. The relay and signalling server are the services that would cost money to keep online and always available (HA).

Where RustDesk ventures far away from AnyDesk (which is a commercial proprietary product), is with the fact that each person will have his own "micro" remote desktop solution for himself and/or his clients.

This is also where I think RustDesk is not focussed on the end goal. It should be extremely simple for a end-user of any of the Open Source or Pro user's clients to install the RrustDesk client that caters for each "micro" remote desktop setup.

Currently the requirement to have to "install" and then "setup" the client, is way to complicated. Even the use of the special filename is not normal. My reason is, with tools like AnyDesk or TeamViewer, the end-user has to barely understand anything. He simply has to google "AnyDesk" and then hit the one and only download button in red. Afterwhich the tool will open and present him with the needed information to get remote support. There is no "setup" step, and he don't even have to think about which version he needs for his operating system, the site will present the needed to him.

So from RustDesk perspective, we don't have the "single" solution option, since each "micro" RD setup will be different. So how I would suggest or think this should be approach is:

The open source solution should have a utility to generate a tiny bootstrap file. (Keep in mind I'm really only a Windows user, so I don't know what easy ways exist for Linux or Mac, so maybe some suggestions here is needed from native users on those platforms).

This bootstrap file should be a .exe file, with embedded settings. When you run this file, it should go online and either download the current version of the client from a specified location in the embedded settings, or from the public (GitHub) download servers. Then it should run the client as it usually do, but with the connection settings from the embedded settings. It should then also ensure that if the user selects to install it that it uses the embedded settings (I would think that this will be achieved by the bootstrap application running the client with parameters that specify the connection details)

From the outside, this is similar to how Google Chrome's installer work. You download the bootstrap installer, and it will download the newest version of the big chrome browser file, it also has the option of enabling a flag in the embedded settings to send statistics to google.

Another good suggestion would be that the bootstrap file will first check if the RustDesk client don't already exist, and then simply run it with the embedded connection settings, so you can have one client, but depending on which bootstrap file you run, you get connected to the correct "micro" RD solution.

Currently each client can only have one "micro" RD signalling server it connects to or is configured to connect to when it is installed. But say RustDesk is used by two providers that you get remote support from (something that should be seen as a highly likely as we would love people to rather use our Open Source solutions as competitors to the proprietary solutions.) Each provider can have their own tiny bootstrap file that connects the client to the correct servers by simply running the right bootstrap file.

Also it would be good if you can run multiple instances of the RustDesk client for each bootstrap setup that is "installed". So technically you can then have one RustDesk client installed version but speaking to two different signalling servers.

I also want to mention the scenario, where you may have a separate internal signalling and relay server for internal company support, and a different client instance for external relay/signal server used for your companies end-user support. So both the end-users and the support agents may want more than one instance running.

Lastly I want to mention that my biggest concern as a "micro" RD service hoster, is that my relay server and signalling client should only be used by my clients. Having a method of allowing clients in, or providing a type of "licence" key would be handy. But before you point to the Public Key. That is a workaround option but technically any person that "knows" the public key (which by nature is not a secret key) can connect to my public relay server and signalling server, and it's the same for all clients, so changing it would break all existing client connections.

I don't have an very good suggestion here, but having the idea that a "free rider" will have limited resource use or reduced speeds (throttling) but have this lifted when a unique generated licence key (client private key?) is entered for that "micro" RD setup, could be a solution. So you can still have the end-user quickly connected, and then once the agent is connected, he can enter the key remotely and lift the limitations for him to continue his support session.

Really my last thought: Currently when you have your end-user download the public client and running it, thus connecting to the public server as a start, is an option, but unlike AnyDesk, you the agent, cannot edit the client's settings remotely to "switch" the end-user over your self hosted solution (the application blocks your access to the settings). You have to explain to him to copy and paste values or enter them manually over the phone, then only can you connect to him to "take over". From a support perspective the reason why AnyDesk is so powerful, is because the end-user, no matter how novice, only have to download and run the tool and then you as the agent can take over. Again this would be solved by the tiny bootstrap file, so I can direct him to download "my" bootstrap file and then "just run it".

Andor, the acclaimed spy thriller, returns for its second and final season — only on Disney+.
Thumbnail image: Andor, the acclaimed spy thriller, returns for its second and final season — only on Disney+.
Sort by:
Best
Open comment sort options

My God that is certainly a wall of text.

Rustdesk is ridiculously easy to use.

Run it.

Use it.

"run it use it" runs with the public servers which are supposed to be demo only

More replies

Sorry, I'm practicing to write a book! I can break that into Chapters if that will help? 😂

More replies

For those that are playing along. I see that there seem to be a way to get close to a bootstrap file by using batch files and the built in API of the client. See the script in this post, and check some of the comments for ways of "packaging" something like this:

https://www.reddit.com/r/rustdesk/comments/1dfu5d0/client_deployment/

I too have looked at rust desk as a rmm-ish (for remote access only) replacement and came away with the feeling that it could be set up at scale to do this (acknowledging the challenges you laid out), but that in my case it would not be the responsible choice to do so (at this time). I can’t speak to the intended use case by rust desk, but I think I was projecting my use case on the product which isn’t quite the same. It is close, and I keep coming back to see if future development brings it closer, but imho it is t there yet and may never be (which is ok for me).

just host your custom file rustdesk-IDServer-key.exe as per rustdesk documentation then point clients to download it. The client will then install with your id server and key pre configured and connect to your server on launch. works great

maybe you should just use quickassist?

MS quick assist is unable to relay the UAC to you so not really useful when you wanna support workers who dont have admin perms but you have the creds.

More replies
More replies