A tunnel that
behaves like infrastructure.

ngsrv puts a public URL in front of your service in one command, without taking the rest of your stack hostage. Declarative configuration, custom domains, and edge security — owned by you, run by us.

Why we exist

Tunnels usually start as a quick hack — a long URL pasted into a Slack thread to test a webhook. They rarely stay there. Once a team adopts one, it ends up in CI, sidecars, demo environments, and customer-facing previews.

We built ngsrv for that arc. The first run feels disposable. The hundredth run still does, but it's now defined in a config file, gated by your security policies, and pointed at a domain you own.

We don't want to be a black box in the middle of your stack. We want to be the boring part of it.

Principles

Config over clicks

Anything you can do in the dashboard is reproducible from a file in your repo. Tunnels, domains, security policies, and auth — all checked in alongside your code.

Honest about your data

We log what we need to route, bill, and protect — no more. Request bodies are never captured unless your team owner explicitly opts in. Retention is bounded by your plan.

Boring on purpose

Stable exit codes, structured logs, health and readiness endpoints, Prometheus metrics. The CLI is built to live inside something else — Compose, Kubernetes, CI.

Spin one up.

Free to start, no credit card. Upgrade only when you need custom domains, longer retention, or higher limits.

Get started free