Instant SSH Tunneling

localhostwww

port 8000*.xpos.to

One SSH command. Instant public HTTPS URL. Zero config, zero install — works with the ssh client already on your machine.

~/my-project — zsh
ssh -p 443 -R0: [email protected]
// click the highlighted target to match your local server
https://calm-owl.xpos.to
// public URL live · TLS provisioned · forwarding 127.0.0.1:8000
zero installend-to-end encryptedauto TLS
auto TLS on every subdomainHTTP, HTTPS, or raw TCPworks through firewalls & NATs
/01capabilities

Built for developers who got tired of fighting their tools.

Every feature here exists because a tunneling tool frustrated us first. xpos is what we wished we had — minimal, fast, and terminal-native.

01 / 06

Lightning fast

Tunnel is live in under a second. No provisioning queue, no handshake dance.

02 / 06

Secure by design

All traffic encrypted over SSH. Auto TLS on every subdomain, end-to-end.

03 / 06

Zero install

No CLI. No config. Works with the ssh client already on your machine.

04 / 06

Any port, any protocol

HTTP, HTTPS, raw TCP. Expose web servers, APIs, databases, game servers — anything that listens.

05 / 06

Custom domains

Reserve myapp.xpos.to on Pro. Bring your own domain on Business — we provision TLS automatically.

06 / 06

Request inspection

Every HTTP request, live: method, headers, status, latency. Debug webhooks without guessing.

/02flow

How it works.

Start a local server. Run one ssh command. Ship the URL. That's the whole setup — no downloads, no accounts, no config.

01start local

Run your server

Whatever you're building — Next, Rails, Django, a Go binary. xpos doesn't care what's on the port.

example
$ npm run dev
▸ local: http://localhost:3000
02open tunnel

One SSH command

Reverse-forward your port. Works on macOS, Linux, Windows — wherever you already have ssh.

example
$ ssh -p 443 -R0:127.0.0.1:3000 [email protected]
03share url

Share anywhere

Webhooks, clients, teammates, iPhone browsers. HTTPS by default, inspectable, revocable.

example
 TLS provisioned
 public: https://calm-owl.xpos.to
/03in the wild

What developers build with it.

webhooks

Test webhooks locally

Stripe, GitHub, Shopify, Twilio — point them at your laptop. No ngrok account, no staging deploy.

POST /hooks/stripe  200  12ms
POST /hooks/stripe  200   8ms
mobile

iPhone → localhost

Test your Next.js app on a real device, on real cellular, from the same public URL.

GET / 200  iPhone15,3
GET /api 200  Safari/iOS
demos

Share a live demo

Send the link. Client sees exactly what's on your machine, right now — changes and all.

https://calm-owl.xpos.to
tcp

Expose a device

Pi, router, home server, game server. TCP tunnels route raw bytes with no HTTP in the way.

tcp://xpos.to:34819 → 192.168.1.42:22
oauth

OAuth callbacks

Google, Slack, Discord require public HTTPS callbacks. Get one without touching DNS.

redirect_uri = https://...xpos.to/cb
ci

Preview from CI

Open a tunnel from a GitHub Action. Drop the URL into the PR comment for a live preview.

jobs:
  preview:
    run: ssh -R0:... [email protected]
/04integrate

Or, reach for an SDK when you want it wrapped.

The ssh command covers 90% of cases. For CLI scripts, preview environments, and framework dev-servers, grab a library — same tunnels, one command.

$ composer require getxpos/laravel --dev
$ php artisan xpos
Laravel server: http://127.0.0.1:8000
xpos tunnel active: https://bright-fox.xpos.to
/05pricing

Pay when you need more. Never to get started.

Free for quick tunnels. Paid only when you want them to stick around, inspect requests, or bring a custom domain.

Free

free forever
no card, no login
Get started
    ★ Most popular
    Pro

    billed monthly
    Start Pro
      Business

      billed monthly
      Start Business

        Prices shown in USD based on your location.

        /06questions

        Frequently interrogated.

        Correct. xpos runs over standard SSH, which is already on macOS, Linux, and Windows 10+. If you can ssh into a server, you can use xpos — no CLI, no daemon, no PATH changes.

        Those require installing a client and signing in before anything happens. xpos is one ssh command, end of setup. Anonymous tunnels give you a URL in under a second with no account at all.

        Yes. The tunnel itself is SSH-encrypted. Public endpoints get automatic TLS certificates, so every request is HTTPS from browser to your localhost.

        Yes, on the Business plan. Add a CNAME pointing to your xpos tunnel and we'll provision a TLS cert for it automatically. Reserved xpos.to subdomains are available on Pro.

        Anonymous tunnels expire after 3 hours. Registered free users get 10 hours. Pro and Business plans have no expiry — the tunnel stays up as long as the ssh process runs. Pair it with tmux or systemd for permanence.

        Yes. On Pro and Business, use [email protected] to get an allocated port. Raw TCP routes bytes with no protocol assumptions — databases, game servers, ssh-into-a-box all work.

        Yes. xpos uses outbound SSH, which works through virtually any firewall or NAT. No inbound port forwarding or router config needed.

        Your next public URL is one command away.

        No signup, no install, no config. Paste it in your terminal.

        $ssh -p 443 -R0:127.0.0.1:3000 [email protected]