gotunnel

Self-hosted local tunneling. Expose your dev server to the internet in one command.

$ gotunnel expose -p 3000 -d myapp
Live at https://myapp.tunnel.yourdomain.com

Two modes, one tool

Cloud Relay

Self-host a relay server, get public URLs accessible from any device.

gotunnel expose -p 3000 -d myapp

Local Tunneling

HTTPS .local domains on your machine. No server needed.

gotunnel start -p 3000 -d myapp

Self-hosted relay

Deploy the relay server on your own infrastructure (Coolify, Docker, any VPS). No third-party dependencies, no data leaves your network.

Automatic HTTPS

SNI-based TLS proxy generates certificates per domain via mkcert. Multiple HTTPS tunnels share a single port.

macOS menu bar

Daemon mode with a menu bar icon. See active tunnels, copy URLs, and stop tunnels without leaving your editor.

No sudo per-run

One-time install-helper sets up port forwarding and DNS. After that, every tunnel is sudo-free.

Open source

MIT licensed. Self-host the relay, audit the code, contribute features. No vendor lock-in.

Cross-platform

Native binaries for macOS, Linux, and Windows. Works with Homebrew, Scoop, apt, or a single curl command.

Quick Installation

Homebrew (macOS/Linux)

brew tap v1truv1us/gotunnel
brew install gotunnel

Scoop (Windows)

scoop bucket add v1truv1us https://github.com/v1truv1us/scoop-bucket
scoop install gotunnel

Install Script (Unix)

curl -sSL https://raw.githubusercontent.com/v1truv1us/gotunnel/main/scripts/install.sh | bash

Docker

docker run --rm -p 8080:8080 -p 8443:8443 ghcr.io/v1truv1us/gotunnel:latest

Go Install

go install github.com/v1truv1us/gotunnel/cmd/gotunnel@latest

APT (Debian/Ubuntu)

curl -fsSL https://github.com/v1truv1us/gotunnel/releases/latest/download/gotunnel_0.1.0-beta_amd64.deb -o gotunnel.deb
sudo dpkg -i gotunnel.deb