Skip to content

WebSocket

Restura’s WebSocket client gives you a full session viewer: every frame sent and received, with timestamps, payload type, and a search bar over the transcript.

  • Connect to ws:// and wss:// URLs.
  • Custom headers during the upgrade — routed through the Worker on web, sent natively on desktop.
  • Send text frames with the editor; auto-detects JSON for pretty printing.
  • Send binary frames — paste hex, upload a file, or use a script.
  • Auto-reconnect — backoff with jitter, configurable per session.
  • Auth on connect — Bearer, Basic, API Key, OAuth 2.0 (all on the upgrade), and ticket-based auth via the Worker on web.
  • Ping / pong — visible in the transcript so you can verify keepalives.

The browser WebSocket API can’t set custom headers on the upgrade. Restura’s web build solves this by minting a short-lived ticket through the Worker (/api/ws-ticket) and connecting via the Worker’s WebSocket proxy. From your point of view it just works.

The Electron main process opens the socket directly via ws over Node net / tls, so:

  • Custom headers go on the upgrade frame.
  • mTLS is supported. desktop only
  • Custom CAs / disabled TLS verification are honoured. desktop only
  • SOCKS and PAC proxies work. desktop only
  • Save a session: every send/receive is stored in history, replayable later.
  • Combine with scripts for assertions on incoming frames.
  • For Socket.IO (which is not a plain WebSocket), use the Socket.IO protocol.