ngsrv vs Serveo
SSH port forwarding to serveo.net. Similar idea to localhost.run. 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 Serveo?
SSH port forwarding to serveo.net. Similar idea to localhost.run.
Typical command:
ssh -R 80:localhost:3000 serveo.net
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 | Serveo | |
|---|---|---|
| HTTP tunnel command | ngsrv http 3000 | ssh ... |
| Account required | Yes (free) | No (custom subdomains need registration) |
| Stable URLs | Reserved subdomains + custom domains | Random unless you register a subdomain. |
| Security policies | Built into tunnel (free tier) | No policies at the tunnel layer. |
| TCP tunnels | Yes (ngsrv tcp) | HTTP forwarding via SSH |
Where ngsrv fits better
Repeatable preview links, team workflows, and policies on the free tier.
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 Serveo fits better
Quick demo when npm and brew are both blocked.
No shame in using the tool that matches your constraints.
Switching over
Install ngsrv once, then ngsrv http <port> replaces the SSH command.
- Install:
brew install ngsrv/tap/ngsrvorcurl -fsSL https://get.ngsrv.com | bash - Auth:
ngsrv token <YOUR_TOKEN> - Replace the ssh command with
ngsrv http <port>
FAQ
Is ngsrv a drop-in replacement for Serveo? For HTTP preview and webhooks, usually yes. For their specific platform features, 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 ssh for emergencies and ngsrv for day-to-day sharing.