README: Mermaid-Architekturdiagramm um M17/M18 ergänzt
Dedizierte SSH-Verbindung für InterfaceTrafficMonitor, lokaler SavedRoutersStore-Pfad (UserDefaults, kein Router-Zugriff). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YDmUd93KxsYGr2kLTotWnG
This commit is contained in:
@@ -88,19 +88,31 @@ flowchart TD
|
||||
Decision -->|nein, Fallback| SSH["SSHTransport"]
|
||||
|
||||
Backup -. "eigene SSH-Verbindung<br/>(Backup/Restore/Werksreset/Update)" .-> SSH2["SSHTransport"]
|
||||
Connect -. "eigene SSH-Verbindung<br/>(InterfaceTrafficMonitor, 3s-Polling)" .-> SSH3["SSHTransport"]
|
||||
|
||||
Connect --> Saved["SavedRoutersStore<br/>(Bekannte Router)"]
|
||||
Saved --> Defaults[("UserDefaults<br/>(lokal, kein Router-Zugriff)")]
|
||||
|
||||
REST --> Router[("Mikrotik<br/>RouterOS-Router")]
|
||||
SSH --> Router
|
||||
SSH2 --> Router
|
||||
SSH3 --> Router
|
||||
```
|
||||
|
||||
`ConnectionService` ist der einzige zwischen den Tabs geteilte State
|
||||
(REST-zuerst, SSH-Fallback). Einmalige System-Aktionen (Backup,
|
||||
Wiederherstellung, Werksreset, Updates) laufen bewusst über eine jeweils
|
||||
eigene, dedizierte SSH-Verbindung statt über den aktiven Live-Transport.
|
||||
Ein generischer Menü-Engine (`fetchMenuItems`/`fetchFieldValues`) macht
|
||||
praktisch jedes RouterOS-Menü lesbar, auch ohne kuratiertes Schema —
|
||||
darauf bauen Übersicht-, Geräte- und Experte-Tab gemeinsam auf.
|
||||
eigene, dedizierte SSH-Verbindung statt über den aktiven Live-Transport —
|
||||
`InterfaceTrafficMonitor` folgt demselben Muster für sein 3-Sekunden-
|
||||
Polling der Live-Interface-Durchsätze (`/interface monitor-traffic` ist
|
||||
ein reiner CLI-Befehl ohne REST-Äquivalent). Ein generischer Menü-Engine
|
||||
(`fetchMenuItems`/`fetchFieldValues`) macht praktisch jedes RouterOS-Menü
|
||||
lesbar, auch ohne kuratiertes Schema — darauf bauen Übersicht-, Geräte-
|
||||
und Experte-Tab gemeinsam auf, ebenso `ConnectionService.
|
||||
checkPortConflict(interfaceName:)` für die LAN-Port-Konflikt-Prüfung im
|
||||
Einrichten-Assistenten. `SavedRoutersStore` (Bekannte Router) ist bewusst
|
||||
komplett lokal — ein JSON-Array in `UserDefaults`, kein Router-Zugriff;
|
||||
nur die zugehörigen Passwörter liegen weiterhin im macOS-Schlüsselbund.
|
||||
|
||||
## Meilensteine
|
||||
|
||||
|
||||
Reference in New Issue
Block a user