SSH / TCP

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. 1

    Install rustunnel

    Same binary handles HTTP, TCP, and UDP.

    brew install rustunnel
  2. 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. 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 account

FAQ

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.