mmatczuk/go-http-tunnel

Fast and secure tunnels over HTTP/2

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 22 minutes ago
Added to GitGenius on September 20th, 2026
Created on October 12th, 2016
Open Issues & Pull Requests: 59 (+0)
GitHub issues: Enabled
Number of forks: 312
Total Stargazers: 3,332 (+0)
Total Subscribers: 61 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 2
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 2,560 days
Stale 30+ days: 2
Stale 90+ days: 1

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

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.