166 lines
5.5 KiB
Batchfile
166 lines
5.5 KiB
Batchfile
@echo off
|
|
chcp 65001 >nul 2>&1
|
|
title Techniverse Fernwartung
|
|
setlocal
|
|
|
|
:: ============================================================
|
|
:: Techniverse Fernwartung - RustDesk Portable Starter
|
|
:: Startet RustDesk mit vorkonfiguriertem Server
|
|
:: Räumt nach dem Beenden alles auf
|
|
:: ============================================================
|
|
|
|
:: ========================== KONFIGURATION ===========================
|
|
:: Server-Adresse (Rendezvous + Relay)
|
|
set "SERVER=fernwartung.techniverse.net"
|
|
:: Öffentlicher Schlüssel des Servers
|
|
set "KEY=uE3lJCcnk21qN0VUdqtwJG6QAnpahdB5b2gVe40oMbU="
|
|
:: API-Server (optional) - Nur setzen wenn ein eigener API-Server vorhanden ist
|
|
:: Beispiel: set "API_SERVER=api.beispiel.de"
|
|
set "API_SERVER="
|
|
:: ====================================================================
|
|
|
|
:: ANSI-Farbcodes definieren (Windows 10+)
|
|
for /f %%a in ('echo prompt $E ^| cmd') do set "ESC=%%a"
|
|
set "CYAN=%ESC%[36m"
|
|
set "WHITE=%ESC%[97m"
|
|
set "GRAY=%ESC%[90m"
|
|
set "YELLOW=%ESC%[33m"
|
|
set "RED=%ESC%[91m"
|
|
set "GREEN=%ESC%[32m"
|
|
set "RESET=%ESC%[0m"
|
|
|
|
set "RUSTDESK_EXE=%~dp0rustdesk.exe"
|
|
set "CONFIGDIR=%APPDATA%\RustDesk\config"
|
|
set "CONFIG2=%CONFIGDIR%\RustDesk2.toml"
|
|
set "CONFIG2_BAK=%CONFIGDIR%\RustDesk2.toml.techniverse-bak"
|
|
set "INSTALLDIR=%LOCALAPPDATA%\rustdesk"
|
|
|
|
:: Prüfe ob die RustDesk EXE vorhanden ist
|
|
if not exist "%RUSTDESK_EXE%" (
|
|
echo.
|
|
echo %RED%FEHLER: rustdesk.exe nicht gefunden.%RESET%
|
|
echo %YELLOW%Bitte lege diese Datei neben %~nx0%RESET%
|
|
echo.
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
echo.
|
|
echo %CYAN%══════════════════════════════════════════════%RESET%
|
|
echo %CYAN% Techniverse Fernwartung%RESET%
|
|
echo %CYAN%══════════════════════════════════════════════%RESET%
|
|
echo.
|
|
echo %WHITE%RustDesk wird vorbereitet...%RESET%
|
|
echo.
|
|
|
|
:: Eventuell laufende RustDesk-Instanzen beenden
|
|
taskkill /f /im rustdesk.exe >nul 2>&1
|
|
timeout /t 2 /nobreak >nul
|
|
|
|
:: Config-Verzeichnis erstellen falls nicht vorhanden
|
|
mkdir "%CONFIGDIR%" >nul 2>&1
|
|
|
|
:: Bestehende Config sichern (falls vorhanden)
|
|
echo %WHITE%[1/3] Sichere bestehende Konfiguration...%RESET%
|
|
if exist "%CONFIG2%" (
|
|
copy /y "%CONFIG2%" "%CONFIG2_BAK%" >nul
|
|
echo %GRAY%Backup erstellt.%RESET%
|
|
) else (
|
|
echo %GRAY%Keine bestehende Konfiguration gefunden.%RESET%
|
|
)
|
|
|
|
:: Server-Konfiguration schreiben
|
|
echo %WHITE%[2/3] Konfiguriere Techniverse-Server...%RESET%
|
|
(
|
|
echo rendezvous_server = "%SERVER%"
|
|
echo nat_type = 1
|
|
echo serial = 0
|
|
echo.
|
|
echo [options]
|
|
echo custom-rendezvous-server = "%SERVER%"
|
|
echo relay-server = "%SERVER%"
|
|
echo key = "%KEY%"
|
|
) > "%CONFIG2%"
|
|
if defined API_SERVER (
|
|
echo api-server = "%API_SERVER%" >> "%CONFIG2%"
|
|
)
|
|
|
|
:: RustDesk starten
|
|
echo %WHITE%[3/3] Starte RustDesk...%RESET%
|
|
start "" "%RUSTDESK_EXE%"
|
|
|
|
:: Warte kurz bis RustDesk sich initialisiert hat
|
|
echo %GRAY%Warte auf RustDesk-Start...%RESET%
|
|
timeout /t 8 /nobreak >nul
|
|
|
|
:: Prüfe ob RustDesk tatsächlich läuft
|
|
tasklist /fi "imagename eq rustdesk.exe" 2>nul | find /i "rustdesk.exe" >nul
|
|
if errorlevel 1 (
|
|
echo.
|
|
echo %RED%FEHLER: RustDesk konnte nicht gestartet werden.%RESET%
|
|
echo %YELLOW%Versuche es erneut oder kontaktiere den Support.%RESET%
|
|
echo.
|
|
pause
|
|
goto :cleanup
|
|
)
|
|
|
|
echo.
|
|
echo %CYAN%══════════════════════════════════════════════%RESET%
|
|
echo %WHITE%RustDesk laeuft.%RESET%
|
|
echo %WHITE%Teile deine ID mit dem Techniverse-Support.%RESET%
|
|
echo.
|
|
echo %YELLOW%Schliesse RustDesk um die Sitzung zu beenden.%RESET%
|
|
echo %RED%Dieses Fenster NICHT schliessen.%RESET%
|
|
echo %CYAN%══════════════════════════════════════════════%RESET%
|
|
echo.
|
|
echo %RED% !! ACHTUNG - BETRUGSWARNUNG !!%RESET%
|
|
echo %YELLOW% Teile deine ID und dein Einmalpasswort%RESET%
|
|
echo %YELLOW% NUR mit Personen, denen du vertraust!%RESET%
|
|
echo %YELLOW% RustDesk wird haeufig fuer Betrug missbraucht.%RESET%
|
|
echo %YELLOW% Techniverse wird dich NIE unaufgefordert%RESET%
|
|
echo %YELLOW% nach deiner ID oder deinem Passwort fragen.%RESET%
|
|
echo.
|
|
|
|
:: Warte bis alle RustDesk-Prozesse beendet sind (Polling-Schleife)
|
|
:waitloop
|
|
timeout /t 2 /nobreak >nul
|
|
tasklist /fi "imagename eq rustdesk.exe" 2>nul | find /i "rustdesk.exe" >nul
|
|
if not errorlevel 1 goto :waitloop
|
|
|
|
:cleanup
|
|
echo.
|
|
echo %YELLOW%Raeume auf...%RESET%
|
|
|
|
:: RustDesk Prozesse beenden (falls noch laufend)
|
|
taskkill /f /im rustdesk.exe >nul 2>&1
|
|
timeout /t 3 /nobreak >nul
|
|
|
|
:: Config wiederherstellen oder aufräumen
|
|
if exist "%CONFIG2_BAK%" (
|
|
echo %GRAY%Stelle urspruengliche Konfiguration wieder her...%RESET%
|
|
copy /y "%CONFIG2_BAK%" "%CONFIG2%" >nul
|
|
del "%CONFIG2_BAK%" >nul 2>&1
|
|
) else (
|
|
echo %GRAY%Entferne Fernwartungs-Konfiguration...%RESET%
|
|
del "%CONFIG2%" >nul 2>&1
|
|
)
|
|
|
|
:: RustDesk-Installation aufräumen (entpackte Dateien)
|
|
if exist "%INSTALLDIR%" (
|
|
echo %GRAY%Entferne RustDesk-Dateien...%RESET%
|
|
rmdir /s /q "%INSTALLDIR%" >nul 2>&1
|
|
)
|
|
|
|
:: RustDesk AppData aufräumen (nur wenn es vorher nicht installiert war)
|
|
if not exist "%CONFIG2_BAK%" (
|
|
if exist "%APPDATA%\RustDesk" (
|
|
echo %GRAY%Entferne RustDesk AppData...%RESET%
|
|
rmdir /s /q "%APPDATA%\RustDesk" >nul 2>&1
|
|
)
|
|
)
|
|
|
|
echo %GREEN%Aufgeraeumt. Bis zum naechsten Mal.%RESET%
|
|
echo.
|
|
timeout /t 3 /nobreak >nul
|
|
exit /b 0
|