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:
@@ -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 != "" {
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user