HTTP Tunnels provides a secure and easy way to share your local development servers or access internal services from anywhere. Use our free hosted server or deploy your own!
Simple commands to install and run. Get your local server online in seconds.
WebSocket-based communication and domain key validation for secure tunnel access.
Use custom or random subdomains. Perfect for demos and testing webhooks.
Choose your preferred method to install the HTTP Tunnels client. It's quick and easy!
For macOS and Linux users with Homebrew installed:
brew install kaenova/tunnel/http-tunnels
By default, the client connects to our free hosted server. Simply provide your destination server URL (e.g., your local development server).
http-tunnels http://localhost:8080
Replace http://localhost:8080
with your actual destination server.
If you're hosting your own tunnel server:
http-tunnels -host http://your-tunnel-domain.com http://localhost:3000
Replace your-tunnel-domain.com
and http://localhost:3000
accordingly.
Create a tunnel with a specific subdomain:
http-tunnels -host http://your-tunnel-domain.com -subdomain mysubdomain http://localhost:5500
The client will output the tunnel URL and domain key:
2025/05/16 16:18:09 Tunnel created with domain: mysubdomain.your-tunnel-domain.com 2025/05/16 16:18:09 Domain key: YClFmsr6BosKxaH92tV6UQ 2025/05/16 16:18:09 Connected to tunnel server
You can then access your service at http://mysubdomain.your-tunnel-domain.com
.
Want full control? You can host the HTTP Tunnel server yourself. Requires a domain and wildcard subdomain pointing to your server.
Easiest way to get started.
docker pull kaenova/tunnel
docker run -d -p 80:80 kaenova/tunnel
Build from source using Go.
git clone https://github.com/kaenova/http-tunnels.git cd http-tunnels go build -o tunnel-server main.go sudo ./tunnel-server
For detailed server setup, prerequisites (like domain configuration), and advanced usage, please refer to the full documentation on GitHub.