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 share local apps quickly. One command gives you a public URL, with a clear path to self-hosted control when your team scales.
✓ Token validated and persisted to ~/.grip/token
Grip keeps local sharing simple 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.
While Grip is built on robust domain modules, the current production wiring has specific behavioral constraints you should plan for.