Reverse Proxy / Remote Access

Pangolin vs Cloudflare Tunnel

Both tools solve the same problem: getting a home service onto the internet without opening a port or exposing your home IP. The real question is who owns the edge. Cloudflare Tunnel runs the cloudflared daemon, which dials outbound to Cloudflare's global network, and it costs nothing; the catch is that TLS terminates on Cloudflare's servers, so they can read your plaintext. Pangolin does the same outbound-tunnel trick, but the far end is a small VPS you rent and control, so traffic terminates on your box instead of a third party's. If you only need two or three web apps reachable and you don't mind Cloudflare sitting in the middle, Cloudflare Tunnel is the free, near-zero-maintenance pick. If you refuse to hand your traffic to Cloudflare, need raw TCP or UDP, or want one dashboard managing a fleet of exposed services with built-in authentication, Pangolin earns its roughly $5 per month VPS and the patching that comes with running your own edge.

Updated 2026-08-06 · by

Side by side

PangolinCloudflare Tunnel
Core modelSelf-hosted tunneled reverse proxy on a VPS you own (Traefik plus WireGuard)Managed outbound tunnel to Cloudflare's global edge (cloudflared)
Software costFree, open source (AGPL-3.0 community edition)Free
What you still pay forA VPS with a public IP (about $5/mo) and a domainA domain with DNS on Cloudflare (about $10/yr)
Who terminates TLSYour VPS. Nobody else sees plaintextCloudflare's edge. They handle your traffic in the clear
Built-in access controlSSO, email OTP, PIN, passcodes, geoblocking, per resourceCloudflare Access: email OTP, SSO, free up to 50 users
ProtocolsHTTP/HTTPS plus raw TCP/UDP, and a WireGuard client modeHTTP(S) in a browser; SSH/RDP/TCP need cloudflared or WARP on the client
Edge, DDoS, CDNOnly your VPS. No CDN, DDoS is your problemCloudflare's anycast network: free DDoS absorption, WAF, CDN
Ops burdenYou patch, secure, and monitor the VPS and its updatesNothing to run or maintain; Cloudflare operates the edge

Same trick, different edge

Both use an outbound-only tunnel, which is why neither needs a port forward and both work behind CGNAT. With Cloudflare Tunnel you install cloudflared on a box in your lab, it dials out to Cloudflare, and you map public hostnames to internal services in the Zero Trust dashboard. With Pangolin you stand up the Pangolin server on a VPS that has a public IP, then run its lightweight client, Newt, on a machine at home; Newt dials out to the VPS over WireGuard and your services become reachable through hostnames on your domain. From the outside they look identical: a public HTTPS URL that reaches a service sitting on your private LAN.

The divergence is the edge. Cloudflare's edge is Cloudflare, thousands of points of presence you get for free but do not control. Pangolin's edge is a VPS you rent, which you do control and also have to run. That single difference drives almost every tradeoff below: cost, privacy, DDoS protection, and how much of your weekend goes to patching. If you have read Tailscale vs Cloudflare Tunnel, this is the other half of the story. Pangolin is what you reach for when you like Cloudflare Tunnel's model but want to own the far end.

What Pangolin actually is

Pangolin bills itself as an identity-aware VPN and tunneled reverse proxy. Under the hood the server node runs Traefik as the actual reverse proxy, which handles routing and pulls free Let's Encrypt certificates, plus a component called Gerbil that manages the WireGuard interface where your tunnels land. Newt is the userspace WireGuard client that runs on each of your sites and connects back. On top sits a web dashboard where you define sites, add resources (the individual apps you want to expose), and attach access rules to each one.

The access control is the part that makes it more than a proxy. Every resource can sit behind SSO, email one-time codes, PIN codes, passcodes, geoblocking, or IP allow-lists, all managed from the dashboard, which is effectively a self-hosted version of what Cloudflare Access does. It also serves raw TCP and UDP resources and has a client mode for private peer-to-peer access, so it stretches into VPN territory, not just web publishing. If you want to understand the proxy layer it is built on, that is the same Traefik covered in Nginx Proxy Manager vs Traefik.

Installation is a Docker Compose stack, and there is a one-click DigitalOcean marketplace image if you would rather not hand-roll it. The community edition is free and open source under AGPL-3.0. A paid Enterprise image (the ee tag) adds extras like external identity provider integration, multi-organization support, and custom branding, and Fossorial's commercial license keeps all of it free for personal use and for businesses under $100K in annual revenue.

What Cloudflare Tunnel gives you for free

Cloudflare Tunnel's pitch is that you run nothing but cloudflared. There is no VPS to rent, no edge to patch, and no reverse proxy to configure, because Cloudflare is all of that. You get their global anycast network in front of every hostname, which means free DDoS absorption, a WAF, and CDN caching that a single VPS cannot match. Cloudflare Access gates any app with email codes or SSO, free for up to 50 users, which is far more than a homelab will ever use.

The cost is real, it is just not money. TLS terminates at Cloudflare's edge, so they see the plaintext of everything flowing through your tunnel; that is how Access and the WAF work at all. You also need a domain with its DNS hosted on Cloudflare, and Cloudflare's service-specific terms restrict serving video and other large media through the CDN without paid products, which trips up Jellyfin and Plex setups. And there is no self-hosted control plane: cloudflared is open source, but the edge is Cloudflare only, so if that dependency ever bothers you, your exit is to rebuild on something else entirely.

Cost, ops, and the honest total

On paper both are free software, but the totals are not equal. Pangolin needs a VPS with a public IP to be the edge, which runs about $5 a month at any budget provider, plus a domain. More importantly it needs you: the VPS is a public-facing Linux box you have to keep patched, hardened, and monitored, and Traefik and Pangolin updates are yours to apply. That is a fair trade if you enjoy running infrastructure, and a chore if you don't.

Cloudflare Tunnel's total really is close to zero. The software is free, the edge is free, and the only hard cost is a domain, roughly $10 a year at Cloudflare's at-cost registrar. There is no server to maintain because the internet-facing half lives on Cloudflare's infrastructure. For someone who wants to expose two apps and never think about it again, that gap in ongoing effort is the whole decision. If your goal is private access rather than public publishing, weigh both against a mesh VPN in WireGuard vs Tailscale before you commit to either.

Privacy, protocols, and lock-in

Privacy is where Pangolin has a clean, structural win. Because the tunnel terminates on your own VPS, no third party is positioned to read your traffic; you hold the TLS keys and the logs. With Cloudflare Tunnel, Cloudflare is in the path by design and handles your requests in plaintext. For a public blog or a status page that is a non-issue. For Vaultwarden, a family photo library, or anything carrying credentials, it is a trust decision you should make on purpose, not by default.

Protocols split the same way. Cloudflare Tunnel is browser-native for HTTP and HTTPS, but SSH, RDP, and arbitrary TCP require your visitors to run cloudflared or the WARP client, which undercuts the whole no-client-software appeal. Pangolin exposes raw TCP and UDP directly and adds a WireGuard client mode for private access, so game servers, databases, and remote desktops fit without asking guests to install anything unusual. The flip side is blast radius: Pangolin has no global edge, so a DDoS lands squarely on your one VPS, while Cloudflare shrugs off attacks that would flatten a $5 droplet.

Where Pangolin wins

  • Fully self-hosted: the tunnel ends on a VPS you own, so no third party can read your traffic
  • Built-in access control (SSO, email OTP, PIN, passcodes, geoblocking) per resource, from one dashboard
  • Handles raw TCP and UDP plus a WireGuard client mode, not just browser HTTP
  • Open source (AGPL-3.0) community edition; free for personal use and businesses under $100K revenue
  • No inbound ports and works behind CGNAT, since Newt dials outbound over WireGuard
  • A one-click DigitalOcean image or a Docker Compose stack gets you running quickly

Where Cloudflare Tunnel wins

  • Truly free: no VPS and no edge to run, only a domain on Cloudflare DNS
  • Cloudflare's global network gives you free DDoS absorption, a WAF, and CDN caching
  • Cloudflare Access gates any app with email codes or SSO, free for up to 50 users
  • Nothing to patch or monitor; the internet-facing half is Cloudflare's problem
  • Automatic TLS on every hostname, and outbound-only tunnels that defeat CGNAT
  • Quick tunnels (trycloudflare.com) expose a service in one command with no account

Which to pick, by situation

Your situationPickWhy
You want two or three web apps reachable by family who will never install anything, for as close to free as possibleCloudflare Tunnelcloudflared plus a $10/year domain publishes real hostnames with automatic TLS and email-code access, and there is no server to maintain afterward.
You refuse to let a third party terminate TLS on your trafficPangolinthe tunnel ends on a VPS you own, so nobody but you sees the plaintext, and you hold the certificates and the logs.
You need to expose a game server, database, or SSH over raw TCP/UDP with per-resource authenticationPangolinit handles non-HTTP protocols natively and gates each resource from one dashboard; Cloudflare Tunnel would make every visitor run a client for the same thing.
You are publishing a public blog or portfolio from home and want free DDoS protection and a CDNCloudflare TunnelCloudflare's edge absorbs attacks and caches content globally, which a single Pangolin VPS cannot do, and the media caveats do not apply to a text site.
You already run a cheap VPS and want one self-hosted control plane for many exposed sites and appsPangolinthe dashboard, resource model, and built-in access rules are cleaner to manage at scale than hand-editing cloudflared config, and it is all yours.

The verdict

For most homelabs, use Cloudflare Tunnel. It is free, there is nothing to maintain, and Cloudflare's edge hands you DDoS protection and a WAF that a single VPS never will; the price is letting Cloudflare terminate your TLS and living inside their terms of service. Reach for Pangolin when that price is the dealbreaker: when you will not put a third party in the path of your traffic, when you need raw TCP or UDP instead of browser-only HTTP, or when you want one self-hosted dashboard managing a fleet of exposed services with built-in authentication. Just go in clear-eyed that Pangolin's edge is a public Linux box you now own and have to patch, and that a real DDoS lands on that one box. If your actual need is private access rather than public publishing, a mesh VPN like the ones in Tailscale vs Cloudflare Tunnel may beat both.

Choose Pangolin if you want to self-host the entire path, keep Cloudflare (or anyone) out of your plaintext, need raw TCP/UDP, or want one dashboard with built-in access control for many exposed services, and you don't mind running a VPS

Choose Cloudflare Tunnel if you want the free, zero-maintenance option, value Cloudflare's global DDoS absorption, WAF, and CDN, and are fine with Cloudflare terminating your TLS for the apps you publish

Official links

FAQ

Is Pangolin a reverse proxy?

Yes, and more. At its core Pangolin is a tunneled reverse proxy: it runs Traefik on a public VPS and routes incoming HTTPS to services on your private network through a WireGuard tunnel. On top of that it adds per-resource access control and a dashboard, which is what separates it from a plain proxy.

Does Pangolin replace nginx?

For the exposure layer, yes. Pangolin uses Traefik rather than nginx as its proxy, so you would not run nginx as your public front door alongside it. You can still run nginx internally for an app that expects it; Pangolin just owns the internet-facing routing and TLS.

What is the difference between Cloudflare and Pangolin?

Cloudflare Tunnel routes your traffic through Cloudflare's global edge for free, and Cloudflare terminates TLS and can read the plaintext. Pangolin does the same outbound-tunnel trick, but the edge is a VPS you rent and control, so traffic terminates on your hardware. You trade Cloudflare's free DDoS protection and zero maintenance for full ownership of the path.

Is Pangolin better than Cloudflare Tunnel?

Only if you specifically want to self-host the edge. For most homelabbers who just need a couple of apps online, Cloudflare Tunnel is easier and free. Pangolin is better when you refuse to let Cloudflare see your traffic, need raw TCP/UDP, or want one self-hosted dashboard for many services, and you accept running a VPS to get it.

Can I use Pangolin as a VPN?

Yes. Alongside publishing web apps, Pangolin has a client mode that gives you private, peer-to-peer WireGuard access to your resources, so it doubles as a VPN for your own devices. If private access is your only goal, compare it with a pure mesh VPN in [WireGuard vs Tailscale](/compare/wireguard-vs-tailscale).

Can I trust Cloudflare Tunnels?

For availability and network security, Cloudflare is reliable and the tunnel itself is genuinely safe. The trust question is privacy: TLS terminates at Cloudflare's edge, so they can see your traffic in the clear. That is fine for public content and a real consideration for anything sensitive. If you are not comfortable with it, that is the case for Pangolin.

Is Pangolin free?

The community edition is free and open source under AGPL-3.0, and the commercial license keeps it free for personal use and businesses under $100K in annual revenue. You still pay for the VPS it runs on (about $5 a month) and a domain. A paid Enterprise image adds features like external identity providers and multi-organization support.

Related on HomelabCompass

← All comparisons