Bypass NAT and firewalls. Share local TCP services with a public URL. TLS encrypted, custom subdomains, open source.
$ python client_cli.py
Port to forward: 3000
Subdomain: myapp
Connected!
Your local service is now available at:
https://myapp.ExposeHost.me
ExposeHost creates a secure tunnel from your local machine to our server, making your localhost accessible via a public URL.
Run your app on any port (e.g., localhost:3000)
Client authenticates and requests a subdomain
Server allocates port, configures nginx routing
Anyone can access your local service globally
Forward HTTP, databases, SSH, game servers, or any TCP-based service.
All traffic between your machine and the server is encrypted end-to-end.
Choose your own subdomain for memorable, shareable URLs.
Load-balanced worker processes for handling many concurrent tunnels.
Deploy on your own VPS. No vendor lock-in, full control.
MIT licensed. Inspect, modify, contribute. Built with Python asyncio.
Test Stripe, GitHub, or Twilio webhooks on your local dev environment.
Read guideShare your local API with mobile devs or external testers instantly.
Read guideAccess IoT dashboards or Raspberry Pi projects from anywhere.
Read guideExpose SSH, FTP, Databases, and Game Servers via TCP tunneling.
Read guideReplace ngrok with your own infrastructure. Zero recurring costs.
Read guidegit clone https://github.com/frost2k5/ExposeHost.git
cd ExposeHost
# HTTP mode (default)
python client_cli.py
# TCP mode
python client_cli.py tcp
Desktop GUI app coming soon. Check releases for updates.