meshr / meshr vs Cloudflare Tunnel
Comparison

meshr vs Cloudflare Tunnel: mesh vs. edge broker.

Cloudflare Tunnel is a great way to publish a service through Cloudflare's edge. It's not a private device mesh. Here's an honest look at what each does — and where they genuinely overlap.

Cloudflare Tunnel isn't a mesh VPN.

It's an outbound-only reverse-proxy connector (cloudflared) that routes traffic to Cloudflare's edge as part of the broader Cloudflare One / Zero Trust platform. It's hub-and-spoke through Cloudflare's network, not peer-to-peer device mesh — even WARP-based device traffic commonly still routes through Cloudflare's edge, adding a hop even for connections that stay on the same local network. meshr gives your devices a real private mesh IP space with direct reachability between them. The overlap between the two is real for public-service exposure, but narrower than "same category."

Diagram comparing Cloudflare Tunnel's outbound-only reverse-proxy connection to Cloudflare's edge to meshr's private device-to-device WireGuard mesh network
Feature by feature

meshr vs Cloudflare Tunnel, side by side.

Grounded in Cloudflare's own public docs and pricing pages.

Cloudflare Tunnelmeshr
Category Outbound-only reverse-proxy/tunnel connector to Cloudflare’s edge (part of the Cloudflare One / Zero Trust platform) Full private mesh network
Topology Hub-and-spoke via Cloudflare’s global edge — even WARP device traffic commonly still routes through the edge Device-to-device mesh
Connector agent cloudflared — open source (Apache 2.0) meshr agent
Ingress types HTTP/HTTPS, raw TCP, SSH, RDP, Unix socket HTTP/TCP tunneling plus full mesh reachability
Access policies App/HTTP-request-level (SAML, OIDC, social/enterprise IdPs, device posture, geolocation, MFA, session duration) Device/group network ACLs — Zero Trust policy engine
Custom domains Native, but the domain must be on Cloudflare’s own DNS DNS-verified with one TXT record — keep DNS at any provider
Self-hosted control plane None — full dependency on Cloudflare’s cloud Cloud-hosted today — self-hosted build on the roadmap
Broader security suite Secure Web Gateway, DLP, CASB, Remote Browser Isolation as paid add-ons/higher tiers Not part of meshr — network + access focus
Pricing Free: up to 50 users, full ZTNA + SWG, limited DLP, 24h logs. Standard: $7/user/mo billed annually, no user cap, 30-day logs. Enterprise: custom Free: 5 users, 50 devices. Pro: $7/user/mo. Team: $99/mo flat for 25 users
Tunnel connector cost cloudflared itself is always free at every tier Tunneling included on every plan

Pricing and feature details as published by Cloudflare; subject to change on their end.

Honest tradeoffs

Where each one actually wins.

Different scope, different strengths — here's where Cloudflare Tunnel genuinely has the edge, and where meshr does.

M

Where meshr wins

  • A genuine private mesh IP space with direct device-to-device reachability — not just publishing an app through a broker at the edge.
  • WireGuard protocol under the hood, purpose-built for peer connectivity rather than HTTP/TCP app-publishing.
  • No requirement to host your DNS on a specific vendor to get custom domains — DNS-verified with one TXT record, keep DNS anywhere.
  • No single-cloud-edge dependency for connectivity between your own devices.
CF

Where Cloudflare Tunnel wins — honestly

  • Zero-config public HTTPS exposure at Cloudflare’s massive global CDN edge — hard to match for public-facing traffic at that scale.
  • A very generous free tier: up to 50 users with full ZTNA included.
  • A much broader adjacent security suite — WAF, DLP, CASB, Remote Browser Isolation — bundled in if you want a full SASE platform, not just connectivity.

Already exposing services with Cloudflare Tunnel?

meshr isn't a full Cloudflare One replacement, so this isn't a rip-and-replace pitch. If you also need private device-to-device reachability — not just public app-publishing — see how moving your tunneling use case to meshr adds mesh-wide connectivity without requiring your DNS to move to a specific vendor.

curl -fsSL https://get.meshr.to/install.sh | sudo bashmeshr login -t <setup-key>meshr tunnel http 3000 --name my-app
Questions

meshr vs Cloudflare Tunnel FAQ.

Does meshr replace Cloudflare Tunnel?

Not fully. Cloudflare Tunnel is one piece of a much broader SASE platform (Cloudflare One) that includes a Secure Web Gateway, DLP, CASB, and Remote Browser Isolation — meshr doesn’t attempt to replace all of that. Where meshr genuinely overlaps is public/internal service exposure: meshr tunnels expose a local service the same way cloudflared does, but as part of a mesh network your devices are already on, not a standalone broker.

Is Cloudflare Tunnel a mesh VPN?

No. It’s an outbound-only reverse-proxy connector that routes traffic through Cloudflare’s edge to services you’ve exposed. There’s no concept of a private device-to-device mesh — even Cloudflare’s own WARP-based device connectivity commonly still routes through their edge, adding a hop even for connections between devices on the same local network.

Do I need to move my DNS to Cloudflare to use meshr with custom domains?

No. meshr verifies domain ownership with a single DNS TXT record and your DNS can stay hosted anywhere — Route 53, Cloudflare, Namecheap, or your own nameservers. Cloudflare Tunnel’s custom domain support requires the domain to be on Cloudflare’s own DNS.

Is Cloudflare Tunnel’s free tier better than meshr’s?

For pure public HTTPS exposure at Cloudflare’s edge scale, their free tier is genuinely generous — up to 50 users with full Zero Trust Network Access included. meshr’s free tier (5 users, 50 devices) is scoped to a private mesh network with SSH and tunneling rather than a full ZTNA + Secure Web Gateway suite.

Why would I use meshr’s tunnel instead of just Cloudflare Tunnel?

If you already have devices on a meshr mesh, exposing a service publicly is one more command on infrastructure you’re already running — no separate account, no requirement to move DNS to a specific vendor. If your only need is standalone public exposure at Cloudflare’s edge scale, cloudflared covers that well on its own.

Get a real mesh, with tunneling built in.

Start with a free account. No credit card required.

expose a local service
# Get connected and expose a service in 3 commands
$ curl -fsSL https://get.meshr.to/install.sh | sudo bash
$ meshr login -t <setup-key>
$ meshr tunnel http 3000 --name my-app

 Connected! IP: 10.0.0.5
 DNS: my-server.meshr
 Tunnel active: https://my-app-acme.tunnel.meshr.to