viato.me
Fast · Secure · Ready in seconds

Expose your localhost
to the internet.

Get a custom subdomain and tunnel your local HTTP or TCP endpoint to a public URL. Sign up, install the CLI, start tunneling.

Terminal
$ vto login
✓ signed in as you@company.com
$ vto --subdomain api --local 3000 --inspect
public URL: https://api.viato.me

Everything you need to tunnel.

Custom subdomains, HTTP and TCP tunnels, a built-in traffic inspector, and QUIC transport. All included.

Custom subdomains

Reserve subdomains like api.viato.me or demo.viato.me. They're yours — persistent across sessions, no random strings.

HTTP & TCP tunnels

Expose web apps with vto --subdomain foo --local 3000. Share SSH, Postgres, or Redis with vto tcp 5432.

QUIC transport

Every request gets its own QUIC stream — no head-of-line blocking. Multiplexed by default, faster than TCP+TLS.

OAuth sign-in

Sign in with vto login — Google, Microsoft, or Amazon. Tokens auto-rotate every 15 minutes. No static secrets on disk.

Traffic inspector

Built-in dashboard at localhost:4040 — live request stream, replay, copy-as-curl. HTTP and TCP.

Always on

Auto-reconnects on network changes. Auto-refreshes tokens. Your tunnel stays up — you focus on building.

Peer-to-peer tunnels

Connect two machines directly with vto peer-connect. NAT traversal, QUIC transport, no relay — traffic flows machine to machine.

How it works

Install, sign in, start tunneling. Four steps, under a minute.

Install

$ brew tap raymanaeron/vto && brew install vto

Sign in

$ vto login
Open https://viato.me/device and enter: A7X-K9M
✓ signed in as you@company.com (Google)

Open a tunnel

$ vto --subdomain api --local 3000 --inspect
public URL: https://api.viato.me

Share & debug

$ curl https://api.viato.me/health
{"status":"ok"}
Inspector: http://localhost:4040

Install

# x86_64
$ curl -Lo vto https://viato.me/api/v1/releases/linux-amd64 && chmod +x vto && sudo mv vto /usr/local/bin/
 
# ARM64 (Raspberry Pi, AWS Graviton, etc.)
$ curl -Lo vto https://viato.me/api/v1/releases/linux-arm64 && chmod +x vto && sudo mv vto /usr/local/bin/

Sign in

$ vto login
Open https://viato.me/device and enter: A7X-K9M
✓ signed in as you@company.com (Google)

Open a tunnel

$ vto --subdomain api --local 3000 --inspect
public URL: https://api.viato.me

Share & debug

$ curl https://api.viato.me/health
{"status":"ok"}
Inspector: http://localhost:4040

Install

# x86_64
> Invoke-WebRequest -Uri https://viato.me/api/v1/releases/windows-amd64 -OutFile vto.exe
 
# ARM64 (Surface Pro, Snapdragon, etc.)
> Invoke-WebRequest -Uri https://viato.me/api/v1/releases/windows-arm64 -OutFile vto.exe

Sign in

> .\vto.exe login
Open https://viato.me/device and enter: A7X-K9M
✓ signed in as you@company.com (Google)

Open a tunnel

> .\vto.exe --subdomain api --local 3000 --inspect
public URL: https://api.viato.me

Share & debug

> Invoke-WebRequest https://api.viato.me/health
{"status":"ok"}
Inspector: http://localhost:4040

Direct peer-to-peer connections

Connect two machines behind NAT — no relay, no port forwarding. The server coordinates the punch; all data flows directly between peers over QUIC.

Start the responder

On machine B, run with --peer to register with the peer network.

$ vto --peer --subdomain dev-b --local 127.0.0.1:8080
public URL: https://dev-b.viato.me
registered as peer

Find your peer

List all peers on your account from any machine.

$ vto peers
PEER ID LABEL CANDIDATES
3bce1665-aa52-4b8e-9936-4cfec7a56770 dev-b 8
d0384504-e557-45de-9a3a-67c81b449fb8 dev-a 0 (me)

Connect & forward

Punch through NAT and forward a local port to any service on the peer.

$ vto peer-connect 3bce1665-aa52-4b8e-9936-4cfec7a56770 --bind 127.0.0.1:2222 --remote-port 22
P2P tunnel ready: 127.0.0.1:2222 -> 3bce1665:22

Use any TCP program

SSH, file transfer, database — any program that speaks TCP works through the tunnel.

$ ssh -p 2222 localhost
Welcome to Ubuntu 24.04 (machine B)
user@dev-b:~$

Simple, transparent pricing

Pick a plan and start tunneling today.

Developer

$15/mo
  • 5 HTTP subdomains
  • 1 TCP tunnel
  • 100 req/s + 300 burst
  • 1M daily requests
  • 20 GB daily bandwidth
  • Unlimited sessions

Pro

$50/mo
  • 10 HTTP subdomains
  • 3 TCP tunnels
  • 500 req/s + 1,500 burst
  • 10M daily requests
  • 200 GB daily bandwidth
  • Unlimited sessions

Custom Domain

Custom
  • Your own domain + wildcard cert
  • Dedicated server hosting
  • Custom subdomain limits
  • Custom rate limits
  • Priority support
  • SLA available
+1 (925) 403-4515

Ready to start tunneling?

Sign up, install the CLI, and expose your first endpoint in under a minute.