Initial Commit
This commit is contained in:
1 parent
bce97306b5
commit
d59a63a936
4 files changed
+483
-2
No files matched your search
@@ -0,0 +1,151 @@
|
||||
@echo off
|
||||
:: Techniverse Fernwartung - Online Version
|
||||
:: Laedt RustDesk direkt von GitHub, konfiguriert den Server und startet
|
||||
:: Der Nutzer braucht NUR diese eine Datei.
|
||||
title Techniverse Fernwartung - Online
|
||||
chcp 65001 >nul 2>&1
|
||||
|
||||
set "PS1=%TEMP%\techniverse-starter.ps1"
|
||||
|
||||
:: PS1 aus dem eingebetteten Block extrahieren (alles zwischen BEGIN_PS1 und END_PS1)
|
||||
setlocal
|
||||
set "FOUND="
|
||||
(for /f "usebackq delims=" %%a in ("%~f0") do (
|
||||
if defined FOUND (
|
||||
if "%%a"==":: END_PS1" (goto :run_ps1)
|
||||
echo(%%a
|
||||
)
|
||||
if "%%a"==":: BEGIN_PS1" set "FOUND=1"
|
||||
)) > "%PS1%"
|
||||
|
||||
:run_ps1
|
||||
endlocal
|
||||
powershell.exe -NoProfile -ExecutionPolicy Bypass -File "%PS1%"
|
||||
del "%PS1%" >nul 2>&1
|
||||
exit /b
|
||||
|
||||
:: BEGIN_PS1
|
||||
$ErrorActionPreference = 'Stop'
|
||||
$Host.UI.RawUI.WindowTitle = 'Techniverse Fernwartung'
|
||||
|
||||
# ========================== KONFIGURATION ===========================
|
||||
# Server-Adresse (Rendezvous + Relay)
|
||||
$srv = 'fernwartung.techniverse.net'
|
||||
# Oeffentlicher Schluessel des Servers
|
||||
$key = 'uE3lJCcnk21qN0VUdqtwJG6QAnpahdB5b2gVe40oMbU='
|
||||
# API-Server (optional) - Nur setzen wenn ein eigener API-Server vorhanden ist
|
||||
# Beispiel: $api = 'api.beispiel.de'
|
||||
$api = ''
|
||||
# ====================================================================
|
||||
|
||||
$tmp = Join-Path $env:TEMP 'techniverse-fernwartung'
|
||||
$cfgDir = Join-Path $env:APPDATA 'RustDesk\config'
|
||||
$cfg2 = Join-Path $cfgDir 'RustDesk2.toml'
|
||||
$cfg2Bak = Join-Path $cfgDir 'RustDesk2.toml.techniverse-bak'
|
||||
$installDir = Join-Path $env:LOCALAPPDATA 'rustdesk'
|
||||
$hadBackup = $false
|
||||
|
||||
try {
|
||||
Write-Host ''
|
||||
Write-Host ' ==============================================' -F DarkCyan
|
||||
Write-Host ' Techniverse Fernwartung (Online)' -F DarkCyan
|
||||
Write-Host ' ==============================================' -F DarkCyan
|
||||
Write-Host ''
|
||||
|
||||
Get-Process rustdesk* -EA 0 | Stop-Process -Force -EA 0
|
||||
Start-Sleep 2
|
||||
|
||||
New-Item -ItemType Directory $tmp -Force | Out-Null
|
||||
$exe = Join-Path $tmp 'rustdesk.exe'
|
||||
|
||||
Write-Host " [1/4] Ermittle aktuelle RustDesk-Version..." -F White
|
||||
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
|
||||
$ProgressPreference = 'SilentlyContinue'
|
||||
$rel = Invoke-RestMethod -Uri 'https://api.github.com/repos/rustdesk/rustdesk/releases/latest' -UseBasicParsing
|
||||
$ver = $rel.tag_name -replace '^v',''
|
||||
$asset = $rel.assets | Where-Object { $_.name -like 'rustdesk-*-x86_64.exe' } | Select-Object -First 1
|
||||
if (-not $asset) { throw 'Kein passender Download fuer x86_64 im neuesten Release gefunden.' }
|
||||
$url = $asset.browser_download_url
|
||||
Write-Host " Aktuelle Version: $ver" -F DarkGray
|
||||
Write-Host " $url" -F DarkGray
|
||||
Write-Host ' (Das kann einen Moment dauern...)' -F DarkGray
|
||||
Invoke-WebRequest -Uri $url -OutFile $exe -UseBasicParsing
|
||||
$ProgressPreference = 'Continue'
|
||||
if (-not (Test-Path $exe)) { throw 'Download fehlgeschlagen' }
|
||||
$mb = [math]::Round((Get-Item $exe).Length/1MB,1)
|
||||
Write-Host " Heruntergeladen: $mb MB" -F DarkGray
|
||||
|
||||
Write-Host ' [2/4] Sichere bestehende Konfiguration...' -F White
|
||||
New-Item -ItemType Directory $cfgDir -Force | Out-Null
|
||||
if (Test-Path $cfg2) {
|
||||
Copy-Item $cfg2 $cfg2Bak -Force
|
||||
$hadBackup = $true
|
||||
Write-Host ' Backup erstellt.' -F DarkGray
|
||||
} else {
|
||||
Write-Host ' Keine bestehende Konfiguration.' -F DarkGray
|
||||
}
|
||||
|
||||
Write-Host ' [3/4] Konfiguriere Server...' -F White
|
||||
$toml = @"
|
||||
rendezvous_server = "$srv"
|
||||
nat_type = 1
|
||||
serial = 0
|
||||
|
||||
[options]
|
||||
custom-rendezvous-server = "$srv"
|
||||
relay-server = "$srv"
|
||||
key = "$key"
|
||||
"@
|
||||
if ($api) { $toml += "`napi-server = `"$api`"" }
|
||||
Set-Content -Path $cfg2 -Value $toml -Encoding UTF8
|
||||
|
||||
Write-Host ' [4/4] Starte RustDesk...' -F White
|
||||
Start-Process $exe
|
||||
Write-Host ' Warte auf Start...' -F DarkGray
|
||||
Start-Sleep 8
|
||||
if (-not (Get-Process rustdesk* -EA 0)) { throw 'RustDesk konnte nicht gestartet werden.' }
|
||||
|
||||
Write-Host ''
|
||||
Write-Host ' ==============================================' -F DarkCyan
|
||||
Write-Host ' RustDesk laeuft.' -F White
|
||||
Write-Host ' Teile deine ID mit dem Techniverse-Support.' -F White
|
||||
Write-Host ''
|
||||
Write-Host ' Schliesse RustDesk um die Sitzung zu beenden.' -F DarkYellow
|
||||
Write-Host ' Dieses Fenster NICHT schliessen.' -F Red
|
||||
Write-Host ' ==============================================' -F DarkCyan
|
||||
Write-Host ''
|
||||
Write-Host ' !! ACHTUNG - BETRUGSWARNUNG !!' -F Red
|
||||
Write-Host ' Teile deine ID und dein Einmalpasswort' -F DarkYellow
|
||||
Write-Host ' NUR mit Personen, denen du vertraust!' -F DarkYellow
|
||||
Write-Host ' RustDesk wird haeufig fuer Betrug missbraucht.' -F DarkYellow
|
||||
Write-Host ' Techniverse wird dich NIE unaufgefordert' -F DarkYellow
|
||||
Write-Host ' nach deiner ID oder deinem Passwort fragen.' -F DarkYellow
|
||||
Write-Host ''
|
||||
do { Start-Sleep 2 } while (Get-Process rustdesk* -EA 0)
|
||||
|
||||
} catch {
|
||||
Write-Host "`n FEHLER: $_" -F Red
|
||||
Write-Host ' Bitte kontaktiere den Techniverse-Support.' -F DarkYellow
|
||||
Write-Host ''
|
||||
Read-Host ' Druecke Enter zum Beenden'
|
||||
} finally {
|
||||
Write-Host "`n Raeume auf..." -F DarkYellow
|
||||
Get-Process rustdesk* -EA 0 | Stop-Process -Force -EA 0
|
||||
Start-Sleep 3
|
||||
if (Test-Path $cfg2Bak) {
|
||||
Copy-Item $cfg2Bak $cfg2 -Force
|
||||
Remove-Item $cfg2Bak -Force -EA 0
|
||||
} elseif (Test-Path $cfg2) {
|
||||
Remove-Item $cfg2 -Force -EA 0
|
||||
}
|
||||
if (Test-Path $installDir) { Remove-Item $installDir -Recurse -Force -EA 0 }
|
||||
if (-not $hadBackup) {
|
||||
$rdAD = Join-Path $env:APPDATA 'RustDesk'
|
||||
if (Test-Path $rdAD) { Remove-Item $rdAD -Recurse -Force -EA 0 }
|
||||
}
|
||||
if (Test-Path $tmp) { Remove-Item $tmp -Recurse -Force -EA 0 }
|
||||
Write-Host ' Aufgeraeumt. Bis zum naechsten Mal.' -F DarkGreen
|
||||
Start-Sleep 3
|
||||
}
|
||||
:: END_PS1
|
||||
|
||||
Reference in new issue
Block a user