Jump to content

Recommended Posts

Posted (edited)

Hello folks,

as RustDesk is a very good open source TeamViewer alternative and flexible remote helpdesk app (free to use and ability to selfhost the server e.g. in a docker-container) there were two things i missed.

  • Address-Book for Clients/Hosts
  • Connect to Clients from different Servers not just my own (e.g. my private hosted rustdesk-server and the company-server which have different API-Keys and IP-addresses)

Solution is a kind of inventory-manager for RustDesk

RustDesk-Manager

  • need a master-passwort (set by user) for encrypting API-Keys
  • can store the files in an individual file based config-folder (e.g to use it from different computers in a cloud-sync folder)
  • can be used without installing the exe (runs with parameters
  • minimizes to tray

Requirements:

  1. running RustDesk-Server Instance
  2. rustdesk.exe 1.2.4 or above (commandline parameters were added - props to the rustdesk developers)
  3. this App

 Screenshot of the GUI:

image.png.093f37a10ca73cfbe53dd846b43ca86e.png

 

after some months of testing and improving, i want to share the code to give something back to this forum. Thanks for all useful stuff in the past and hopefully future !

Feel free to use it, change it, give a short feedback or make a donation 🤗

Yours, Stefan

 

________ EDIT ________

2025-03-16: v1.0.0.16 

  • encrypts Server-Address and Client-IDs (for existing Items just rightclick for edit and save them to encrypt Address/ID as well)
  • saves the setting of "SaveClientPass" to Ini file instead of registry as it it a common setting for all users of a certain Config

2025-03-23: v1.0.0.20

  • Clientpassword is now part of editing a client -> can be displayed by asking the Masterpassword again

image.png.136d962039f6a81796d86b4714aca32f.png

 

 

 

Rustdesk-Master.au3

Edited by jeff_poweruser
additional featurs
Posted (edited)
5 hours ago, jeff_poweruser said:

give a short feedback

$gvProgramPortable = 0
Nice, I love everything portable. But you use the registry to find the ini files. Might as well save everything to ini files. That way is truly portable.

Thanks for sharing, looks handy to have :)

Edit:
I changed the RegRead() to:

Func RegIniRead($sKeyName, $sValueName)
    Return IniRead(@ScriptDir & "\RegIni.ini", $sKeyName, $sValueName, "")
EndFunc
Func RegIniWrite($sKeyName, $sValueName, $sType, $vValue)
    IniWrite(@ScriptDir & "\RegIni.ini", $sKeyName, $sValueName, $vValue)
EndFunc

for testing and entered the master password, closed it and entered not the same password. For what I saw it only encrypted the API, but the rest is not encrypted. I'd feel safer if every important value is encrypted.

Edited by argumentum
more

Follow the link to my code contribution ( and other things too ).
FAQ - Please Read Before Posting.
autoit_scripter_blue_userbar.png

Posted (edited)
6 hours ago, argumentum said:

$gvProgramPortable = 0
Nice, I love everything portable. But you use the registry to find the ini files. Might as well save everything to ini files. That way is truly portable.

Thanks for sharing, looks handy to have :)

Edit:
I changed the RegRead() to:

Func RegIniRead($sKeyName, $sValueName)
    Return IniRead(@ScriptDir & "\RegIni.ini", $sKeyName, $sValueName, "")
EndFunc
Func RegIniWrite($sKeyName, $sValueName, $sType, $vValue)
    IniWrite(@ScriptDir & "\RegIni.ini", $sKeyName, $sValueName, $vValue)
EndFunc

for testing and entered the master password, closed it and entered not the same password. For what I saw it only encrypted the API, but the rest is not encrypted. I'd feel safer if every important value is encrypted.

To your first point, i saved the pathes to Config-Dir (-> Ini-Files in REG for ability to use them on different system with different paths to my cloud shared directory (between different systems for using this tool). Will think of the portable settings a little bit more. Nevertheless i changed the Setting for Saving ClientPasswords now to $gvIniSettigs", which didn't make sense in the registry 👍

To your second point not just to encrypt the API-key - what more would make sense ?

  • Server-Address
  • Client-ID  
  • Client friendly name and Server friendly name as well ?

I'll update this the next view days and share it.

Thanks for your feedback !

Edited by jeff_poweruser

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...