Hydraneck currently talks to MikroTik routers via the binary RouterOS API (github.com/go-routeros/routeros/v3, port 8728/8729) in pkg/mikrotik/client.go. This works but has two limitations as we move toward agent-driven operation and live event debugging:
Hybrid approach:
net/http + JSON. Drop-in replacement for the current pkg/mikrotik/client.go. Drops the go-routeros dependency from the default code path./interface/monitor-traffic (live deltas), /log/print follow=yes, /tool/torch, queue stat streams. Lives in pkg/mikrotik/debug and exposed via Server-Sent Events from hydraneck (/api/venue/{id}/router/tail, /api/venue/{id}/router/bandwidth/stream, etc.). Used by the web UI and by explicit agent debug sessions — not part of the default agent tool surface.REST is one-shot. Polling REST every 1-2s smears microbursts and misses the kind of sub-second events that cause stream stutters. The binary API supports server-pushed deltas for the commands above, which is the right shape for a live-tail debug view during an event.
Binary API code stays small and isolated to pkg/mikrotik/debug, so it does not bleed into the typed surface that agents see.
hydraneck scan reporting per-router version; venues on v6 must upgrade before onboarding.www-ssl service on the router (for REST, port 443 by default — confirm per venue)router.Router, BandwidthMonitor) stay unchanged. Only the implementation underneath swaps from binary to REST for the default path.pkg/omada/) is unaffected.pkg/mikrotik/client.go — rewrite to use RESTpkg/mikrotik/wireguard.go — rewrite to use RESTpkg/mikrotik/debug/ — new subpackage for binary-API streamspkg/api/ — add SSE endpoints for live debuginternal/cli/scan.go — surface RouterOS version, flag <v7.1go.mod — go-routeros stays (debug package); no new deps for REST