Skip to content

Documentation

Create a Relay, connect a local service, and choose who can access it.

Product preview

Viastead is not production-ready. These guides include planned functionality; protocol tables describe the intended scope.

HTTP access policy enforcement is not live. TCP availability depends on your workspace and deployment.

Product reference

This reference uses the earlier Endpoint terminology. In the console, a Relay represents that API object. Platform Relay Nodes are separate infrastructure. Start with the Relay guide for the current workflow.

viastead gives a service running on your own machine a stable public address, and watches it for you.

GuideFor
QuickstartGetting one local service onto a public URL
CLI referenceEvery command, flag and exit code
FAQThe questions people actually ask first

Protocol support

ProtocolFreePaid (Solo / Team / Fleet / Enterprise)Notes
HTTP/1.1, HTTP/2 (visitor ↔ edge)✅✅
WebSocket (over HTTP/1.1)✅✅Implement ping/pong heartbeats in your client
SSE✅✅
gRPC✅✅
Raw TCP❌ rejected at creation, with upgrade guidance✅ (payment card verification required)
h2c (cleartext HTTP/2 upgrade)❌❌Not supported
WebSocket over HTTP/2 (RFC 8441)❌❌Not supported
HTTP/3 (visitor ↔ edge)❌❌Under consideration after v1
TLS passthrough❌❌Under consideration after v1
UDP❌❌Under consideration after v1; never on Free

The four unsupported rows are listed on purpose. Finding out that h2c is unsupported after building against it is worse than reading it here first.


How the pieces fit

Your machine                          viastead                    Visitor
┌──────────────┐                   ┌───────────┐              ┌─────────┐
│  Service     │                   │           │              │         │
│  127.0.0.1   │◀── Connector ────▶│   Relay   │◀──────────── │ browser │
│  :8080       │    (outbound      │           │   https://   │         │
└──────────────┘     only)         └───────────┘              └─────────┘
  • Site — one physical location. A home, an office, a rack. A Site can run several Connectors.
  • Connector — the agent process on a machine at that Site. It only ever dials out; it never accepts an inbound connection, so you open no ports.
  • Service — one local thing the Connector can reach, like 127.0.0.1:8080.
  • Endpoint — the public address a Service answers on.
  • Access Policy — who is allowed to reach an Endpoint.

The address an Endpoint gets is permanent. It survives pausing, sleeping, deleting and restoring, and it is never reissued to anyone else — so a bookmark or a webhook you configured keeps pointing at the right place, or at nothing, but never at somebody else's service.


Status of these docs

Written against what has shipped, not ahead of it. Where a step is not available yet, the page says so instead of describing it in the present tense. The bar is that somebody who did not build viastead can complete the standard scenarios from these pages alone.

Docs — viastead