tis-rustdesk icon

RustDesk

Silent install package for RustDesk

1.4.4-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é ⚠️

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: all
  • signature_date:
  • size: 11.31 Mo
  • homepage : https://rustdesk.com/

package           : tis-rustdesk
version           : 1.4.4-4
architecture      : all
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      : c9d61902-508c-4c36-82be-11f4880c4770
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://github.com/rustdesk/rustdesk/releases
min_os_version    : 
max_os_version    : 10
icon_sha256sum    : 6e1b5881cfd9d438d6aff2c4f9c3f845a728072c75a61d637b842c95b6322a8c
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2025-11-19T12:09: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         : GfF64LZKbjUQJIwi7gIahwzZyk4PuZzit9nOlrYw5g3uZ59DDOfhWa655c88uLUHdEosLba1ADt8bDTiqMMQJbLxEifuecbLTxOD7RiTXRMoYaEDkTX3Pj5bpoMFSsivlarhO/mNVv6UVsQs0v6XWrutKMYsfwTiqv6vlzZJJVD5DfHPKNuninPS5yWWaTerLmEtDvEtbhq+V3D7MpK4UZQaqrfJQkULt2fwZ/PmpMGu4t1qsRPEwzjehdbY8KfUb8mVLNP3sVtzsFzgbBDq9J48T9Gi/68QjJUHBDagGeDGdaa/tl4Qd++Tp7EuLyrY5p/X/HjhFN4KvnaejlEN9A==

# -*- coding: utf-8 -*-
from setuphelpers import *

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"


    # 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("-sciter.exe"):
                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
1213bfc69011739855d2ce5e2c267c3518125d94ddb27206a9eae0af073c8791 : WAPT/control
6e1b5881cfd9d438d6aff2c4f9c3f845a728072c75a61d637b842c95b6322a8c : WAPT/icon.png
d58a826835c7d66d6cd29c197f7b2f1ec5bd6b216dbab444d4a37e2a8a55d46b : luti.json
fa602089fe86db2021ac226eafa13fbcbd71767851010483345977f62db90f0f : rustdesk-1.4.4-x86-sciter.exe
bd643c45c2ec2342cc92e3bf04bfa70e7a576fce83fb7e14533d0c44f992061a : setup.py
9e4e2bcfb2a08e713059df992e0ab71e9f6fa0fadb96ca7c4b2a7b9e1ab45583 : update_package.py