RustDesk
Silent install package for RustDesk
1.4.3-4
Utilities
Utilities
How to use Rustdesk with WAPT
Configuration procedure:
Three packages are required to operate RustDesk through the WAPT console: tis-rustdesk , tis-rustdesk-server and tis-rustdesk-config-template.
tis-rustdesk-server
https://wapt.tranquil.it/store/en/tis-rustdesk-server
- Install this package on your RustDesk server.
- Once installed, go to the machine's audit data and retrieve the data for the tis-rustdesk-server package.
- Retrieve the rustdesk_cfg key and copy it.
tis-rustdesk-config-template
https://wapt.tranquil.it/store/en/tis-rustdesk-config-template
- Download the "tis-rustdesk-config-template" package.
- Private Repository > tis-rustdesk-config-template > right-click > launch update_package.
- Click OK on the message indicating that the update-package() function has been launched.
- Once the window is displayed, tick "upload directly", select a package maturity, note your package prefix and tick "increment package version".
- Click on ‘Run update-package for selected packages’.
- Enter the rustdesk_cfg key > click on "Upload the package".
- Install this new package on the client workstations.
Usage Procedure:
- Install the tis-rustdesk package ( https://wapt.tranquil.it/store/en/tis-rustdesk ) on the client machines.
- Install the customized RustDesk configuration package.
- Launch waptconsole.
- Select the machine to control in PMAD > Right-click "Connect via RustDesk".
⚠️ Il est nécessaire que la machine ayant la console WAPT ai le paquet Rustdesk ainsi que le paquet de configuration installé ⚠️
- package: tis-rustdesk
- name: RustDesk
- version: 1.4.3-4
- categories: Utilities
- maintainer: WAPT Team,Tranquil IT,Amel FRADJ
- licence: opensource_free
- locale: all
- target_os: windows
- architecture: x64
- signature_date:
- size: 22.91 Mo
- homepage : https://rustdesk.com/
package : tis-rustdesk
version : 1.4.3-4
architecture : x64
section : base
priority : optional
name : RustDesk
categories : Utilities
maintainer : WAPT Team,Tranquil IT,Amel FRADJ
description : RustDesk is a full-featured open source remote control alternative for self-hosting and security with minimal configuration
depends :
conflicts :
maturity : PROD
locale : all
target_os : windows
min_wapt_version : 2.3
sources :
installed_size :
impacted_process :
description_fr : RustDesk est une alternative de contrôle à distance open source complète pour l'auto-hébergement et la sécurité avec une configuration minimale
description_pl : RustDesk to w pełni funkcjonalna alternatywa zdalnego sterowania typu open source do samodzielnego hostingu i bezpieczeństwa przy minimalnej konfiguracji
description_de : RustDesk ist eine voll funktionsfähige Open-Source-Fernsteuerungsalternative für Selbst-Hosting und Sicherheit mit minimaler Konfiguration
description_es : RustDesk es una completa alternativa de control remoto de código abierto para el autoalojamiento y la seguridad con una configuración mínima
description_pt : O RustDesk é uma alternativa de controlo remoto de código aberto com todas as funcionalidades para auto-hospedagem e segurança com configuração mínima
description_it : RustDesk è un'alternativa di controllo remoto open source completa per l'auto-hosting e la sicurezza con una configurazione minima
description_nl : RustDesk is een volledig open source alternatief voor afstandsbediening voor zelfbeheer en beveiliging met minimale configuratie
description_ru : RustDesk - это полнофункциональная альтернатива удаленного управления с открытым исходным кодом для самостоятельного размещения и обеспечения безопасности с минимальной конфигурацией
audit_schedule :
editor :
keywords : RustDesk
licence : opensource_free
homepage : https://rustdesk.com/
package_uuid : f4733230-c820-4999-b4f4-d27e837f27cc
valid_from :
valid_until :
forced_install_on :
changelog : https://github.com/rustdesk/rustdesk/releases
min_os_version : 10
max_os_version :
icon_sha256sum : 6e1b5881cfd9d438d6aff2c4f9c3f845a728072c75a61d637b842c95b6322a8c
signer : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date : 2025-11-19T16:50:37.000000
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
signature : l2DaZ6b0b+h1uoc4MbPY1sb3YoJoOfF8HJytB+KKLUl1xMok3hywEhC6V39E1hIGexPv1wrcWsBcaFCgrO1GMmGqvL5l/q0TdGr5TdsUsSiPvNL611inSb4lZcGBlmRs9dDCCn95bpDqJ9zXXoTdb5Dt0m5V1e8PsNEve+1azUrKUGYUaZOy7WvfUh8RNEkutt1pYVeSZEVb8RbHSvegVEkoW9audmTLbDxvEwb7kvirv1ytbbgZEmu3qeBeRSx6Ci9G8k2CVa+HbFuz97soatWv51gc8fjZqrmG70CfcC6/oEBINv2XYqElkFIMrnGk+bYuHHWoT3wCFeJYv+Xsaw==
# -*- coding: utf-8 -*-
from setuphelpers import *
from waptutils import TimeoutExpired
r"""
{
"key":"RustDesk",
"name":"RustDesk",
"version":"1.2.3.2",
"install_date":"",
"install_location":"C:\\Program Files\\RustDesk",
"uninstall_string":"\"C:\\Program Files\\RustDesk\\RustDesk.exe\" --uninstall",
"publisher":"RustDesk",
"system_component":0,
"win64":true
}
"""
# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
def install():
# Declaring local variables
bin_name = glob.glob("rustdesk-*.exe")[0]
# Installing the software
nb=0
while True:
nb=nb+1
try:
install_exe_if_needed(
bin_name,
silentflags="--silent-install",
key="RustDesk",
min_version=control.get_software_version(),
timeout=60
)
break
except TimeoutExpired :
if nb == 2:
raise
pass
# Clear the uninstallkeys to avoid the no-code audit and uninstall
uninstallkey.clear()
def audit():
# Declaring local variables
audit_status = "OK"
detected_apps = installed_softwares("RustDesk")
if detected_apps:
installed_version = detected_apps[0]["version"]
control.name = detected_apps[0]["name"]
else:
installed_version = ""
control.name = control.package.split("-", 1)[-1].replace("-", " ").title()
audit_version = False
# Auditing software
if not installed_version:
print(f"{control.name} is not installed.")
audit_status = "ERROR"
elif audit_version and Version(installed_version, 4) < Version(control.get_software_version(), 4):
print(f"{control.name} ({installed_version}) installed version should be: {control.get_software_version()}")
audit_status = "WARNING"
else:
print(f'{control.name} ({installed_version if not installed_version in control.name else "" }) is installed.')
audit_status = "OK"
return audit_status
def uninstall():
# Uninstalling the software
for to_uninstall in installed_softwares("RustDesk"):
print("Removing: %s (%s)" % (to_uninstall["name"], to_uninstall["version"]))
killalltasks(ensure_list(control.impacted_process))
run(uninstall_cmd(to_uninstall["key"])[:2], accept_returncodes=[0, 1, 3010])
wait_uninstallkey_absent(to_uninstall["key"])
# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *
import glob
def update_package():
# Declaration of local variables
package_updated = False
proxies = get_proxies_from_wapt_console()
if not proxies:
proxies = get_proxies()
api_url = "https://api.github.com/repos/rustdesk/rustdesk/releases/latest"
update_dict = {
"latest_bin": {
"windows-x64": "x86_64.exe",
"windows-x86": "x86-sciter.exe",
}
}
# Get data from API
releases_dict = wgets(api_url, proxies=proxies, as_json=True)
exe_found = False # Flag pour indiquer la découverte d'un fichier .msi
for release in releases_dict:
if exe_found:
break
for asset in releases_dict["assets"]:
if asset["browser_download_url"].endswith(
update_dict["latest_bin"][f'{ensure_list(control.target_os)[0].split("(")[0]}-{ensure_list(control.architecture)[0]}']
):
url_download = asset["browser_download_url"]
filename = url_download.split("/")[-1]
last_version = releases_dict["name"].replace("-",".")
exe_found = True # Mettre à jour le flag pour indiquer qu'un .exe a été trouvé
break
if not isfile(filename):
package_updated = True
wget(url_download, filename, proxies=proxies)
# nettoyer les fichiers temporaires
for f in glob.glob("*.exe"):
if f != filename:
remove_file(f)
control.set_software_version(last_version)
control.save_control_to_wapt()
return package_updated
2c8f4266c995faf6baa196328a44c82eb8c35047f7ede2e4caa0d7014540ebee : WAPT/README.md
1d12debddc8b24c78d34665113210f5a4df68da565780d2a7107a8e11b7a9f38 : WAPT/README_fr.md
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
c93b619c9e779b05e0ad56f1a8299fa66badc5021b93b99f2b87d8ccb90b63ed : WAPT/control
6e1b5881cfd9d438d6aff2c4f9c3f845a728072c75a61d637b842c95b6322a8c : WAPT/icon.png
078a9e61645435c154b20d0cb6953acca591c35d173bd723f64e045276317744 : luti.json
f7be49bb7c59aa2ed81cfe4c54b86b1cf532a734181b8810bdf79c5dda965b71 : rustdesk-1.4.3-x86_64.exe
55fcc65a272595c60a697e88d533b18cbd807e8d3da9071d48e06fb126940657 : setup.py
1f4ebbf0be795d24941469c439809262e3a94dc75ff0d5420fc9307c7a95dac9 : update_package.py