Wire subnet discovery routes and relay scan UDP hints.

Register recon history/export/canary APIs and discovered-hosts on the router; map UDP and path-tracer hints in relay ToScanReport; wire public canary ping to ReconHandler.
This commit is contained in:
AetherForge
2026-06-07 12:25:28 -07:00
parent 2cad49d82c
commit 826798c586
2 changed files with 5 additions and 3 deletions

View File

@@ -556,6 +556,9 @@ func NewRouter(database *db.Database, wsHub *WSHub, configHandler *ConfigHandler
r.Get("/vuln/catalog", vulnHandler.Catalog)
r.Post("/recon/scan", reconHandler.Scan)
r.Get("/recon/history", reconHandler.History)
r.Get("/recon/export/{scan_id}", reconHandler.Export)
r.Get("/recon/canary/{scan_id}", reconHandler.CanaryStatus)
r.Post("/recon/relay-scan", reconHandler.RelayScan)
r.Get("/recon/discovered-hosts", subnetDiscoveryHandler.GetDiscoveredHosts)
@@ -825,9 +828,7 @@ func NewRouter(database *db.Database, wsHub *WSHub, configHandler *ConfigHandler
r.Get("/api/download/agent-mac", serveAgentBinary("mac"))
r.Get("/api/download/agent-linux", serveAgentBinary("linux"))
r.Get("/recon/ping/{scan_id}", func(w http.ResponseWriter, r *http.Request) {
writeJSON(w, map[string]interface{}{"ok": false, "error": "canary not configured"})
})
r.Get("/recon/ping/{scan_id}", reconHandler.CanaryPing)
// Serve frontend SPA
if webRoot != "" {

View File

@@ -138,6 +138,7 @@ func (r *RelayScanReport) ToScanReport() *ScanReport {
}
return &ScanReport{
Host: r.Host, ScannedAt: r.ScannedAt, Ports: r.Ports, RelayVia: relayVia,
UDPHints: r.UDPHints, PathTracerHints: r.PathTracerHints,
Recommendations: r.Recommendations,
}
}