Stormshield SSL VPN-Paket

Fragen zu WAPT-Paketen / Anfragen und Hilfe bezüglich WAPT-Paketen.
Forumregeln
Community-Forumregeln
* Englischer Support auf www.reddit.com/r/wapt
* Französischer Community-Support ist in diesem Forum verfügbar.
* Bitte kennzeichnen Sie gelöste Themen mit [GELÖST].
* Bitte bearbeiten Sie keine Themen, die mit [GELÖST] markiert sind. Erstellen Sie stattdessen ein neues Thema und verweisen Sie auf das alte.
* Geben Sie die installierte WAPT-Version, die vollständige Versionsnummer und die Build-Nummer (2.2.1.11957 / 2.2.2.12337 / usw.) sowie die Enterprise-/Discovery-Edition an.
* Versionen 1.8.2 und älter werden nicht mehr unterstützt. Fragen zu Version 1.8.2 werden nur beantwortet, wenn sie sich auf ein Upgrade auf eine unterstützte Version (2.1, 2.2 usw.) beziehen.
* Geben Sie das Server-Betriebssystem (Linux/Windows) und die Version (Debian Buster/Bullseye – CentOS 7 – Windows Server 2012/2016/2019) an.
* Geben Sie gegebenenfalls das Betriebssystem des Administrations-/Paketerstellungsrechners und des Rechners mit dem problematischen Agenten an (Windows 7/10/11/Debian 11/etc.).
* Vermeiden Sie es, mehrere Fragen in einem Thema zu stellen, da diese sonst möglicherweise ignoriert werden. Falls mehrere Themen relevant sind, erstellen Sie bitte separate Themen, vorzugsweise nacheinander und nicht gleichzeitig (d. h. vermeiden Sie Spam im Forum).
* Fügen Sie Code-Snippets, Screenshots und andere Bilder direkt in Ihren Beitrag ein. Links zu Pastebin, Bitly und anderen Drittanbieterseiten werden systematisch entfernt.
* Wie in jedem Community-Forum erfolgt die Unterstützung freiwillig durch die Mitglieder. Für kommerziellen Support kontaktieren Sie bitte den Vertrieb von Tranquil IT unter +44 2 40 97 57 55.
Antwort
SeiyaGame
Nachrichten: 13
Anmeldung: 25. Mai 2023 - 15:19 Uhr

21. September 2023 - 11:39 Uhr

Guten Morgen,

Ich möchte meinen Code für die Stormshield SSL VPN-Software anbieten; ich habe ihn auf den verschiedenen Beiträgen zu diesem Thema basiert ( 3515, 3628 )

Hinsichtlich der Installation habe ich nur ein paar kleinere Änderungen vorgenommen:

Code: Alle auswählen

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

"""
Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()

"""

FIREWALL_IP_ADDRESS = "YOUR_IP_ADDRESS_OR_DNS"
stormshield_folder = makepath(programfiles64, 'Stormshield\Stormshield SSL VPN Client')

def install():
    # Declaring local variables
    bin_name = glob.glob("Stormshield*.msi")[0]

    # Installing the software
    print(f"Installing: {bin_name}")
    install_msi_if_needed(
        bin_name,
        min_version=control.get_software_version()
    )
    
    create_programs_menu_shortcut("Stormshield SSL VPN Client", target=makepath(stormshield_folder, 'sslvpn_client.exe'), folder='Stormshield SSL VPN Client')
    
def session_setup():
    # Declaring local variables
    CURRENT_USER = os.getlogin()
    
    # Setup Firewall address
    registry_set(HKEY_CURRENT_USER, r"Software\\STORMSHIELD\\STORMSHIELD SSL VPN CLIENT", "address", FIREWALL_IP_ADDRESS, type=REG_SZ)
    registry_set(HKEY_CURRENT_USER, r'Software\\STORMSHIELD\\STORMSHIELD SSL VPN CLIENT', 'automatic', 'true', type=REG_SZ)
    registry_set(HKEY_CURRENT_USER, r'Software\\STORMSHIELD\\STORMSHIELD SSL VPN CLIENT', 'username', CURRENT_USER, type=REG_SZ)
    
    # Needed ?
    #mkdirs(makepath(user_local_appdata, 'Stormshield\Stormshield SSL VPN Client\config'))
    #run(makepath(stormshield_folder, 'scripts\generate_ovpn_auth.bat'))


def uninstall():
    remove_programs_menu_folder('Stormshield SSL VPN Client')

def audit():
    service_name = "Stormshield SSL VPN Service"
    service_start_mode = get_service_start_mode(service_name)
    service_status = service_is_running(service_name)

    if service_start_mode in ["Disabled", "Manual"] and service_status:
        print(f"The {service_name} is stopped and prevents the application from working properly.")
        return "ERROR"
    else:
        print(f"The {service_name} service is working properly.")
        return "OK"
Ich habe auch das Update-Paket erstellt; es gibt möglicherweise noch einige Verbesserungsmöglichkeiten:

Code: Alle auswählen

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

# Constantes
BASE_URL = "https://vpn.stormshield.eu/"
DOWNLOAD_FILE_PATTERN = "_win10_fr_x64.msi"

def update_package():
    # Declaring local variables
    package_updated = False
    proxies = get_proxies() or get_proxies_from_wapt_console()
    app_name = control.name

    # Getting latest download link from official sources    
    url_version = BASE_URL + "js/app.js"
    print(f"URL utilisée : {url_version}")
    
    app_js = wgets(url_version, proxies=proxies).decode('utf-8')
    
    pattern = r"const\s+pathVersionSSLVPN\s*=\s*(.*);"
    match = re.search(pattern, app_js)
    if match:
        path_url = match.group(1).strip("'")
        latest_version = path_url.split("_")[-1]
        download_url = BASE_URL + path_url + DOWNLOAD_FILE_PATTERN
        latest_bin = download_url.split("/")[1]
    else:
        print("The download URL cannot be found !")
        return package_updated
  
    print(f"Latest {app_name} version is: {latest_version}")
    print(f"Download URL is: {download_url}")

    # Downloading latest binaries
    if not isfile(latest_bin):
        print(f"Downloading: {latest_bin}")
        wget(download_url, latest_bin, proxies=proxies)
    else:
        print(f"Binary is present: {latest_version}")

    # Changing version of the package
    if Version(latest_version) > Version(control.get_software_version()):
        print(f"Software version updated (from: {control.get_software_version()} to: {Version(latest_version)})")
        package_updated = True
    else:
        print(f"Software version up-to-date ({Version(latest_version)})")

    control.set_software_version(latest_version)
    control.save_control_to_wapt()

    # Deleting outdated binaries
    remove_outdated_binaries(latest_version)

    # Validating or not update-package-sources
    return package_updated
Ich möchte anmerken, dass die Installation von Version 3.1.0 bei mir reibungslos verlief und die Software im Gegensatz zu Version 3.2.x wie erwartet funktioniert.
Ich denke, bevor wir die Software veröffentlichen, müssen wir sie testen, um sicherzustellen, dass sie wie erwartet funktioniert...

Flavien.

Allgemeine Informationen:

WAPT-Server: Debian 11, Version 2.4.0.14143, Enterprise Edition
Administrationsrechner: Windows 11, WAPT-Version 2.4.0.14143
Antwort