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
| ngsrv | bore | |
|---|---|---|
| HTTP tunnel command | ngsrv http 3000 | bore ... |
| Account required | Yes (free) | No |
| Stable URLs | Reserved subdomains + custom domains | Depends on the public server; often random. |
| Security policies | Built into tunnel (free tier) | Bring your own if you self-host. |
| TCP tunnels | Yes (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
/metricsfor 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.
- Install:
brew install ngsrv/tap/ngsrvorcurl -fsSL https://get.ngsrv.com | bash - Auth:
ngsrv token <YOUR_TOKEN> - 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.