For an open source alternative to ngrok, the first results are rapiz1/rathole (Rathole is a self-hostable reverse proxy and NAT traversal tool written in Rust that provides encrypted TCP and HTTP tunneling with token-based authentication and client CLI support, making it a strong alternative to ngrok), go-gost/gost (Gost is a versatile Go-based proxy and tunneling tool that supports secure network connections, though it requires manual configuration for self-hosted server setups and HTTP/TCP routing compared to plug-and-play ngrok alternatives) and fatedier/frp (This reverse proxy tool securely exposes local services to the internet via TCP and HTTP tunnels with self-hosted server capability, custom domains, multiple authentication methods, and load balancing). antoniomika/sish and snail007/goproxy round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
We curate open-source GitHub repositories matching “open source alternatives to ngrok”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.
Rathole is a high-performance reverse proxy and NAT traversal tool written in Rust. It functions as a secure tunneling server and client architecture designed to expose local services to the internet by forwarding traffic from a public IP to a private device behind a firewall. The system establishes encrypted tunnels between a public server and a private host to ensure private communication. It utilizes token-based authentication to validate identities between the server and client for each individual service. The project provides TCP and UDP port forwarding and manages private tunnels to fa
Rathole is a self-hostable reverse proxy and NAT traversal tool written in Rust that provides encrypted TCP and HTTP tunneling with token-based authentication and client CLI support, making it a strong alternative to ngrok.
Gost is a Go-based network tunnel and multi-protocol proxy server. It functions as a gateway for routing TCP and UDP traffic, creating secure network tunnels between remote endpoints, and acting as a DNS proxy server to resolve domain name queries. The project is distinguished by its ability to implement multi-hop proxy chaining, which links multiple network nodes in a sequence to route traffic through specific paths. It also provides transparent proxying by integrating with virtual network interfaces to intercept system-level traffic without requiring manual client configuration. The system
Gost is a versatile Go-based proxy and tunneling tool that supports secure network connections, though it requires manual configuration for self-hosted server setups and HTTP/TCP routing compared to plug-and-play ngrok alternatives.
This project is a high-performance reverse proxy designed to expose local services to the internet. It provides a comprehensive suite of tools for managing network traffic, including support for TCP and UDP stream multiplexing, connection pooling, and load balancing across proxy instances. The system facilitates secure communication through TLS encryption, data compression, and multiple authentication methods such as OpenID Connect, shared tokens, and basic password protection. The software offers granular control over HTTP traffic, enabling users to route requests based on subdomains or URL
This reverse proxy tool securely exposes local services to the internet via TCP and HTTP tunnels with self-hosted server capability, custom domains, multiple authentication methods, and load balancing.
Sish is a reverse SSH proxy and tunneling server designed to expose local services to the internet. It functions as an SSH tunneling proxy that routes HTTP, WebSocket, and TCP traffic from a remote server to a local machine, enabling the creation of public URLs for local applications. The project distinguishes itself through a combination of an SNI proxy for routing encrypted TLS traffic without decryption and a TCP load balancer that distributes incoming requests across multiple backend targets. It also includes a dedicated service console for real-time inspection and debugging of forwarded
Sish is a self-hostable SSH-based reverse proxy and tunneling server that provides HTTP, WebSocket, and TCP forwarding, making it a capable alternative for exposing local servers to the internet though it relies on standard SSH authentication rather than a bespoke web-based control panel.
This project is a multi-protocol proxy server and network tunneling tool designed to manage traffic across heterogeneous infrastructure. It functions as a traffic management gateway, providing the core infrastructure to route, filter, and secure network connections through a unified interface. The software distinguishes itself through its support for cascading proxy chaining and dynamic upstream load balancing, which allow for the creation of complex, multi-hop network paths. It provides granular control over traffic flow by normalizing diverse protocols, enabling transparent port forwarding,
This project is a multi-protocol proxy and tunneling tool that can handle local resource exposure and network routing, making it a capable fit though it functions more broadly as a general traffic management gateway rather than an ngrok-specific local dev tunnel.
Chisel is a network tunneling tool that facilitates secure communication by encapsulating TCP and UDP traffic within HTTP requests. It functions as a connection multiplexer, consolidating multiple logical network streams into a single persistent connection to improve throughput and reduce overhead. By leveraging standard web protocols, the system enables firewall traversal and provides a mechanism for remote port forwarding and proxying. The project distinguishes itself through its focus on resilient connectivity and granular access control. It maintains persistent network sessions across uns
Chisel is a reliable self-hostable network tunneling tool that wraps TCP and UDP traffic in HTTP requests for secure port forwarding, though it requires some manual configuration compared to managed alternatives.
Simple tunneling reverse proxy with a fast web UI and auto HTTPS. Designed for self-hosters.
Boringproxy is a self-hostable tunneling reverse proxy designed for exposing local servers to the internet with automated HTTPS, making it a strong alternative to ngrok despite lacking advanced load balancing and granular access control features.
Bore is a TCP tunneling tool and localhost exposure utility used to route local TCP ports to public IP addresses. It functions as a TCP port forwarder that makes services running on a local machine accessible over the internet via a remote listener. The project includes a secure tunnel server implementation that manages incoming connections and routes traffic to connected local clients. It utilizes shared secret handshakes to authorize tunnel creation and restrict access to authorized users. The system provides capabilities for firewall bypass networking and remote tunnel hosting. It manages
Bore is a self-hostable TCP tunneling tool and localhost exposure utility that provides secure remote listener forwarding, though it focuses primarily on TCP rather than offering built-in HTTP-specific features.
nps is an intranet penetration proxy server that exposes internal network services to the public internet via secure TCP and UDP tunnels. It functions as a traffic forwarder and reverse proxy, enabling external access to local services, remote desktops, and internal APIs. The project is distinguished by a centralized web-based administration interface used to configure tunnels, manage user accounts, and monitor real-time bandwidth metrics. It supports domain-based request routing and provides a mechanism to secure public services using HTTPS encryption through digital certificates. The syste
It is a self-hostable reverse proxy and tunnel server for exposing local services, though it leans more toward general intranet penetration and lacks some specific client-side CLI and load balancing features requested.
Lantern is a network utility designed to provide access to restricted internet content by tunneling traffic through encrypted connections. It functions as a censorship circumvention tool that enables private web browsing and ensures reliable connectivity in environments where standard network access is blocked or monitored. The application employs a decentralized infrastructure that routes data through a network of distributed proxy nodes. To maintain connectivity in the face of interference, it utilizes dynamic proxy discovery and adaptive fallback mechanisms that automatically switch betwee
Lantern is an encrypted tunneling tool for bypassing censorship and accessing restricted content, but it is designed for privacy browsing rather than exposing local development servers to the public internet like ngrok.
reGeorg is an HTTP tunneling proxy and network tunneling tool designed to route network traffic to internal targets. It functions as a remote port forwarder that wraps socket communication within HTTP requests to bypass firewalls. The tool includes a SOCKS5 proxy server implementation that converts tunneled traffic into a usable interface. This allows external networking tools to route data through a remote host into restricted internal network boundaries. The project provides capabilities for network pivoting, including generic network tunneling and SOCKS proxy configuration to facilitate c
This is an HTTP tunneling and network pivoting proxy designed for bypassing firewalls during security assessments, rather than a self-hostable service for exposing local development servers with custom domains and public subdomains like ngrok.
SoftEtherVPN is a multi-protocol virtual private network server that provides secure remote access and site-to-site connectivity. It functions as a virtual network gateway, enabling encrypted communication across public internet connections while supporting both Layer 2 Ethernet bridging and Layer 3 IP routing to manage traffic between connected devices. The platform is designed to maintain connectivity in restrictive network environments by bypassing firewalls and NAT devices through techniques such as HTTPS, ICMP, and DNS-based tunneling. It eliminates the requirement for static public IP a
SoftEtherVPN is a robust virtual private network and remote access server rather than a self-hostable development port-forwarding tool, making it a neighbouring network technology rather than an ngrok alternative.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| rapiz1/rathole | 13.8K | Rust | Apache-2.0 | |
| go-gost/gost | 7K | Go | MIT | |
| fatedier/frp | 107.4K | Go | Apache-2.0 | |
| antoniomika/sish | 4.7K | Go | MIT | |
| snail007/goproxy | 16.9K | Go | gpl-3.0 | |
| jpillora/chisel | 15.6K | Go | mit | |
| boringproxy/boringproxy | 1.4K | Go | MIT | |
| ekzhang/bore | 11.2K | Rust | MIT | |
| ehang-io/nps | 34.1K | Go | GPL-3.0 | |
| getlantern/lantern | 15.2K | Dart | gpl-3.0 |