tis-rustdesk icon

RustDesk

Paquet d’installation silencieuse pour RustDesk

1.4.4-4
Utilities
Utilities

Faire fonctionner Rustdesk avec WAPT

Procédure de configuration :

Trois paquets sont nécessaires pour faire fonctionner RustDesk au travers de la console WAPT. tis-rustdesk , tis-rustdesk-server et tis-rustdesk-config-template

tis-rustdesk-server

https://wapt.tranquil.it/store/fr/tis-rustdesk-server

  • Installer ce paquet sur votre serveur RustDesk.
  • Une fois installé, se rendre dans les données d'audit de la machine et récupérer celle du paquet "tis-rustdesk-server".
  • Récupérer la clée "rustdesk_cfg" et la copier.

tis-rustdesk-config-template

https://wapt.tranquil.it/store/fr/tis-rustdesk-config-template

  • Télécharger le paquet "tis-rustdesk-config-template".
  • Dépôt Privé > "tis-rustdesk-config-template" > clic-droit > lancer l'update_package.
  • Cliquer sur OK dans le message indiquant le lancement de la fonction update-package().
  • Une fois la fenêtre présente, Cocher "uploader directement", Sélectionner une maturité de paquet, noter votre préfixe de paquet et cocher "incémenter la version du paquet".
  • Cliquer sur "Lancer l'update-package pour les paquets sélectionnés".
  • Renseigner la clée "rustdesk_cfg" > Cliquer sur "Upload du paquet".
  • Installer ce nouveau paquet sur les postes clients.

Procédure d'installation sur les postes clients :

  • Installer sur les machines client le paquet tis-rustdesk ( https://wapt.tranquil.it/store/en/tis-rustdesk ).
  • Installer le paquet de configuration de RustDesk personnalisé par vos soins.
  • Lancer la console WAPT
  • Sélectionner dans l'inventaire, la machine à piloter en PMAD > Clic-droit "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é ⚠️

Les paquets PREPROD sont des paquets construits via LUTI. Ils restent généralement 5 jours en PREPROD, après quoi un scan VirusTotal est effectué.
Si le paquet réussit ce dernier contrôle, il est promu en PROD et publié sur le 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