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
- Peer A clicks Create offer and sends the downloaded PEER.json to peer B (chat, email, USB stick, …).
- Peer B uploads that file — an answer PEER.json is downloaded automatically — and sends it back to A.
- Peer A uploads the answer file. The data channel opens and the chat state starts syncing.
3. Chat
online4. 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.