ngsrv vs bore

Minimal TCP tunnel in Rust. Self-host the server or use a public instance. ngsrv is a managed tunnel with a Go CLI, YAML config, reserved subdomains, and security policies on every plan. Same problem, different trade-offs.

What is bore?

Minimal TCP tunnel in Rust. Self-host the server or use a public instance.

Typical command:

bore local 3000 --to bore.pub

What is ngsrv?

ngsrv http 3000

Declarative multi-tunnel config via ngsrv.yml, dashboard analytics, custom domains, and edge policies (IP allowlist, rate limit, geo, header auth) without a separate Zero Trust product.

At a glance

ngsrvbore
HTTP tunnel commandngsrv http 3000bore ...
Account requiredYes (free)No
Stable URLsReserved subdomains + custom domainsDepends on the public server; often random.
Security policiesBuilt into tunnel (free tier)Bring your own if you self-host.
TCP tunnelsYes (ngsrv tcp)Yes, raw TCP is the point

Where ngsrv fits better

HTTP/HTTPS dev workflows with managed TLS, logs, and dashboard visibility.

Teams also pick ngsrv when they want:

  • Config in git (ngsrv.yml) instead of one-off shell commands
  • Webhook URLs that stay the same across restarts
  • Structured logs and /metrics for CI pipelines

Where bore fits better

You want TCP (Postgres, Redis) and are fine self-hosting or trusting a public relay.

No shame in using the tool that matches your constraints.

Switching over

For HTTP services, ngsrv http PORT covers the same preview case with less ops.

  1. Install: brew install ngsrv/tap/ngsrv or curl -fsSL https://get.ngsrv.com | bash
  2. Auth: ngsrv token <YOUR_TOKEN>
  3. Replace the bore command with ngsrv http <port>

FAQ

Is ngsrv a drop-in replacement for bore? For HTTP preview and webhooks, usually yes. For raw TCP forwarding, check the table above.

Does ngsrv cost money? Free tier covers one tunnel, one custom domain, 10GB/month, and one policy per security type. Pro removes the Free visitor warning page. See /pricing.

Can I use both? Sure. Lots of teams keep bore for emergencies and ngsrv for day-to-day sharing.