Developer-First CLI
Share localhost in seconds with login, http, tcp, status, and logout commands. Actionable diagnostics help developers move fast.
Grip is built for developers who need to quickly share local apps. Run a single command, get a public URL, and keep the option to self-host edge + control-plane when your team needs deeper control.
View Source Code✓ Token validated and persisted to ~/.grip/token
Grip keeps local sharing simple for developers while separating CLI and edge for predictable behavior and transparent routing.
Deploy the edge control-plane via Docker, systemd, or native binary. This handles routing and tunnel lifecycles.
Configure your initial root token via the GRIP_SEED_TOKEN environment variable on the edge.
Run grip login to validate your token against GET /v1/tokens/validate and persist it locally.
Run grip http <PORT>. The CLI creates the tunnel via POST /v1/tunnels.
The edge issues a public URL pattern (<id>.<base><path>) and immediately forwards inbound traffic to your local port.
# 1. Start edge
$ docker run -p 80:80 -p 443:443 \
-e GRIP_SEED_TOKEN="sk_live_xyz" \
rpc-ag/grip-edge:latest# 2. Authenticate
$ grip login --token sk_live_xyz
✓ Login successful
# 3. Expose local port 3000
$ grip http 3000
Tunnel created: https://app-123.rpc.ag/Optimized for quick local sharing during development, with reliability and observability primitives for teams that self-host.
Share localhost in seconds with login, http, tcp, status, and logout commands. Actionable diagnostics help developers move fast.
Stable JSON error envelopes (CONTROL_* codes). Strict idempotency enforcement on mutating endpoints ensures no zombie tunnels.
Actor model architecture with mailbox capacity profiles, fairness limiters, saturation guardrails, and jittered reconnect backoffs.
Export Prometheus metrics, trace latency decomposition, and monitor live tunnel status with the built-in ratatui dashboard.
Heavily tested domain modules for RBAC templates, scoped token governance, workspace hierarchy, and endpoint collision policies.
Run easily in Docker for dev loops, or map to systemd and Caddy for production-grade reverse proxying and TLS termination.
We believe in transparent engineering. While Grip is built on robust, battle-tested domain modules, the current production wiring has specific behavioral constraints you should plan for: