tis-rustdesk-server

1.1.12-10
RustDesk is a full-featured open source remote control alternative for self-hosting and security with minimal configuration
2238 downloads
Download
See build result See VirusTotal scan
tis-rustdesk-server icon
  • package : tis-rustdesk-server
  • name : RustDesk
  • version : 1.1.12-10
  • categories : Utilities
  • maintainer : WAPT Team,Tranquil IT,Amel FRADJ
  • editor :
  • licence : opensource_free
  • locale : all
  • target_os : windows
  • impacted_process :
  • architecture : x64
  • signature_date : 2024-10-12 10:06
  • size : 12.58 Mo
  • homepage : https://rustdesk.com/
package           : tis-rustdesk-server
version           : 1.1.12-10
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      : d1980c96-8711-4e17-a888-3d0be587e6d8
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://github.com/rustdesk/rustdesk/releases
min_os_version    : 
max_os_version    : 
icon_sha256sum    : 6e1b5881cfd9d438d6aff2c4f9c3f845a728072c75a61d637b842c95b6322a8c
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2024-10-12T10:06:36.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         : XEo0HTGGR6J05iySmwnBwK7aIkKsJ+Vj8+u+E/0Q48oCj8SqhXA2VGXZ6+UeowQgdZrIvcze+OjvukgrjOEqOwgf1R+igsxCxcH67EFZHGedpEysgC0FYMnjB5nQblct9mSGz8U7xRoM69h5rnT6Rdz05K3/pQIUB+ThL9SztvquJi+OQA8QZzA2S9tO+OUuopITTSs/fYGrjDyvHitNJOivzCOKERLUgpWbQ417fKUph7XFjhHlt04wjq4YTzluID7n5myA+4TtSTNcWTRGqISTUaRpKcPohew+2jVDfBBp2olVItcZ5+mQE5M9cPfjuPfU5vUltrOGLGmR6Qv12Q==
# -*- 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
 : RustDeskServer/RustDeskServer
d3f34a41b9e30bb383ff753ea40128f5fdc74dc61adb85da3dce7070aec36075 : RustDeskServer/RustDeskServer.exe
e0d4aa072d5171d774085ec374790183caccc0033479f3461b4006aad250dd73 : RustDeskServer/RustDeskServer/services/RustDeskServer.settings
e8e25e4ff00497ca799007476912f25c6874545e4087a6a5c895f4b446d177d3 : RustDeskServer/RustDeskServer/services/hbbr.service
dd25614f3a49a39a9f167b0d55c67bd4b5bb989da58b4d6400906dcf02569ad8 : RustDeskServer/RustDeskServer/services/hbbs.service
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
502992202f800f04b23d48bf8947acbe24b5ff4241d2832a7016c23831fc4c99 : WAPT/control
6e1b5881cfd9d438d6aff2c4f9c3f845a728072c75a61d637b842c95b6322a8c : WAPT/icon.png
20088b203924dca36433ecb92e78762d72d964d83f5ed6b94b2bcd143ca92c30 : luti.json
50dd82184a3b4e5de318448687b4fdfe0859b39bfc79a844bc391c377f94b0e7 : rustdesk-server-windows-x86_64-unsigned.zip
4875632c294f6b6b71b899d513558935230b6b04af396edd648aad591917d8cd : setup.py
641a97c11704341a2cf2fa03a3c838fe7dcc2f22dfa201e0de875ca1b2c741db : update_package.py