[ SSH Tunnel Service ]

Your localhost,
on the internet.

Instant public URLs for your local server. No signup. No config. One SSH command.

bash — publichost
$ curl -fsSL https://publichost.run/install.sh | sh

$ publichost run 3000
✓ Tunnel is live
 https://a1b2c3.publichost.run
→ Live logs: https://publichost.run/channel/weblogs?token=pub_host_xxx
active tunnels today·Zero signup·<50ms latency

// features

Everything a tunnel should be. Nothing it shouldn't.

One command

No install wizard, no dashboard. Just ssh -R.

ssh -R 0:localhost:3000 publichost.run

No signup

Anonymous, ephemeral tunnels. Nothing stored after you disconnect.

Random subdomain

A fresh *.publichost.run URL generated per session.

Live request logs

Watch every request hit your tunnel in real time, in the browser.

Free, not open source

Free to use, actively maintained. Want to help build it? See our contributor program.

Built on asyncio

SSH server, proxy, and API share one event loop — no polling, no lag.

// how it works

Three steps. Thirty seconds.

01

Run

Start your app locally.

python manage.py runserver 3000
02

Tunnel

Expose it with one command.

publichost run 3000
03

Share

Get a public HTTPS URL instantly.

→ https://a1b2c3.publichost.run

// documentation

Get running in 30 seconds.

View all docs
quick-start
$ publichost run 3000
✓ Tunnel is live
 https://a1b2c3.publichost.run
→ Live logs: https://publichost.run/channel/weblogs?token=pub_host_xxx

// stats

Live right now.

Active tunnels

Total requests (24h)

Relay status

Operational