RustDesk Server
Paquet d'installation silencieuse pour RustDesk Server
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 deuxième scan VirusTotal est effectué pour vérifier que le status n'a pas changé.
Si le paquet réussit ce dernier contrôle, il est promu en PROD et publié sur le store.
- package: tis-rustdesk-server
- name: RustDesk Server
- version: 1.1.16-17
- categories: Utilities
- maintainer: WAPT Team,Tranquil IT,Amel FRADJ
- licence: opensource_free
- locale: all
- target_os: windows
- architecture: x64
- signature_date:
- size: 13.41 Mo
- homepage : https://rustdesk.com/
package : tis-rustdesk-server
version : 1.1.16-17
architecture : x64
section : base
priority : optional
name : RustDesk Server
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 : bd8789dc-62f8-4027-aecc-3232a44ddf60
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 : 2026-07-21T02:12:59.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 : LkyVNUOZPEeW42xSG5wU1Od356tItIh1x2TmRYwfHHcfKO/qir+ouO6sgHUa2KX6QcPMgMnfjmOccT1gLg3fQmGQcpyYCUCqFr+Wb6xuOQHBmMvfqGO9K5YimE1Hmz1lwVrWPl/8XwN3+8DLv9/Qr1Zgu5qinZWsZya98WtXRIb8JaV0JOwg1MGXR1fkBJRUTvwuwq11AsuVJW91Ot6crLW7MQRhZiz1iZmZvtduay69erX9INapvWYI7XcxGt3YPV6wHzB6mPrEbNZaKFPPPhFDswGjJqa7J9Qor3IyOfE7veAdi3jOwNvYF/W4BvLqwNkbEBKeTu0Q0+vagiXblg==
# -*- coding: utf-8 -*-
from setuphelpers import *
import time
import glob
import json
import base64
# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
locsrvrustdesk = makepath(programfiles,'RustDeskServer')
apiurl = ''
def install():
#replace nssm by angelize
if service_installed("RustDesk hbbs service"):
service_delete('RustDesk hbbs service')
if service_installed("RustDesk hbbr service"):
service_delete('RustDesk hbbr service')
bin_name = glob.glob("*.zip")[0]
unzip(bin_name)
if service_installed('RustDeskServer'):
if service_is_running('RustDeskServer'):
service_stop('RustDeskServer')
copytree2("RustDeskServer",locsrvrustdesk)
remove_file(makepath("rustdesk-server-windows-x86_64-unsigned",'x86_64','RustDeskServer.Setup.exe'))
copytree2(makepath("rustdesk-server-windows-x86_64-unsigned",'x86_64'),locsrvrustdesk)
mkdirs(makepath(locsrvrustdesk ,'log'))
if not service_installed('RustDeskServer'):
run(r'"%s" --install' % makepath(locsrvrustdesk,"RustDeskServer.exe"))
run_notfatal('netsh advfirewall firewall delete rule name="%s" program="%s"'% ("hbbr", makepath(locsrvrustdesk, "hbbr.exe")))
run_notfatal('netsh advfirewall firewall delete rule name="%s" program="%s"'% ("hbbs", makepath(locsrvrustdesk, "hbbs.exe")))
run('netsh advfirewall firewall add rule name="%s" dir=in profile=private,domain,public action=allow program="%s" enable=yes'% ("hbbr", makepath(locsrvrustdesk, "hbbr.exe")))
run('netsh advfirewall firewall add rule name="%s" dir=in profile=private,domain,public action=allow program="%s" enable=yes'% ("hbbs", makepath(locsrvrustdesk, "hbbs.exe")))
if service_is_running('RustDeskServer'):
service_stop('RustDeskServer')
service_start('RustDeskServer')
def audit():
hostname = get_hostname()
nb=0
while not glob.glob(makepath(locsrvrustdesk,'*.pub')):
nb=nb+1
if nb == 120:
error("*.pub not found")
time.sleep(1)
pubkey = glob.glob(makepath(locsrvrustdesk,'*.pub'))[0]
key = open(pubkey,'r').read()
if not '.' in hostname:
if not params.get("install_with_luti", False):
error('please configure fqdn')
print('fqdn use is %s' % hostname)
config = {"host":hostname,"relay":hostname,"key":key,"api":apiurl}
rustdesk_list = list(base64.b64encode(json.dumps(config,separators=(',', ':')).encode('utf-8')).decode('utf-8').replace('=',''))
rustdesk_list.reverse()
rustdesk_cfg = ''.join(rustdesk_list)
data = {"config" : config, "rustdesk_cfg" : rustdesk_cfg}
WAPT.write_audit_data_if_changed("rustdesk-server", 'rustdesk-server', data, max_count=365)
return "OK"
def uninstall():
service_delete('RustDeskServer')
remove_tree(locsrvrustdesk)
# -*- 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-server/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 "windows-x86_64" in asset["browser_download_url"]:
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("*.zip"):
if f != filename:
remove_file(f)
wget('https://wapt.tranquil.it/wapt/releases/latest/bin/win64/waptsvc.exe',"RustDeskServer\\RustDeskServer.exe")
control.set_software_version(last_version)
control.save_control_to_wapt()
return package_updated
63ddd3cd1e846011f8911bbd0e3f802cc70d10efecb9e0ecd07125f1aede6c3b : RustDeskServer/RustDeskServer.exe
e0d4aa072d5171d774085ec374790183caccc0033479f3461b4006aad250dd73 : RustDeskServer/RustDeskServer/services/RustDeskServer.settings
e8e25e4ff00497ca799007476912f25c6874545e4087a6a5c895f4b446d177d3 : RustDeskServer/RustDeskServer/services/hbbr.service
dd25614f3a49a39a9f167b0d55c67bd4b5bb989da58b4d6400906dcf02569ad8 : RustDeskServer/RustDeskServer/services/hbbs.service
f0744b62dfa39063edc124ff7f337c6a97de94831cc5b47698b05696bb8c044f : WAPT/README.md
265af39b6382c184830ca3b5fe0e04dd19935c1dd437b944ca9d7cb43c4a905a : WAPT/README_fr.md
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
48143c090cb2f4df628efedde39871fea105ae800cee265608953347cf2b134f : WAPT/control
6e1b5881cfd9d438d6aff2c4f9c3f845a728072c75a61d637b842c95b6322a8c : WAPT/icon.png
9bf100a7caf4cc50c00590018953839d39d6424830ba7f3e5be61e4e0335f966 : luti.json
b865a3a62fc8755b45480c508f1c4871c3338590408dda8c58c7e9c373b7adb0 : rustdesk-server-windows-x86_64-unsigned.zip
4875632c294f6b6b71b899d513558935230b6b04af396edd648aad591917d8cd : setup.py
641a97c11704341a2cf2fa03a3c838fe7dcc2f22dfa201e0de875ca1b2c741db : update_package.py