Meet WireRiftA small binary. A direct connection. Your infrastructure.InstallationNative binaries for your machine. No runtime to manage.Run your own serverThe public edge belongs to you.HTTP & WebSocket tunnelsShare web apps, receive webhooks, and keep WebSockets connected.TCP tunnelsA path for the protocols beyond HTTP.Security & accessLayer access controls around what you share.Traffic inspectorSee the request. Understand the response. Try it again.Under the wireOne connection. Many independent streams.Dashboard APIYour tunnels and traffic, programmatically.ConfigurationKeep your connections together in a readable config file.Docker deploymentGive your public edge a reproducible home.Local HTTPS developmentA trusted development edge, without a public domain.TroubleshootingGet back to a working connection.
Documentation, without the detour.ESC to close
Browse documentation
DOCUMENTATION / OPERATE

Configuration

Keep your connections together in a readable config file.

One file, several tunnels

WireRift accepts YAML and JSON. Describe your server connection once, then define the local services to expose. Keep a file containing a real token outside source control.

terminal
# wirerift.yaml
server: tunnel.example.com:4443
token: YOUR_TOKEN

tunnels:
  - type: http
    local_port: 3000
    subdomain: myapp
    inspect: true

  - type: tcp
    local_port: 5432

Start from the file

Pass the file explicitly. The config init command can generate a starting example.

terminal
wirerift config init
wirerift start wirerift.yaml
# JSON is also supported
wirerift start wirerift.json

Keep a token in the environment

The --token flag takes precedence over WIRERIFT_TOKEN. The server can generate a token when one is not supplied; use its startup output to configure your client.

terminal
export WIRERIFT_TOKEN=YOUR_TOKEN
wirerift http 3000 --server tunnel.example.com:4443

Set response headers per tunnel

HTTP tunnel options include inspection, access controls and custom response headers. Add them to individual entries instead of applying the same settings to every local service.

terminal
tunnels:
  - type: http
    local_port: 3000
    subdomain: preview
    auth: "reviewer:YOUR_PASSWORD"
    inspect: true
    headers: "X-Robots-Tag:noindex,X-Frame-Options:DENY"