Compare

Cloudflare Tunnel vs ngrok vs Ujex Ingress

Akshay Sarode
Verdict

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 TunnelngrokUjex Ingress
Connection modelOutbound from your machineOutbound from your machineOutbound (bore or cloudflared)
CGNAT-friendly
Custom domainFreePaidFree (your CF account on Stable tier)
WAF / DDoS protection✓ (Cloudflare front)LimitedCloudflare or your stack
Latency to user~30–60ms (CF edge)~50–100msTier-dependent
Self-hostablecloudflared client onlyNo✓ Apache-2.0

Pricing (April 2026)

FreePaid start
Cloudflare TunnelUnlimited tunnels, your domainn/a
ngrokRandom URL, low rate limit~$8/mo
Ujex Ingress1k events/mo + ephemeral tunnelsTBD (early access)

Pick Cloudflare Tunnel if

Pick ngrok if

Pick Ujex Ingress if

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.