Skip to content

Networking

Minions connect securely to HQ via Cloudflare Tunnel.

A Cloudflare Tunnel is automatically created for each minion during provisioning.

flowchart TD
A["Browser / HQ"] -->|"HTTPS / WSS"| B["Cloudflare Edge"]
B -->|"Tunnel (encrypted)"| C["Minion VPS (Lightsail)"]
C --- D[":3001 Fastify API"]
C --- E[":6080 noVNC (websockify)"]
C --- F[":7681 ttyd"]

A CNAME record {minion-id}.minion-agent.com is automatically created for each minion.

HQ’s custom server relays WebSocket connections.

PathDestinationPurpose
/ws/minion/:id/vncMinion port 6080VNC connection
/ws/minion/:id/terminal/:sessionMinion port 7681Terminal connection

Authentication is performed via JWT, supporting Cookie / Authorization Header / Query Parameter.

PortProtocolServiceExposure
3001HTTPFastify APIVia Tunnel
6080WebSocketnoVNC (websockify)Via Tunnel
7681WebSocketttydVia Tunnel
PortProtocolService
3000HTTP / WSNext.js + WebSocket proxy
  • Minion VPS ports are not exposed directly; access is only available via Cloudflare Tunnel
  • HQ-to-minion communication is protected by API tokens (Bearer auth)
  • WebSocket connections require JWT authentication