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.Get("/vuln/catalog", vulnHandler.Catalog)
r.Post("/recon/scan", reconHandler.Scan) 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.Post("/recon/relay-scan", reconHandler.RelayScan)
r.Get("/recon/discovered-hosts", subnetDiscoveryHandler.GetDiscoveredHosts) 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-mac", serveAgentBinary("mac"))
r.Get("/api/download/agent-linux", serveAgentBinary("linux")) r.Get("/api/download/agent-linux", serveAgentBinary("linux"))
r.Get("/recon/ping/{scan_id}", func(w http.ResponseWriter, r *http.Request) { r.Get("/recon/ping/{scan_id}", reconHandler.CanaryPing)
writeJSON(w, map[string]interface{}{"ok": false, "error": "canary not configured"})
})
// Serve frontend SPA // Serve frontend SPA
if webRoot != "" { if webRoot != "" {

View File

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