tis-rustdesk-config-template
17
Config for RustDesk
1044 downloads
Download
See build result See VirusTotal scan

- package : tis-rustdesk-config-template
- name : RustDesk Config
- version : 17
- categories : Utilities
- maintainer : WAPT Team,Tranquil IT
- editor :
- licence :
- locale : all
- target_os : all
- impacted_process :
- architecture : all
- signature_date : 2025-01-28 16:00
- size : 7.66 Ko
- homepage : https://rustdesk.com/
- depends :
package : tis-rustdesk-config-template
version : 17
architecture : all
section : base
priority : optional
name : RustDesk Config
categories : Utilities
maintainer : WAPT Team,Tranquil IT
description : Config for RustDesk
depends : tis-rustdesk
conflicts :
maturity : PROD
locale : all
target_os : all
min_wapt_version : 2.3
sources :
installed_size :
impacted_process :
description_fr : Config rustdesk
description_pl :
description_de :
description_es :
description_pt :
description_it :
description_nl :
description_ru :
audit_schedule : 30d
editor :
keywords : RustDesk
licence :
homepage : https://rustdesk.com/
package_uuid : be422ca5-41a1-48e8-aae6-ac6564d690d1
valid_from :
valid_until :
forced_install_on :
changelog : https://github.com/rustdesk/rustdesk/releases
min_os_version :
max_os_version :
icon_sha256sum : 2435ab1227e19048fc0d782821cc7258a41b69dc1e22914aedddd288a38b6ccc
signer : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date : 2025-01-28T16:00:12.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 : nhUCnerH8gmTAJVz5u2DLoUFuCUQTfcDm3bF/zUn/GD3t+976zrPjA/pg6MENkw+EtzEkq/rtNZZ520jINKvP+Bb/BxIuYL2zis0lEqiFdu7llp2tErMwFipXtkEAkEhPAVfTCzRmmWjtmNIz1UtfbxQkpQHxkQhmAYxCleLJ+WEXlwHDFxcIIx+OWJJHM2zIyPwod2AzDERFVAKJBdh9Da5uIMWZCgTnC5Jy9G1KSOXFWWpHejhC2rqrK0CH9nzDCdPMz+CULWFVZyxKQBLP2Okz6CFlmOuvrojDukvj3pP9JXYIv37mmVnCW5i4Vx5BrQWHFO+DHVUlgmrGKB0Ag==
# -*- coding: utf-8 -*-
from setuphelpers import *
import string, secrets
import platform
import json
import base64
r"""
Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()
"""
if platform.system() == 'Windows':
if uninstall_key_exists('RustDesk'):
RustDeskBin = makepath(install_location('RustDesk'),'rustdesk.exe')
elif platform.system() == 'Darwin':
RustDeskBin = "/Applications/RustDesk.app/Contents/MacOS/RustDesk"
else:
RustDeskBin = "/usr/lib/rustdesk/rustdesk"
def install():
rustdesk_cfg = open('rustdesk.cfg').read()
alphabet = string.ascii_letters + string.digits
rustdesk_pw = ''.join(secrets.choice(alphabet) for i in range(12))
run_notfatal('"%s" --config %s' % (RustDeskBin,rustdesk_cfg))
run('"%s" --password %s' % (RustDeskBin,rustdesk_pw ))
if platform.system() == 'Windows':
if service_is_running("rustdesk"):
service_stop("rustdesk")
service_start("rustdesk")
elif platform.system() == 'Darwin':
print('todo')
else:
systemd_restart_service('rustdesk')
def audit():
rustdesk_id = run('"%s" --get-id' % RustDeskBin)
if rustdesk_id.endswith('\n'):
rustdesk_id = rustdesk_id.split('\n')[-2]
alphabet = string.ascii_letters + string.digits
rustdesk_pw = ''.join(secrets.choice(alphabet) for i in range(12))
run('"%s" --password %s' % (RustDeskBin, rustdesk_pw))
WAPT.write_audit_data_if_changed("rustdesk", 'rustdesk-id', rustdesk_id, max_count=365)
WAPT.write_audit_data_if_changed("rustdesk", 'password_encryption', rsa_encrypted_data_str(rustdesk_pw, WAPT.public_certs_dir), max_count=365)
return "OK"
def encode_rustdesk_config(config):
rustdesk_list = list(base64.b64encode(json.dumps(config, separators=(',', ':')).encode('utf-8')).decode('utf-8').replace('=',''))
rustdesk_list.reverse()
return ''.join(rustdesk_list)
def update_package():
old_conf = ""
if isfile('rustdesk.cfg'):
old_conf = open('rustdesk.cfg').read()
newconf = ""
if not params.get("install_with_luti", False):
from waptguihelper import message_dialog, memo_dialog, MB_YESNO, MB_ICONQUESTION, ID_YES
is_cfg_config = message_dialog("RUSTDESK Config", "Do you have an cfg config file ?", MB_YESNO + MB_ICONQUESTION)
if is_cfg_config == ID_YES:
newconf = memo_dialog('RUSTDESK Config', "Please give your rustdesk cfg config that you can retrieved in the 'Audit data' of your host server", old_conf)
else:
is_json_config = message_dialog("RUSTDESK Config", "Do you want to setup a custom config file ?", MB_YESNO + MB_ICONQUESTION)
if is_json_config == ID_YES:
default_conf = {"host": "YOUR_SERVER_IP", "relay": "YOUR_SERVER_IP", "key": "YOUR_PUB_KEY", "api": ""}
rustdesk_json_config = memo_dialog('RUSTDESK Config', "Please give your rustdesk custom config in json format (At you own risk !!)", json.dumps(default_conf, indent=4))
newconf = encode_rustdesk_config(rustdesk_json_config)
control.package = control.package.replace('-template', '')
control.save_control_to_wapt()
with open('rustdesk.cfg', 'w') as f:
f.write(newconf)
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
e2a247e49b6f80e7b1e0829115da74668ee97255909b13928144a56bcef8ba0d : WAPT/control
2435ab1227e19048fc0d782821cc7258a41b69dc1e22914aedddd288a38b6ccc : WAPT/icon.png
67639663103f330872d9eddf3e643b0eee1e8ffefa359404ea061c5dc3ba3d39 : luti.json
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 : rustdesk.cfg
abbb4672d03e28790da930c06895c25797c44c22bb6dedd1daeb0ff51319225c : setup.py