localhost.run
localhost.run · Egress and tunnels · 1 record · JSON
localhost.run Egress and tunnels
fails: egressanonymousno cardDper-ip-shaping
| Free tier | free random subdomain over SSH, no account unit unlimited; metered on wall-clock |
|---|---|
| Price | none stated |
| Per-object cap | not applicable: a stream |
| Retention | the subdomain rotates per session |
| Egress | speed-limited with no published value; measured 11.4 KiB/s, about 0.98 GiB/day |
| Identity | anonymous the nokey@ ssh target needs no account |
| Limits |
|
| Binding | per-ip-shaping two objects of different sizes hit the same ~23 KB/s aggregate ceiling, so it is shaping. |
| Interface | ssh ssh -R 80:127.0.0.1:PORT nokey@localhost.run |
| Tooling | OpenSSH |
| Composes with | composes with nothing: at 11.4 KiB/s a request/response API is usable and no bulk transfer is. |
| Reliability | the free hostname is a random <hex>.lhr.life subdomain that changes every session |
| Notes | The census left this qualifies-with-caveat on the strength of the docs' unspecified limit. The measurement makes it fails-egress: 11.4 KiB/s is 0.98 GiB/day, 0.1% of one day's workload. |
| Evidence rung | documented |
| Checked | 2026-10-23 (live); stale on 2026-11-22 |
| Parsed numbers |
|
Evidence (4)
| date | source | what it proved |
|---|---|---|
| 2026-10-22 | probe:https://2ea044f1475bd0.lhr.life/blob100m.bin | 200 with 4,128,768 of 104,857,600 bytes in 180 s, then the client timeout |
| 2026-10-22 | probe:https://2ea044f1475bd0.lhr.life/blob1m.bin | 200 with 1,027,916 of 1,048,576 bytes in 90 s, then the client timeout |
| 2026-10-22 | probe:https://2ea044f1475bd0.lhr.life/small.txt | 200, 3 bytes in 1.75 s: the control path works |
| 2026-10-23 | localhost.run/docs/ | 'Put a locally running HTTP, HTTPS or TLS app on the internet' and 'no account setup is needed for free domains' |
More fields (4)
{
"stale_after_days": 180,
"bytes_transit": "yes",
"transit_note": "the tunnel carries the origin's bytes, at a measured 11.4 KiB/s",
"wg_path": "none"
}