Analysis updated 2026-06-21
Find an open-source alternative to ngrok for sharing a local development server at a public HTTPS URL.
Choose a self-hostable tunnel tool to permanently expose a home server through NAT or a restrictive firewall.
Compare tunneling options such as frp, rathole, bore, and chisel to pick one that fits your language preference and feature needs.
Set up a tunnel so incoming webhooks from a third-party service can reach your local development machine during testing.
| anderspitman/awesome-tunneling | postgres/postgres | marimo-team/marimo | |
|---|---|---|---|
| Stars | 20,829 | 20,828 | 20,818 |
| Language | — | C | Python |
| Setup difficulty | moderate | hard | moderate |
| Complexity | 1/5 | 5/5 | 3/5 |
| Audience | ops devops | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Awesome Tunneling is a curated list of tunneling tools and services maintained by Anders Pitman on GitHub. Tunneling here means software that lets you take a program running on a private computer, such as a web server on your laptop or inside your home network, and make it reachable from the public internet on a domain name with HTTPS, even though the machine sits behind a NAT or restrictive firewall. The list is aimed mainly at self-hosters and developers who want an alternative to commercial services like ngrok, Cloudflare Tunnel, Tailscale, or ZeroTier. The maintainer opens with what he calls "the dream": a single tool that registers a domain for you, points its DNS records at your tunnel server, automatically gets TLS certificates for the apex and subdomains, runs a non-root client that forwards HTTP or TCP traffic, and gives you a simple GUI to map a domain to a port on a chosen client. He notes that no project he has found does all of these things together. As a practical recommendation he points most readers at Cloudflare Tunnel for a polished closed-source experience, and for self-hosting he suggests Pangolin or frp for production use, or his own small SirTunnel project as a starting point to modify. The bulk of the README is a long list of open-source and source-available projects, each entry being a one or two sentence description with a GitHub star badge. Examples include frp (a comprehensive ngrok alternative with UDP, P2P, and multiplexing), Pangolin (self-hostable reverse-proxy manager with identity and access control and a dashboard), chisel (SSH under the hood plus Let's Encrypt certs, written in Go), rathole (similar to frp but in Rust, with hot reload), bore (minimal MIT-licensed tunnel in Rust), wstunnel (proxies over WebSockets to get past restrictive networks), gost (TCP and UDP tunneling, TAP/TUN, load balancing, written in Go), sish, zrok (built on OpenZiti), tunnelto, expose (PHP), localtunnel, sshuttle, telebit, tunnel.pyjam.as (uses WireGuard directly), and the original open-source ngrok 1.0. There is a policy note at the top dated 2026-02-16 saying that new entries now need at least 100 GitHub stars, with non-GitHub projects and commercial offerings handled case by case, because tunneling tools can be misused. The list is community-maintained through GitHub issues.
Awesome Tunneling is a curated list of tools that expose a local server running on your private machine to the public internet with HTTPS, aimed at developers and self-hosters who want alternatives to ngrok or Cloudflare Tunnel.
The explanation does not specify a license.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly ops devops.
This repo across BitVibe Labs
Verify against the repo before relying on details.