A control plane that never opens a port on your router
Three layers and one rule. The control plane holds policy and history; the on-site agent holds the credentials and does the work; your router never accepts a connection from the internet.
- [inbound ports on your router]
- none
- [credentials]
- stay on site, with the agent
- [deployment]
- self-hosted, single tenant
./topology
Topology
Operators reach the platform over HTTPS. Every agent dials out to it, never the other way around — your routers stay unreachable from the internet.
- 01operators
Operator dashboard
fleet, lines, proxies, VPN
Automation clients
scripts and workers, scoped keys
authenticated HTTPS session - 02control plane
Control plane
policy, roles, audit trail
State store
configuration and history
outbound tunnel, opened by the agent - 03on-site agent
Router agent
one per router, holds the credentials
Proxy runtime
serves the per-WAN endpoints
Forwarding runtime
routes selected traffic upstream
local network only - 04your hardware
MikroTik RouterOS
PPPoE, WAN, firewall, WireGuard
./request-path
Request path
One operator action, end to end.
- 01Dashboard actionThe operator UI issues an authenticated request with a short-lived JWT and a CSRF token.
- 02Control plane validationRole, agent assignment and capability flags are checked, the intent is persisted and the activity log gets an entry.
- 03Agent dispatchThe request is routed to the target agent over the connection that agent already holds open, rate-limited per service.
- 04Local executionThe agent carries out the request against the router or the runtime it targets, entirely on the local network.
- 05Router state changesObjects are created, updated or removed on the router itself, in an order that preserves existing rule chains.
- 06Streamed resultProgress and new state are pushed back as they happen, and a reconnect never shows stale data as current.
./specs
Platform specifications
Defaults shipped by the platform. Everything here is tunable per deployment unless the value is a protocol constraint.
platform & stack
- Deployment
- self-hosted, single tenant, containerised
- Router target
- MikroTik RouterOS 7
- Agent
- one container per router, on your network
- Operator access
- browser dashboard and scoped API keys
- Data at rest
- router and proxy credentials encrypted
- Tenancy
- routers scoped per user, roles enforced server-side
transport & liveness
- Inbound ports on your router
- none
- Agent link
- outbound only, opened by the agent
- Session
- short-lived tokens, CSRF protected
- Live updates
- streamed, not polled
- Idle cost
- no router calls while nobody is watching
- Recovery
- automatic reconnect with backoff
capacity & limits
- Proxy endpoints
- hundreds per node, one per WAN address
- Protocols
- HTTP and SOCKS, with upstream forwarding
- PPPoE lines
- bulk provisioning, per-line rotation schedule
- WireGuard
- 253 clients per agent, own subnet each
- VLAN
- allocated automatically from free ranges
- Managed config
- 22 RouterOS categories per router
automation defaults
- WAN watchdog
- sweeps every 2 minutes, redials a dead line
- IP checks
- every line re-checked on a 2-minute cycle
- IP history
- 90-day retention, cleaned up automatically
- Auto-rotate
- blocked lines rotate, then back off
- Alerts
- Telegram notifications and bulk IP checks
- Brute-force defence
- graduated blocking with a whitelist