Expose HTTP/SSH/TCP services through SSH port forwarding.
75
stars
400
commits
Rust
primary language
Aug 14, 2026
updated

Expose HTTP/SSH/TCP services through SSH port forwarding. A self-hosted ngrok / Cloudflare Tunnels / localhost.run alternative.
Check out the Sandhole book for a full guide.
To expose a local HTTP service running on port 4321:
ssh -R 80:localhost:4321 demo.sandhole.com.br
Sandhole is mostly feature-complete, but still receives occasional updates and fixes. Contributions are welcome, but try it in production at your own risk.
Rust
96.5%
Nix
3.4%
Expose HTTP/SSH/TCP services through SSH port forwarding.
75
stars
400
commits
Rust
primary language
Aug 14, 2026
updated

Expose HTTP/SSH/TCP services through SSH port forwarding. A self-hosted ngrok / Cloudflare Tunnels / localhost.run alternative.
Check out the Sandhole book for a full guide.
To expose a local HTTP service running on port 4321:
ssh -R 80:localhost:4321 demo.sandhole.com.br
Sandhole is mostly feature-complete, but still receives occasional updates and fixes. Contributions are welcome, but try it in production at your own risk.
Rust
96.5%
Nix
3.4%