defuss-webrtc P2P chat

P2P chat demo: peers find each other through a tiny room signaling server (offers/answers over HTTP), then chat over direct WebRTC data channels with schema-aware CRDT state sync. The server only brokers signaling — no chat traffic ever passes through it. A manual file-based flow (fully serverless) is available under "Advanced".

1. Your identity

2. Join a room

Create a room or join an existing one.

Rooms on this server

    Comma separated — empty means host candidates only (same machine/LAN).

    Connections

      Advanced: manual signaling without a server
      1. Peer A clicks Create offer and sends the downloaded PEER.json to peer B (chat, email, USB stick, …).
      2. Peer B uploads that file — an answer PEER.json is downloaded automatically — and sends it back to A.
      3. Peer A uploads the answer file. The data channel opens and the chat state starts syncing.

      3. Chat

      online

      4. Save / restore state

      Save state downloads your identity plus the full CRDT chat history as JSON. Uploading such a file via Restore state impersonates that peer: you continue with their peer id, nickname and exact chat state.

      Log