Your localhost,
on a real URL

Put a public HTTPS address in front of any service on your machine, through an edge you own, on your own domain, with your own certificate.

Open a tunnel

One command gives a local service a public address, over HTTP, WebSocket or raw TCP.

Inspect and replay

See every request that crossed the tunnel and replay it against your local service.

Ship it on your domain

Reserve a name, bring a custom domain, or pool several machines behind one hostname.

Developer productivity

Share fast,
stay in control

Simple to run and simple to reason about. Everything rides one multiplexed connection to an edge that you operate.

  • Byte-exact proxyingBodies stream as raw bytes and headers keep their order, so uploads, gzip and repeated Set-Cookie headers arrive untouched.
  • Resilient by defaultThe agent reconnects on its own and keeps your URL stable across network drops.
  • Yours end to endYour VPS, your domain, your certificate. No third party sits between your users and your laptop.
Tunnel is upmyapp.vyduct.vyloxi.com
Agent connectedwss, multiplexed
TLS certificate validwildcard
Route registeredmyapp.vyduct.vyloxi.com
Local service reachablelocalhost:3000
Auto-reconnect enabledon drop
Load balanced across 2 agentsHealthy
Ship with confidence

Improve how you
debug and demo

Build, test and show off work from your own machine, with the tools to see exactly what crossed the wire.

  • Request inspectorA local dashboard of every request, with headers, bodies and timing, plus one-click replay.
  • WebSockets and raw TCPFull-duplex passthrough for realtime apps, and TCP tunnels for SSH, Postgres or anything else.
  • Load balancingStart the agent on several machines with --share and the edge spreads traffic between them.
  • Access controlPassword-protect a tunnel, allow only certain IPs, or require a GitHub or Google sign-in. The edge enforces it before traffic reaches your machine.
  • Teams and domainsShare reserved subdomains with teammates, bring your own domain and get traffic history in the dashboard.
RequestsStatus Method
GET/api/users200
POST/api/orders201
GET/assets/app.js200
DEL/api/session404

Example view of the local inspector

Quickstart

Three commands to a public URL

1

Install the agent

One executable. No Python, no package manager. On Linux or macOS: curl -fsSL https://vyduct.vyloxi.com/install.sh | sh

PS> irm https://vyduct.vyloxi.com/install.ps1 | iex
2

Point it at this edge

Paste the token from your dashboard. Saved in ~/.vyduct/config.toml.

$ vyduct config set edge-host vyduct.vyloxi.com $ vyduct config set tls true $ vyduct config set auth-token YOUR_TOKEN
3

Open the tunnel

Ask for a name with --subdomain, or take a generated one.

$ vyduct http 3000 --subdomain myapp → https://myapp.vyduct.vyloxi.com
This edge, right now

Run it yourself, watch it work. These numbers come straight from the edge serving this page.

0Connected agents
0Active tunnels
27,781Requests proxied
v1.5.2Edge version

Scale fast with every
protocol you run

From a quick demo to a load-balanced pool, the same agent and the same edge handle HTTP, WebSocket and raw TCP.

Create free account

HTTP tunnel

HTTP

Expose a web app or API on a generated or reserved subdomain.

vyduct http 3000

Custom domain

DOMAIN

Serve your own hostname once you CNAME it to this edge.

vyduct http 3000 --domain app.example.com

Load balancing

POOL

Run it on several machines and the edge round-robins between them.

vyduct http 3000 --share

Raw TCP

TCP

SSH, Postgres, or anything else that speaks bytes.

vyduct tcp 22

Local HTTPS

TLS

Forward to a local service that already terminates TLS.

vyduct http 8443 --https-local

Custom Host header

HOST

Present the hostname your local vhost or framework expects.

vyduct http 8000 --host-header app.local