For a self-hosted tunneling tool, the first results are exposedev/expose (Expose creates secure public URLs for local development servers, supporting HTTP tunneling, traffic inspection and replay, authentication, custom subdomains, and self-hosting, making it a comprehensive fit for exposing local services), erebe/wstunnel and fatedier/frp (frp is a high-performance reverse proxy that exposes local services to the internet via TCP, UDP, HTTP, and HTTPS tunnels, with TLS encryption, custom subdomains, and multiple authentication methods, making it a comprehensive self-hosted tunnel for this use case). rapiz1/rathole and yonggekkk/argosbx round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
Securely expose local development servers and services to the public internet using encrypted network tunnels.
Expose is a secure tunneling tool that creates public URLs for local development servers, making them accessible from the internet without complex network configuration. It forwards incoming HTTP requests and responses between a public relay server and a local machine, enabling external services to reach a development environment that would otherwise be isolated behind a firewall or VPN. The project distinguishes itself through a comprehensive set of webhook debugging and inspection capabilities. It captures all incoming webhook requests and displays them in a real-time dashboard or command-l
Expose creates secure public URLs for local development servers, supporting HTTP tunneling, traffic inspection and replay, authentication, custom subdomains, and self-hosting, making it a comprehensive fit for exposing local services.
wstunnel is a tool that tunnels arbitrary TCP traffic through WebSocket connections, enabling communication across restrictive firewalls and proxies. It operates as both a client and server, encapsulating TCP data within WebSocket binary frames and multiplexing multiple connections over a single WebSocket link. The tool supports mutual TLS authentication, requiring clients to present signed certificates for verification before establishing a tunnel, and provides shared secret access control and tunnel forwarding restrictions for additional security. The project distinguishes itself by offerin
wstunnel is a self-hostable tunneling tool that can securely expose local TCP and UDP services to the internet through WebSocket connections, with support for mutual TLS authentication and access control, making it a valid option for this intent despite lacking built-in automatic HTTPS and traffic replay features.
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
frp is a high-performance reverse proxy that exposes local services to the internet via TCP, UDP, HTTP, and HTTPS tunnels, with TLS encryption, custom subdomains, and multiple authentication methods, making it a comprehensive self-hosted tunnel for this use case.
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 tunnel that exposes local services over encrypted TCP/UDP tunnels with token-based authentication, making it a solid fit for secure local-to-internet access, though it lacks automatic HTTPS, traffic inspection, and WebSocket support.
Argosbx is an automated deployment script and multi-protocol proxy manager designed to expose local services to the internet using Cloudflare Argo tunnels. It functions as a tool for installing and configuring network tunneling kernels, including Sing-box and Xray, to create secure proxies and bypass network restrictions without the need for open firewall ports. The project distinguishes itself by providing a proxy subscription generator that creates formatted and password-protected URLs for syncing configurations across client devices. It also manages diverse tunneling protocols, such as VLE
Argosbx automates the deployment and configuration of tunneling proxies via Cloudflare Argo and other protocols to securely expose local services, which aligns with the need for a self-hostable tunnel tool, though it focuses on proxy management rather than offering built-in traffic inspection and replay.
ngrok is a secure TCP tunneling proxy and API ingress controller that exposes local services to the public internet. It establishes a persistent connection between a local agent and a cloud-based gateway to route traffic to local ports without requiring firewall or router configuration changes. The project provides a global gateway for routing API traffic, which includes built-in support for rate limiting and authentication policy enforcement. It also functions as an IoT device gateway, enabling remote command execution and access control for embedded hardware via a cloud-to-device bridge. A
ngrok is the classic secure tunneling proxy that exposes local services to the internet with automatic HTTPS, TCP/HTTP tunneling, authentication, and custom subdomains, though its self-hostable server is not open-source in this repository.
Cloudflare's cloudflared tunnels local services to the internet through Cloudflare's edge, offering automatic HTTPS, TCP and HTTP tunneling, authentication via Cloudflare Access, custom subdomains, and WebSocket support — exactly the secure-exposure tool this search asks for.
Localtunnel is an HTTP tunneling service that exposes local development servers to the public internet. By creating secure tunnels with temporary public URLs, it allows developers to route incoming internet traffic directly to a web server running on a local machine. The service provides predictable or custom subdomains to facilitate remote collaboration and testing of local applications. It functions as a localhost proxy server, enabling users to receive and inspect external webhook payloads directly within a local environment during the development lifecycle. The platform manages traffic t
localtunnel is an HTTP tunneling service that exposes local development servers to the public internet with custom subdomains and HTTPS support—perfectly fitting the category of local service exposure tool, though it focuses on HTTP and lacks TCP tunneling, traffic replay, and authentication features.
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 self-hostable network tunneling tool that creates secure reverse proxies for exposing local services over HTTP and TCP, with authentication and access control, though it lacks built-in automatic HTTPS, traffic inspection, and custom subdomains.
Simple tunneling reverse proxy with a fast web UI and auto HTTPS. Designed for self-hosters.
boringproxy is a simple tunneling reverse proxy with auto HTTPS and a web UI, designed for self-hosters to expose local services to the internet—directly matching the core need, though it may not include traffic inspection or WebSocket support.
Pangolin is a zero-trust remote access platform designed to provide secure, identity-aware connectivity to private network resources. It functions as a cloud-native network controller that orchestrates encrypted tunnels, traffic routing, and access policies across distributed environments. By leveraging WireGuard for secure data transport, the platform enables authenticated access to internal web applications, terminal sessions, and remote desktops without exposing services to the public internet. The platform distinguishes itself through a declarative infrastructure model that synchronizes n
Pangolin is a self-hostable zero-trust remote access platform that uses WireGuard-encrypted tunnels to securely expose local web applications, terminals, and remote desktops with identity-aware authentication, which matches the core need for public access to local services, though it may not emphasize TCP tunneling or traffic replay as separate features.
Rathole is a reverse proxy tunneling tool designed to expose local services behind firewalls and network address translation to the public internet. It functions as a secure tunneling infrastructure that enables remote access to private network resources without requiring manual router port forwarding configurations. The system utilizes a client-server architecture where a public-facing gateway coordinates with a private-network agent. It distinguishes itself by multiplexing multiple logical service connections through a single persistent TCP stream, which reduces the overhead of maintaining
Rathole is a reverse proxy tunneling tool that securely exposes local services behind firewalls and NAT to the public internet using a client-server architecture, making it a solid fit for creating secure tunnels from a local machine.
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,
GoProxy is a multi-protocol proxy and tunneling server that can expose local services to the internet, supporting TCP, HTTP, and WebSocket tunnels with TLS encryption and authentication, though it lacks built-in custom subdomain management and traffic replay features.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| exposedev/expose | 4.5K | PHP | mit | |
| erebe/wstunnel | 6.4K | Rust | bsd-3-clause | |
| fatedier/frp | 107.4K | Go | Apache-2.0 | |
| rapiz1/rathole | 13.8K | Rust | Apache-2.0 | |
| yonggekkk/argosbx | 5.3K | Shell | GPL-3.0 | |
| inconshreveable/ngrok | 24.4K | Go | NOASSERTION | |
| cloudflare/cloudflared | 14.5K | Go | Apache-2.0 | |
| localtunnel/localtunnel | 22.4K | JavaScript | MIT | |
| jpillora/chisel | 15.6K | Go | mit | |
| boringproxy/boringproxy | 1.4K | Go | MIT |