VibeTunnels for VibeControls
frp-based tunnel provider — self-hostable tunnel relay for air-gapped networks.
vibe plugin install @vibecontrols/vibe-plugin-tunnel-vibetunnels
About this plugin
VibeTunnels frp-based tunnel provider for the VibeControls Agent. Spawns
frpc to expose local ports via a shared frps server running in the
VibeTunnels EKS clusters, producing public URLs at
*.vibetunnels.com (prod) / *.alpha.vibetunnels.com (alpha).
Registers itself as a tunnel provider named tunnel-vibetunnels
inside the agent's service registry. Works together with
@vibecontrols/vibe-plugin-tunnel (the manager/facade plugin that owns
the /api/tunnels/* REST surface).
Install
bun install -g @vibecontrols/vibe-plugin-tunnel-vibetunnels
Installed automatically by vibe start when VibeTunnels is the default
tunnel provider.
Requirements
frpcbinary in$PATH, OR setVIBETUNNELS_FRPC_PATHto an absolute path, OR let the plugin download a pinned build on first use (cached under~/.boff/vibecontrols/cache/frpc/).
How it works
- The backend issues a tunnel session via GraphQL
issueTunnelSession, returning acontrolPlanePayloadcontaining the frps server address, auth token, proxy name, and managed hostname. - The CLI POSTs that payload to the local agent's
/api/tunnels/issue-session, which routes through the tunnel manager plugin to this provider. - The provider writes an
frpc.tomlconfig into~/.boff/vibecontrols/agents/{profile}/plugins/tunnel-vibetunnels/{tunnelId}.tomland persists a TunnelInfo record in encrypted agent storage. start(tunnelId)spawnsfrpc -c <configPath>and scrapes the subprocess output forstart proxy successto transition the tunnel toactive.stop(tunnelId)gracefully terminates the frpc subprocess.rotate(tunnelId)issues a new session and re-spawns frpc — this causes a ~1s interruption because frp OSS does not support dynamic config reload.
Security
- frpc auth tokens are never logged.
- All storage goes through the agent's encrypted Skalex adapter.
- The plugin verifies the frpc binary checksum against a pinned manifest before execution when auto-downloading.
Use it in 30 seconds
- Make sure the agent is running:
vibe start - Install the meta first:
vibe plugin install @vibecontrols/vibe-plugin-tunnel - Install this plugin:
vibe plugin install @vibecontrols/vibe-plugin-tunnel-vibetunnels - List installed plugins:
vibe plugin list