forked from kay/RouterOS
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"]
|
Decision -->|nein, Fallback| SSH["SSHTransport"]
|
||||||
|
|
||||||
Backup -. "eigene SSH-Verbindung<br/>(Backup/Restore/Werksreset/Update)" .-> SSH2["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")]
|
REST --> Router[("Mikrotik<br/>RouterOS-Router")]
|
||||||
SSH --> Router
|
SSH --> Router
|
||||||
SSH2 --> Router
|
SSH2 --> Router
|
||||||
|
SSH3 --> Router
|
||||||
```
|
```
|
||||||
|
|
||||||
`ConnectionService` ist der einzige zwischen den Tabs geteilte State
|
`ConnectionService` ist der einzige zwischen den Tabs geteilte State
|
||||||
(REST-zuerst, SSH-Fallback). Einmalige System-Aktionen (Backup,
|
(REST-zuerst, SSH-Fallback). Einmalige System-Aktionen (Backup,
|
||||||
Wiederherstellung, Werksreset, Updates) laufen bewusst über eine jeweils
|
Wiederherstellung, Werksreset, Updates) laufen bewusst über eine jeweils
|
||||||
eigene, dedizierte SSH-Verbindung statt über den aktiven Live-Transport.
|
eigene, dedizierte SSH-Verbindung statt über den aktiven Live-Transport —
|
||||||
Ein generischer Menü-Engine (`fetchMenuItems`/`fetchFieldValues`) macht
|
`InterfaceTrafficMonitor` folgt demselben Muster für sein 3-Sekunden-
|
||||||
praktisch jedes RouterOS-Menü lesbar, auch ohne kuratiertes Schema —
|
Polling der Live-Interface-Durchsätze (`/interface monitor-traffic` ist
|
||||||
darauf bauen Übersicht-, Geräte- und Experte-Tab gemeinsam auf.
|
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
|
## Meilensteine
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user