Initial Commit
This commit is contained in:
101
docs/TECHNIK.md
Normal file
101
docs/TECHNIK.md
Normal file
@@ -0,0 +1,101 @@
|
||||
# Technische Details
|
||||
|
||||
## Ablauf der Scripte
|
||||
|
||||
### START Rustdesk lokal.cmd
|
||||
|
||||
```
|
||||
Batch-Script (.cmd)
|
||||
│
|
||||
├── Prüfe ob rustdesk.exe neben dem Script liegt
|
||||
├── Beende laufende RustDesk-Instanzen (taskkill)
|
||||
├── Sichere bestehende RustDesk2.toml → .techniverse-bak
|
||||
├── Schreibe Server-Konfiguration in RustDesk2.toml
|
||||
├── Starte rustdesk.exe
|
||||
├── Warte bis Nutzer RustDesk schließt (Polling-Schleife)
|
||||
└── Cleanup
|
||||
├── Konfiguration aus Backup wiederherstellen (oder löschen)
|
||||
├── %LOCALAPPDATA%\rustdesk entfernen
|
||||
└── %APPDATA%\RustDesk entfernen (nur wenn vorher nicht vorhanden)
|
||||
```
|
||||
|
||||
### START Rustdesk Online-DL.cmd
|
||||
|
||||
```
|
||||
Batch-Wrapper → extrahiert eingebettetes PowerShell-Script
|
||||
│
|
||||
├── PowerShell-Code wird aus dem .cmd in %TEMP% extrahiert
|
||||
├── Ermittle neueste RustDesk-Version via GitHub API
|
||||
│ └── GET https://api.github.com/repos/rustdesk/rustdesk/releases/latest
|
||||
├── Download von rustdesk-*-x86_64.exe nach %TEMP%\techniverse-fernwartung\
|
||||
├── Sichere bestehende RustDesk2.toml → .techniverse-bak
|
||||
├── Schreibe Server-Konfiguration in RustDesk2.toml
|
||||
├── Starte rustdesk.exe
|
||||
├── Warte bis Nutzer RustDesk schließt (Polling-Schleife)
|
||||
└── Cleanup (im finally-Block, läuft auch bei Fehler)
|
||||
├── Konfiguration aus Backup wiederherstellen (oder löschen)
|
||||
├── %LOCALAPPDATA%\rustdesk entfernen
|
||||
├── %APPDATA%\RustDesk entfernen (nur wenn vorher nicht vorhanden)
|
||||
└── %TEMP%\techniverse-fernwartung\ entfernen
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Dateipfade
|
||||
|
||||
| Pfad | Zweck |
|
||||
|---|---|
|
||||
| `%APPDATA%\RustDesk\config\RustDesk2.toml` | RustDesk-Konfigurationsdatei (Server, Key, etc.) |
|
||||
| `%APPDATA%\RustDesk\config\RustDesk2.toml.techniverse-bak` | Backup der originalen Konfiguration |
|
||||
| `%LOCALAPPDATA%\rustdesk\` | Von RustDesk entpackte Dateien (wird beim Cleanup entfernt) |
|
||||
| `%TEMP%\techniverse-fernwartung\` | Temporärer Download-Ordner (nur Online-Variante) |
|
||||
| `%TEMP%\techniverse-starter.ps1` | Temporär extrahiertes PowerShell-Script (nur Online-Variante) |
|
||||
|
||||
---
|
||||
|
||||
## Generierte Konfiguration (RustDesk2.toml)
|
||||
|
||||
```toml
|
||||
rendezvous_server = "fernwartung.techniverse.net"
|
||||
nat_type = 1
|
||||
serial = 0
|
||||
|
||||
[options]
|
||||
custom-rendezvous-server = "fernwartung.techniverse.net"
|
||||
relay-server = "fernwartung.techniverse.net"
|
||||
key = "uE3lJCcnk21qN0VUdqtwJG6QAnpahdB5b2gVe40oMbU="
|
||||
```
|
||||
|
||||
Falls ein API-Server konfiguriert ist, wird zusätzlich `api-server` gesetzt.
|
||||
|
||||
---
|
||||
|
||||
## Batch/PowerShell-Hybrid (Online-Variante)
|
||||
|
||||
Das Online-Script nutzt einen Trick: Die `.cmd`-Datei enthält eingebetteten PowerShell-Code zwischen den Markern `:: BEGIN_PS1` und `:: END_PS1`. Der Batch-Teil extrahiert diesen Code in eine temporäre `.ps1`-Datei und führt sie aus. Dadurch braucht der Nutzer nur eine einzige Datei.
|
||||
|
||||
**Ausführung:** `powershell.exe -NoProfile -ExecutionPolicy Bypass -File <temp>.ps1`
|
||||
|
||||
---
|
||||
|
||||
## Cleanup-Verhalten
|
||||
|
||||
Beide Scripte räumen nach dem Beenden von RustDesk auf:
|
||||
|
||||
- **Backup vorhanden:** Die originale `RustDesk2.toml` wird wiederhergestellt, das Backup gelöscht.
|
||||
- **Kein Backup:** Die geschriebene `RustDesk2.toml` wird gelöscht. Zusätzlich wird der gesamte `%APPDATA%\RustDesk`-Ordner entfernt (da RustDesk vorher nicht installiert war).
|
||||
- **Installationsreste:** `%LOCALAPPDATA%\rustdesk` wird immer entfernt.
|
||||
- **Online-Variante:** Der Cleanup läuft im `finally`-Block und wird auch bei Fehlern ausgeführt.
|
||||
|
||||
---
|
||||
|
||||
## Voraussetzungen im Detail
|
||||
|
||||
| Anforderung | Lokal | Online |
|
||||
|---|---|---|
|
||||
| Windows 10+ | ✅ | ✅ |
|
||||
| Administratorrechte | ❌ | ❌ |
|
||||
| Internetverbindung | ❌ | ✅ |
|
||||
| PowerShell 5.1+ | ❌ | ✅ |
|
||||
| TLS 1.2 | – | ✅ |
|
||||
| rustdesk.exe im gleichen Ordner | ✅ | ❌ (wird heruntergeladen) |
|
||||
Reference in New Issue
Block a user