generated from Dicken/dickendock
Commit 5: Scanner-Engine (DNS, Portscan, Titel/Favicon, Softwareerkennung, FritzBox TR-064)
This commit is contained in:
@@ -31,17 +31,24 @@ Grundgerüst aus Commit 1.
|
||||
> Drag & Drop in der UI) wandert in Commit 6 (Adminbereich) – die Startseite
|
||||
> bleibt bewusst die minimalistische Suche, kein Verwaltungs-UI dort.
|
||||
|
||||
## Commit 5 — Scanner
|
||||
## ✅ Commit 5 — Scanner (erledigt)
|
||||
|
||||
- FritzBox-Scanner (TR-064/UPnP)
|
||||
- DNS-, HTTP-, HTTPS-Scanner
|
||||
- Optionaler Portscanner mit definierter Portliste
|
||||
- Titel- und Favicon-Auslesen
|
||||
- Softwareerkennung (Home Assistant, Synology DSM, Frigate, Portainer, Grafana,
|
||||
Proxmox, Immich, Paperless, Gitea, Vaultwarden, Jellyfin, Nextcloud, Pi-hole,
|
||||
AdGuard, Unifi, …)
|
||||
- "Jetzt scannen"-Button; niemals automatische Scans
|
||||
- Scans überschreiben niemals Displayname, Kategorie, Favorit, Reihenfolge, Alias, Icon
|
||||
- `apps/backend/src/scanner/`: DNS-Kandidaten-Auflösung, TCP-Portscan (80, 443 +
|
||||
typische Ports), HTTP-Titel-/Favicon-Extraktion, Softwareerkennung per
|
||||
Signatur-Liste, FritzBox-TR-064-Client (inkl. selbst implementierter
|
||||
HTTP-Digest-Authentifizierung)
|
||||
- `POST /api/scan/devices/:id` und `POST /api/scan/fritzbox` – ausschließlich
|
||||
manuell auslösbar, kein automatischer/zeitgesteuerter Scan
|
||||
- `upsertDeviceFromScan` / `upsertServiceFromScan` in den Repositories:
|
||||
garantiert, dass Benutzerfelder (displayName, category, favorite, order,
|
||||
alias, icon) bei erneuten Scans nie überschrieben werden – End-to-End getestet
|
||||
(Service manuell umbenannt/kategorisiert/favorisiert, erneut gescannt,
|
||||
Werte blieben erhalten)
|
||||
|
||||
> Alle Module wurden gegen echte, lokal gestartete Test-Server verifiziert
|
||||
> (Port-Erkennung, Titel/Favicon-Parsing, Softwareerkennung, kompletter
|
||||
> FritzBox-SOAP-/Digest-Auth-Ablauf inkl. Fehlerfall bei falschem Passwort).
|
||||
> Ein Test gegen eine echte FritzBox war in dieser Umgebung nicht möglich.
|
||||
|
||||
## Commit 6 — Adminbereich
|
||||
|
||||
|
||||
Reference in New Issue
Block a user