M20: LAN-Scanner umbenannt + Netzwerk-Tools (Ping/Traceroute/DNS/Port-Scan)
Tab "Geräte" -> "LAN-Scanner", Refresh-Button "Neu scannen" + prominenter Stil. Neues Netzwerk-Tools-Menü: Ping/Traceroute/DNS-Auflösung über NetworkToolsService (eigene SSH-Verbindung, wie Backup/InterfaceTraffic- Monitor), mit Zeichen-Validierung gegen Command-Injection ueber einen boeswilligen DHCP-Hostnamen. Port-Scan laeuft direkt von diesem Mac ueber Network.framework (RouterOS hat kein eingebautes Portscan-Tool) - dabei einen echten NWConnection-Bug gefunden (verweigerte Verbindung meldet sich ueber .waiting, nicht .failed) und per Unit-Test gegen einen Loopback-Port aufgedeckt und gefixt. Zusaetzlich: Warnhinweis bei "Feste IP zuweisen" erklaert jetzt den Rueckweg. DE/EN-Umschalter zeigt Landesflaggen statt Text. 92 Tests gruen. HANDOFF.md/README.md (inkl. Mermaid-Diagramm)/Manual.md/ CHATLOG.md aktualisiert. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YDmUd93KxsYGr2kLTotWnG
This commit is contained in:
+48
@@ -946,3 +946,51 @@ Test, WLAN/Bonding/PPPoE-Live-Tests).
|
||||
CHATLOG.md aktualisiert, Commit + Push (inkl. der noch nicht live
|
||||
getesteten Port-Konflikt-Prüfung + Fertig-Button, auf ausdrücklichen
|
||||
Nutzerwunsch mitgespeichert).
|
||||
- "ergänze die Mermaid-Grafik um die neuen Features" → README.md-
|
||||
Architekturdiagramm um `InterfaceTrafficMonitor`s eigene SSH-Verbindung
|
||||
und den lokalen `SavedRoutersStore`→`UserDefaults`-Pfad ergänzt. Commit
|
||||
+ Push.
|
||||
- "der Tab 'Geräte' muss umbenannt werden in Lan-Scanner ... zusätzlich
|
||||
einen Button 'neu scannen'" → M20 gestartet: Tab umbenannt, "Aktuali-
|
||||
sieren"-Button zu "Neu scannen" (identische Aktion, nur klarerer
|
||||
Name). "sieht gut aus" → bestätigt.
|
||||
- "den Lan-scanner bohren wir noch ein wenig auf... Netzwerk-Tools
|
||||
liste... nslookup, ping etc." → `NetworkToolsService` (eigene SSH-
|
||||
Verbindung, `/ping`/`/tool traceroute`/`/resolve`), Rohausgabe im
|
||||
Sheet statt geparst (Format nicht live verifiziert). Sicherheits-
|
||||
maßnahme: Zeichen-Validierung gegen Command-Injection über einen
|
||||
böswilligen DHCP-Hostnamen (RouterOS-Konsole trennt Befehle mit ";").
|
||||
Live bestätigt.
|
||||
- "die Warnung zum zuweisen einer festen IP-Adresse... muss erweitert
|
||||
werden. der Hinweis, wie die Adresse wieder in dynamisch gemacht
|
||||
werden kann" → Warnhinweis um Rückweg-Erklärung ergänzt (Rechtsklick
|
||||
→ "Feste Zuweisung entfernen", Gerät danach kurz trennen/neu
|
||||
verbinden). Live bestätigt.
|
||||
- "der refresh-button muss prominenter werden" → `.buttonStyle(.
|
||||
borderedProminent)` auf "Neu scannen". Live bestätigt.
|
||||
- "ersetze DE und EN mit den jeweiligen Landesflaggen" → 🇬🇧/🇩🇪 statt
|
||||
Text, zeigt weiter die Sprache, zu der ein Klick wechselt. Live
|
||||
bestätigt.
|
||||
- "macht es sinn andere Sprachen per Plugin zu importieren?" (nur Frage,
|
||||
keine Umsetzung) → Empfehlung: für 1-2 feste Sprachen reicht das
|
||||
bestehende `L10n.swift`-Muster, ein echtes Plugin-System wäre Overkill
|
||||
ohne konkrete Nachfrage. "lass uns bei DE/EN bleiben" → bestätigt.
|
||||
"eventuell kommt spanisch indisch noch dazu... MikroTik-Router günstig,
|
||||
daher oft in ärmeren Ländern wie Brasilien" → als Claude-Memory
|
||||
(`future-language-support.md`) für Folgesessions festgehalten, keine
|
||||
Code-Änderung.
|
||||
- "können wir die Netzwerk-tools noch erweitern? ein Portscanner...
|
||||
(Offene Ports rot, geschlossene grün, nicht erreichbare grau)" →
|
||||
`PortScanner` (Network.framework, TCP-Connect direkt von diesem Mac,
|
||||
NICHT über den Router — RouterOS hat kein eingebautes Portscan-Tool).
|
||||
Live-Bug beim ersten Testlauf-Versuch bereits im eigenen Unit-Test
|
||||
gefunden: `NWConnection` meldet eine verweigerte Verbindung über
|
||||
`.waiting`, nicht `.failed` — der ursprüngliche Code prüfte nur
|
||||
`.failed` und wartete den vollen Timeout aus statt sofort "geschlossen"
|
||||
zu melden. Gefixt, Test bestätigt es gegen einen echten (aber
|
||||
garantiert freien) Loopback-Port. 92 Tests grün. "sieht gut aus und
|
||||
funktioniert, alles speichern committen und pushen, denk an die
|
||||
Mermaid-Grafik" → README.md/HANDOFF.md/Manual.md/CHATLOG.md
|
||||
aktualisiert (inkl. Mermaid-Diagramm um `NetworkToolsService`-SSH-
|
||||
Verbindung und `PortScanner`s direkten Mac→Gerät-Pfad ergänzt),
|
||||
Commit + Push.
|
||||
|
||||
Reference in New Issue
Block a user