CODESEEDSign in
Explore projects
JavaScriptadvancedweb

P2P File Transfer via WebRTC

Browser-to-browser file transfer without an intermediate server via WebRTC DataChannels, with progress tracking and simultaneous multiple transfers.

5 steps

Project steps

  1. 01

    Signaling server

    Node.js + Socket.io for exchanging SDP offers/answers and ICE candidates.

  2. 02

    WebRTC connection

    RTCPeerConnection with STUN servers, DataChannel with maxRetransmits.

  3. 03

    Chunked transfer

    Files are split into 64KB chunks, sent sequentially with ACK.

  4. 04

    Progress & resume

    Real-time progress bar; on reconnection can resume from the last confirmed chunk.

  5. 05

    Multi-file

    Transfer multiple files simultaneously with queue management.

Recommended resources

Ready to build this?

Fork the repo on GitHub and start building. A mentor will review your code when you open a PR.

5 steps

Tech stack

JavaScriptWebRTCNode.jsSocket.ioWeb Workers