HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
anderspitman
awesome-tunneling
Python2020–2026
anderspitman / awesome-tunneling

awesome-tunneling

List of ngrok, Cloudflare Tunnel, Tailscale, and ZeroTier alternatives and other tunneling software and services. Focus on self-hosting.

41Distinct people
130Mentions
3Explicit recommenders
22KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

List of ngrok, Cloudflare Tunnel, Tailscale, and ZeroTier alternatives and other tunneling software and services. Focus on self-hosting.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

Honestly I really agree with this use case and I even created a point asking for some browser like this but one which is more capable than even browsh perhaps, I am not sure if…

Imustaskforhelp used a recommendation phrase. 5 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 3:38:16 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year130 dated mentions

Observed mentions: 2020-09-17 19:02:23 UTC to 2026-09-18 16:00:42 UTC.

01020302020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 8 mentions; 2 submissions, 6 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 11 mentions; 0 submissions, 11 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 31 mentions; 2 submissions, 29 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 24 mentions; 0 submissions, 24 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 23 mentions; 0 submissions, 23 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 18 mentions; 3 submissions, 15 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 15 mentions; 1 submissions, 14 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC826
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC11011
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC31229
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC24024
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC23023
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC18315
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC15114

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
UPDATE 2026-09-28: Official policy for adding non-open source/commercial services to the list: you must provide some evidence of existing customers that are happy with your product. Google reviews, 100+ GitHub stars, etc. If you are commercial but primarily B2B, you can also have a reputable business that is a customer send me an email vouching for your product. Decisions will still be case-by-case, but I try to be reasonable. UPDATE 2026-08-10: I did a lot of backlog cleanup over the weekend. I used AI to help with automation and write comments, but I tried to make all the yes/no decisions myself. Some things almost certainly slipped through the cracks. If you feel your issue/PR was closed in error, please comment so I can take a closer look. UPDATE 2026-02-16: Given the sensitive nature of tunneling tools, I'm going to start requiring at least 100 GitHub stars on any new additions. Projects not hosted on GitHub and commercial offerings will be handled case-by-case. Feel free to open an issue if you see a problem with this policy. What is this list for The purpose of this list is to track and compare tunneling solutions. This is primarily targeted toward self-hosters and developers who want to do things like exposing a local webserver via a public domain name, with automatic HTTPS, even if behind a NAT or other restricted network. The dream I started this list because I'm looking for a simple tool/service that does the following: Allows me to register a domain name and automatically points the records at the server running the tunnels. Automatically sets up and manages HTTPS certificates (apex and subdomains) for the domain. Provides a client tool that tunnels HTTP/TCP connections through the server without requiring root on the client. Provides a simple GUI interface to allow me to map X domain/subdomain to Y port on Z client, and proxy all connections to that domain. So far I haven't found a tool that does all of this. In particular, while some of them can do automatic certs through Let's Encrypt, none of them integrate the domain registration and DNS management in a simple way. Recommendations For most people, I currently recommend Cloudflare Tunnel. Although it's closed source, this is the production-quality service that gets the closest to achieving the dream. It's also a loss-leader for Cloudflare's other products which means they can offer it for free. If you want to self-host, there are many options. For something production ready I would look at Pangolin or frp. If you're a developer and want something very simple, I'd recommend starting with my own SirTunnel project and modifying it for your needs. Open source (at least with a reasonably permissive license) Telebit - Written in JS. Code. tunnel.pyjam.as - No custom client; uses WireGuard directly instead. Written in Python. source code SSH-J.com - Public SSH Jump & Port Forwarding server. No software, no registration, just an anonymous SSH server for forwarding. Users are encouraged to use it for SSH exposure only, to preserve end-to-end encryption. No public ports, only in-SSH connectivity. Run ssh ssh-j.com and it will display usage information. Greenhouse - Instant least-authority port-forwarding with automatic HTTPS; the authors "really don't want your TLS private keys." The hosted service (greenhouse.server.garden) is currently unavailable and the project appears unmaintained (last activity 2023). frp - Comprehensive open alternative to ngrok. Supports UDP, and has a P2P mode. Supports multiplexing over TCP (single connection or pool), QUIC, and KCP. ngrok 1.0 - Original version of ngrok. No longer developed in favor of the commercial 2.0 version. Pangolin - Fully self-hostable tunneled reverse proxy management server with identity and access control, automated SSL certificates, and dashboard UI. localtunnel/localtunnel - Written in node. Popular suggestion. chisel - SSH under the hood, but still uses a custom client binary. Supports auto certs from LetsEncrypt. Written in Go. rathole - Similar to frp, including the config format, but with improved performance. Low resource consumption. Hot reload. Written in Rust. sshuttle - Open source project originally from one of the founders of Tailscale. Server doesn't require root; client does. Explicitly designed to avoid TCP-over-TCP issues. bore - Minimal tunneling solution. MIT Licensed. Written in Rust. gost - Looks like a comprehensive option. TCP and UDP tunneling. TAP/TUN devices. Load balancing. Web API. Written in Go. tunnelto - Open source (MIT). Written in Rust. wstunnel - Proxies over WebSockets. Focus on proxying from behind networks that block certain protocols. Written in Rust with executables provided. zrok - Aims for effortless sharing both publicly and privately. Supports multiple types of resources, including HTTP endpoints and files. Built on OpenZiti (see overlay section below). Apache 2 License. Written in Go. sish - Open source ngrok/serveo alternative. SSH-based but uses a custom server written in Go. Supports WebSocket tunneling. expose - ngrok alternative written in PHP. pgrok/pgrok - A multi-tenant HTTP reverse tunnel solution through SSH remote port forwarding. go-http-tunnel - Uses a single HTTP/2 connection for muxing. Need to manually generate certs for server and clients. progrium/localtunnel - As far as I know this is the first ever tool of this kind, predating ngrok and the other localtunnel. No longer maintained, but here for posterity. MIT License. Written in Go. portr - Has a JavaScript/Python admin page and request inspection/replay features. AGPL-3.0 License. Tunneling implemented in Go. piko - Piko is an open-source alternative to Ngrok, designed to serve production traffic and be simple to host (particularly on Kubernetes). MIT License. Written in Go. gsocket/Global Socket - The Global Socket Toolkit allows two users behind NAT/Firewall to establish a TCP connection with each other. Securely. Written in C. Tunnel
Read the full README on GitHub

What Hacker News says

31 sources
I agree it's not ideal, but I can tell you why I'm excited about things like[0] Tailscale, Cloudflare Tunnel, ngrok, etc. They enable you to move your selfhosted services from expensive, slow VPSes you don't control to fast devices in your own home[4]. IMO this is strictly better than a VPS in terms of privacy and data control. It's a step in the right direction, back towards the initial intent of the internet, but also forward with the lessons we've learned in the real world. The reality today is that selfhosting is way too hard[1]. It shouldn't be any more complicated or less secure than running an app on your phone. I think services like Tailscale are going to enable the first generation of selfhosting that approaches that level of simplicity. Once the market is proven, the second generation is going be designed for selfhosters and hav
Read the rest
e features like end-to-end encryption, domain name integration, and simple GUI interfaces. The other key pieces are strong sandboxing, which is now possible on all major desktop OSes through virtualization (mobile is coming[2]), and dead-simple cloud backups. The technology for all these things exists, it just hasn't been integrated yet. [0]: https://github.com/anderspitman/awesome-tunneling [1]: https://moxie.org/2022/01/07/web3-first-impressions.html [2]: https://twitter.com/kdrag0n/status/1584017653269958656?lang=... [4]: I concede that the network upload connection is likely much slower, but expect that to improve over time.
In Tailscale Funnel
This is huge. One of the last major missing features from Tailscale IMO. I maintain a list of tunneling solutions[0]. Personally, I think the future of p2p networking and selfhosting may be through tunneled, SNI-routed TLS connections (exactly what Tailscale just announced). It solves IP exhaustion, NAT, and IP privacy at the cost of an extra hop and no UDP. The big question is going to be pricing. The current top player in this space is Cloudflare Tunnel, which is a loss-leader product that technically forbids selfhosting anything other than HTML sites. Selfhosting media can use tons of bandwidth. Any service that doesn't charge per GB is incentivized to limit your speeds. [0]: https://github.com/anderspitman/awesome-tunneling
In Tailscale Funnel
The reality is that we've let you down. Self-hosting shouldn't be any more complicated or less secure than installing an app on your phone. You shouldn't need to understand DNS, TLS, NAT, HTTP, TCP, UDP, etc, etc. Domain names shouldn't be any more difficult to buy or use than phone numbers. Apps should be sandboxed in KVM/WHPX/HVP-accelerated virtual machines that run on Windows, Mac, and Linux and are secure-by-default. Tunneling out to the public internet should be a quick OAuth flow that lets you connect a given app to a specific subdomain, with TLS certs automatically obtained from Let's Encrypt and stored locally for end-to-end encryption. The technology exists to do all of these things, but no one has taken the time to glue it all together in a truly good UX (I'm working on it). Pretty much every solution in this space is targeted
Read the rest
at the developer market, not self-hosters. So for now I'd recommend using a VPS. Your main challenge is going to be learning a lot about security. There's currently no way around that. A VPS limits the scope of damage that can be done if you get hacked. Once you've learned enough you can move to your own hardware. At that point I'd recommend setting up tunneling[0] and using either Docker or QEMU/KVM. EDIT: I see you're already using Tailscale. That can operate as a tunnel. Basically you'd want to run a reverse proxy like Caddy (recommended) or nginx on the VPS, and point it at services running on your other devices using the IP addresses from your Tailscale network. [0]: https://github.com/anderspitman/awesome-tunneling
In Ask HN: How can a total beginner start with self-hosting?
I guess it probably only needs a hostname. Although I'd still feel uneasy about running it at home, because I don't want any incoming connections to my home network unless it's over Tailscale, and headscale would need some kind of firewall exception. Maybe headscale could run at home, served over a tunnel[1] to a VPS. But honestly, if I ever lost confidence in the trustworthiness of Tailscale the company, I would just connect my devices with some other overlay network like Yggdrasil[2] or Tor. [1]: https://github.com/anderspitman/awesome-tunneling [2]: https://yggdrasil-network.github.io/
In Add ability to choose a custom coordination server
There are many (always) free alternatives out there which you can find in a fairly comprehensive list at awesome-tunneling [0]. I'd caution anyone as there's always risk with downloading a no sources available binary as well, but this looks like it could be another good option! My favorite two projects currently in the tunneling space are sish [1] and bore [2]. sish is more full featured and utilizes ssh for handling proxies (disclaimer: I wrote sish) while bore maintains a client/server but all sources are available for both. They're written in Go and Rust respectively. There's even a publicly accessible instance of bore running. You should submit a PR to include CRProxy in the awesome-tunneling list, I know Anders might do that as well as he's normally around these parts :) [0] https://github.com/anderspitman/awesome-tunneling [1] https
Read the rest
In Show HN: CRProxy is a simple and affordable ngrok alternative

Showing the 15 most recent of 31 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.