Expose your localhost to the internet

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

How it works

ExposeHost creates a secure tunnel from your local machine to our server, making your localhost accessible via a public URL.

Your Machine
Local Service
localhost:3000
ExposeHost Client
Establishes tunnel
Secure Tunnel
TLS Encrypted
Bypasses NAT & Firewall
ExposeHost Server
Tunneling Server
Load balancer + nginx
Public URL
myapp.ExposeHost.me
End Users
Anyone on Internet
Access your service
1
Start your local service

Run your app on any port (e.g., localhost:3000)

2
Run ExposeHost client

Client authenticates and requests a subdomain

3
Tunnel established

Server allocates port, configures nginx routing

4
Share your URL

Anyone can access your local service globally

Features

TCP Protocol Support

Forward HTTP, databases, SSH, game servers, or any TCP-based service.

TLS Encryption

All traffic between your machine and the server is encrypted end-to-end.

Custom Subdomains

Choose your own subdomain for memorable, shareable URLs.

Multi-Process Server

Load-balanced worker processes for handling many concurrent tunnels.

Self-Hostable

Deploy on your own VPS. No vendor lock-in, full control.

Open Source

MIT licensed. Inspect, modify, contribute. Built with Python asyncio.

Use cases

Webhook Development

Test Stripe, GitHub, or Twilio webhooks on your local dev environment.

Read guide

API Sharing

Share your local API with mobile devs or external testers instantly.

Read guide

IoT & Remote Devices

Access IoT dashboards or Raspberry Pi projects from anywhere.

Read guide

TCP Services

Expose SSH, FTP, Databases, and Game Servers via TCP tunneling.

Read guide

Self-Hosted Alternative

Replace ngrok with your own infrastructure. Zero recurring costs.

Read guide

Quick start

1. Clone the repository

git clone https://github.com/frost2k5/ExposeHost.git
cd ExposeHost

2. Run the client

# HTTP mode (default)
python client_cli.py

# TCP mode
python client_cli.py tcp

Desktop GUI app coming soon. Check releases for updates.