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
- 01
Signaling server
Node.js + Socket.io for exchanging SDP offers/answers and ICE candidates.
- 02
WebRTC connection
RTCPeerConnection with STUN servers, DataChannel with maxRetransmits.
- 03
Chunked transfer
Files are split into 64KB chunks, sent sequentially with ACK.
- 04
Progress & resume
Real-time progress bar; on reconnection can resume from the last confirmed chunk.
- 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