RustDesk
Silent install package for RustDesk
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é ⚠️
Preprod packages are packages built on LUTI.
They remain in PREPROD usually for 5 days, after which a new VirusTotal scan is performed.
If the package passes this last check, it is promoted to PROD and published on the store.
- package: tis-rustdesk
- name: RustDesk
- version: 1.4.4-4
- categories: Utilities
- maintainer: WAPT Team,Tranquil IT,Amel FRADJ
- licence: opensource_free
- locale: all
- target_os: windows
- architecture: x64
- signature_date:
- size: 23.69 Mo
- homepage : https://rustdesk.com/
package : tis-rustdesk
version : 1.4.4-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 : PREPROD
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 : 92066039-2b22-4e9b-9970-cba690b72eb1
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 : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date : 2025-11-19T12:13:51.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 : TcttHhxx5mQJ3jZFX4MufnZ71X6HhzStZQtW2+i6D0yGFDNBkFn2iiLKs2gRtPEpTmcZQns6bVEHY1TBrWO0fToa/tQ51AF83NqiMGyHGVeqlteWfL9efWEzeHVmMNFQmxEFqiI9Z907x8DUYQMlEk6YSrFhix2DBi4SrMSv3Y8ZuWm2j3LCiMPcefwHo7+rZVkUn121/6Wv3V6Q/A6uNGD5N8d0uSpmiMrBTIr+qi+Uq+9lIjVFfjsYKgJVUjqzwl7RnXGsOPIGEAKJvfYlGSrDn0QgxGnUxot1J+kcyoDaeNrTCdVxhr+7rIUpRbsE2DT+I0yNpeRO/Ush/CZbmQ==
# -*- 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
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
1214fae8de07d720cc9fcf8c3877ecf72311358270e4a8747bae81f8ced56cd0 : WAPT/control
6e1b5881cfd9d438d6aff2c4f9c3f845a728072c75a61d637b842c95b6322a8c : WAPT/icon.png
f06059688a568b5ebe0a8354afff9b22e45dc09df349318c3516a89a8eac251b : luti.json
2ed35b0465fc3de72b0757e84daac278619edc30e651e6257073dceae5085332 : rustdesk-1.4.4-x86_64.exe
55fcc65a272595c60a697e88d533b18cbd807e8d3da9071d48e06fb126940657 : setup.py
1f4ebbf0be795d24941469c439809262e3a94dc75ff0d5420fc9307c7a95dac9 : update_package.py