Securely expose your local services to the world.
Wormhole is a lightweight proxy server that creates secure tunnels from your local machine to the internet. It acts as a central gateway, allowing multiple "agents" to register and share local services (like web servers, databases, or APIs) through a single, secure entry point.
- Bypass Firewalls: Expose services behind NAT or restrictive firewalls without touching your router settings.
- Unified Entry Point: Manage multiple local services through a single server with unique paths.
- Secure by Default: Built-in support for TLS and Basic Authentication to ensure only authorized agents can connect.
- Lightweight & Fast: Powered by Go and WebSockets for high-performance, low-latency request forwarding.
Run the Wormhole server on a machine with a public IP (e.g., a VPS):
go run main.go -cert cert.pem -key key.pem -port 443 -auth-user "admin" -auth-pass "secret"Once the server is running, use the Wormhole Agent on your local machine to create a tunnel.
Your local service will be available at:
https://your-server-ip/your-custom-path
- Registration: An agent connects to Wormhole via WebSocket and requests a specific path.
- Tunneling: Wormhole establishes a persistent connection with the agent.
- Proxying: When a request hits your server's path, Wormhole forwards it through the tunnel to your local agent, which then talks to your local service.
Distributed under the MIT License. See LICENSE for more information.