netdiag-app/tools
Eduard Wisch 3f29a373ac
All checks were successful
Build APK / build-apk (push) Successful in 2m48s
SIP-Erreichbarkeit, Fingerabdruck-Anmeldung, Token raus aus der Adresszeile [apk]
Die vier letzten offenen Punkte der Roadmap.

SIP-Erreichbarkeit (neues Werkzeug, Kategorie Telefonie)
- Sip.kt: OPTIONS nach RFC 3261 ueber UDP, bei Schweigen TCP nachgeschoben.
  Antwortet nur TCP, ist das der Fingerabdruck einer Firewall, die UDP
  verwirft - eine andere Reparatur als "Anlage aus".
- sip-bewertung.ts ohne Laufzeit-Import, damit tools/pruefe-sip.mjs die Regeln
  direkt nachrechnen kann (14 Faelle + 4 Texte, alle korrekt).
- Leitsatz: JEDE Statuszeile beweist eine antwortende Instanz. 401/407 sind
  deshalb gruen mit Hinweis "Anmeldung verlangt" - beim Provider der
  Normalzustand. Als Ausfall gemeldet wuerde der Techniker am falschen Ende
  suchen.
- RTP-Sprachqualitaet bewusst NICHT: ohne aufgebautes Gespraech nicht ehrlich
  messbar. Die Grenze steht im Ergebnis und landet im Kunden-PDF.

Fingerabdruck-Anmeldung (Biometrie.kt, BiometricPrompt + Android-Keystore)
- Der Kern ist nicht der Dialog, sondern was danach passiert: die
  Klartextfassung des Tokens wird aus den Capacitor Preferences ENTFERNT.
  Vorher stand es offen in CapacitorStorage.xml und war auf einem entsperrten
  Geraet ohne Weiteres lesbar - ein zusaetzlich verschluesseltes Token haette
  daran nichts geaendert.
- Kein zweiter Faktor: der Finger ersetzt das Passwort (Eddys Vorgabe).
  Gueltigkeit und Widerruf bleiben bei awlauth - hinterlegt ist dasselbe Token.
- 401 unterscheidet jetzt "Token abgelehnt" von "gar nicht angemeldet". Ohne
  das loeschte der erste Startaufruf die gerade eingerichtete Anmeldung wieder
  (im Emulator aufgefallen, Ursache im logcat).

Token nicht mehr in der Adresszeile
- updateDownloadUrl() ohne ?jwt=; der APK-Herunterlader im Plugin schickt
  Authorization: Bearer. instanceFollowRedirects=false, sonst ginge der Header
  bei einer Weiterleitung an ein fremdes Ziel mit.
- pdfUrl() war seit dem Initialcommit tot (kein Aufrufer) und ist durch
  fetchProtocolPdf() ersetzt - Header statt Token in der URL.

Im Emulator geprueft: SIP gegen einen eigenen Responder (200/401/Port zu),
Fingerabdruck vollstaendig durchgespielt (einrichten, Neustart, anmelden,
abbrechen), Speicher jeweils nachgesehen.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-19 21:40:27 +02:00
..
pruefe-dns.mjs DNS-Pruefung: eigener UDP-Client fragt jeden Server namentlich 2026-08-16 23:24:32 +02:00
pruefe-geraeteaktionen.mjs Geraete-Aktionen nach Geraetetyp sortieren statt sie zu verstecken 2026-08-16 23:14:06 +02:00
pruefe-geraetediff.mjs Geraete-Vergleich zweier Protokolle - ohne MAC-Adressen 2026-08-17 17:13:13 +02:00
pruefe-kette.mjs Internet-Kette: Anschluss, Gateway, Namensaufloesung und HTTPS in einem Lauf 2026-08-16 22:56:20 +02:00
pruefe-monitor.mjs Internet-Kette: Anschluss, Gateway, Namensaufloesung und HTTPS in einem Lauf 2026-08-16 22:56:20 +02:00
pruefe-serveradresse.mjs Geraete-Vergleich zweier Protokolle - ohne MAC-Adressen 2026-08-17 17:13:13 +02:00
pruefe-sip.mjs SIP-Erreichbarkeit, Fingerabdruck-Anmeldung, Token raus aus der Adresszeile [apk] 2026-08-19 21:40:27 +02:00
render-chart.mjs Kanalgraph bei vielen Netzen lesbar: Namen entzerrt, Netzauswahl 2026-08-16 17:29:18 +02:00
test-recommend.mjs Kanalempfehlung und DFS-Anzeige mit dem Diagramm in Einklang gebracht 2026-08-15 17:59:41 +02:00