Skip to content

Relay protocol fidelity: reuse iroh's relay wire protocol or define a component-iroh flavor #2

Description

@lann

The endpoint keeps a secure WebSocket open to its home relay (via lann:websocket) and uses relays for QAD-style address discovery, fallback data, and — new in component-iroh — WebRTC signaling for browser legs.

To determine:

  • How much of iroh's relay wire protocol (the relay handshake, framing, QAD probes per draft-ietf-quic-address-discovery) is reusable verbatim over a WebSocket the component drives itself. Interop target: a stock number-0-style relay serving component-iroh clients unmodified.
  • Whether QAD probes even apply on non-UDP targets (a browser has no public UDP address to discover) — the browser leg may need only the relay's forwarding + signaling roles.
  • Where WebRTC signaling rides: an ALPN/protocol on the relay connection, a sidecar protocol between the two peers through the relay, or a relay extension. Prefer whatever keeps stock relays usable, even if signaling then needs the peers to gossip through the relay's existing forwarding path.
  • Whether self-hosted relay requirements (if any) are worth a relay component of our own — a relay is itself a natural Wasmtime-hosted component.

Outcome: a recorded compatibility matrix (stock relay vs. component-iroh relay features) and the signaling transport ruling.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions