Go HTTP tunnel is a reverse tunnel based on HTTP/2 that enables you to expose local services through a publicly accessible server.
The tool solves the problem of sharing localhost services when you lack a public IP address. It works by establishing an HTTP/2 connection from a client running on your local machine or private network to a server on a publicly available host. The server then proxies incoming requests back through this tunnel to your local services. The architecture separates concerns into two executables: tunneld runs on the public server and tunnel runs on your local machine, with TLS certificates securing the connection between them.
The tool suits developers who need to expose local services temporarily for webhook development, game server hosting, or IoT device management. It provides HTTP proxy with basic authentication, TCP proxy for non-HTTP protocols, and SNI vhost proxy for routing based on hostname. Setup requires generating TLS certificates, creating a configuration file to specify which local ports to expose and under what hostnames, and running the client and server binaries. The README does not compare this tool to alternatives.
Development activity on the project is minimal. The README explicitly notes a request for modernization, suggesting the codebase has not kept pace with current Go practices and HTTP/2 ecosystem developments. No recent commits or active maintenance pattern is evident from the repository details provided.