Expose TCP ports and SSH — not just HTTP.
Databases, gRPC, raw TCP services, and SSH jump paths get a public host:port through the same rustunnel client. No HTTP-only limitation.
How it works
- 1
Install rustunnel
Same binary handles HTTP, TCP, and UDP.
brew install rustunnel - 2
Open a TCP tunnel
Forward a local database or service port to a public host:port on the edge.
rustunnel tcp 5432 --server eu.edge.rustunnel.com:4040 - 3
Connect from anywhere
Point your client at the public host:port rustunnel prints. For SSH, tunnel 22 (or your sshd port) the same way.
Why rustunnel
HTTP is not the only protocol
Many "ngrok alternatives" still treat TCP as a premium afterthought. rustunnel treats TCP as a first-class tunnel type.
Dev databases without public cloud RDS
Temporarily expose Postgres/Redis for a migration script or remote debugger, then close the tunnel.
Pair with load balancing
Group multiple backends with health checks when you need more than a single laptop.
Pricing that matches how you work
Same pricing for HTTP and TCP — pay for traffic, not protocol upsells.
Quick start: brew install rustunnel
Create a free accountFAQ
How do I expose a TCP port to the internet?+
Run rustunnel tcp <port>. The CLI prints a public host:port that forwards to localhost. Authenticate with your API token on the managed edge.
Can I tunnel SSH with rustunnel?+
Yes — open a TCP tunnel to your sshd port and connect with ssh -p <public-port> user@<public-host>. Prefer short-lived tunnels and strong auth on sshd.
Is UDP supported too?+
Yes. Use rustunnel udp <port> for DNS, game servers, and other UDP workloads. See the game servers use case and UDP docs.