Cloudflare Tunnel vs ngrok vs Ujex Ingress
Cloudflare Tunnel: free, custom domain, the right answer for most. ngrok: fastest start, paid above light usage. Ujex Ingress: agent-aware auth, audit, integrated with rest of agent infra.
A common comparison drops Tailscale into the mix; they solve different problems (mesh networking vs reverse tunneling). This page focuses on three reverse-tunneling options and adds Ujex Ingress as the agent-shaped one.
Architecture
| Cloudflare Tunnel | ngrok | Ujex Ingress | |
|---|---|---|---|
| Connection model | Outbound from your machine | Outbound from your machine | Outbound (bore or cloudflared) |
| CGNAT-friendly | ✓ | ✓ | ✓ |
| Custom domain | Free | Paid | Free (your CF account on Stable tier) |
| WAF / DDoS protection | ✓ (Cloudflare front) | Limited | Cloudflare or your stack |
| Latency to user | ~30–60ms (CF edge) | ~50–100ms | Tier-dependent |
| Self-hostable | cloudflared client only | No | ✓ Apache-2.0 |
Pricing (April 2026)
| Free | Paid start | |
|---|---|---|
| Cloudflare Tunnel | Unlimited tunnels, your domain | n/a |
| ngrok | Random URL, low rate limit | ~$8/mo |
| Ujex Ingress | 1k events/mo + ephemeral tunnels | TBD (early access) |
Pick Cloudflare Tunnel if
- You have a domain on Cloudflare (or are willing to move one)
- You want stable URL + WAF + DDoS for free
- You're not building agent-shaped infra (no need for Ujex)
Pick ngrok if
- You need a tunnel up in 30 seconds and money's not the constraint
- You like ngrok's UI for inspection
- You don't want to manage DNS
Pick Ujex Ingress if
- The thing exposed is an agent (auth as agent identity, not just network address)
- You want spend cap + audit applied to webhook-triggered work
- You want self-hostable
- You're already on Ujex
What about bore directly?
Ujex Ingress's Quick tier uses bore. If you don't need authentication or audit, you can run bore directly with the open-source bored server on a $5/mo VPS. More on bore.
FAQ
Does Cloudflare Tunnel work without a Cloudflare account?
No — you need an account, even for the free tier. Domain doesn't have to be on Cloudflare DNS but most users put it there.
Is ngrok still worth paying for?
Depends on volume. The paid plans give stable URLs + custom domains for $8–$30/mo, which is reasonable for production. Cloudflare Tunnel does the same things free if you can move DNS.