# ShareDrop — Peer-to-Peer File Sharing in the Browser via WebRTC > A web-based file sharing application inspired by Apple AirDrop. Uses WebRTC for direct peer-to-peer transfers between devices on the same network or across the internet without uploading files to any server. ## Install Save in your project root: # ShareDrop — Peer-to-Peer File Sharing in the Browser via WebRTC ## Quick Use ```bash git clone https://github.com/szimek/sharedrop.git cd sharedrop npm install npm start # Open http://localhost:3000 in two browser tabs to transfer files ``` ## Introduction ShareDrop is an open-source, browser-based file sharing tool that sends files directly between devices using WebRTC peer-to-peer connections. No file ever touches a server, making transfers fast and private. Devices on the same local network discover each other automatically. ## What ShareDrop Does - Transfers files directly between browsers using WebRTC data channels with no server upload - Auto-discovers devices on the same local network for AirDrop-like convenience - Supports cross-network sharing via unique room URLs for transferring files over the internet - Works on any modern browser including mobile Safari and Chrome without installing an app - Keeps all data client-side with end-to-end encrypted WebRTC connections ## Architecture Overview ShareDrop uses a lightweight signaling server to help peers discover each other and negotiate WebRTC connections. Once the connection is established, files flow directly between browsers over encrypted DTLS/SCTP data channels. The signaling server sees only connection metadata, never file contents. For local network discovery, the app leverages the same signaling server with network-aware room assignment. ## Self-Hosting & Configuration - Clone the repository and run `npm install` followed by `npm start` for local development - Deploy to any static hosting platform since the client is a single-page application - Configure the signaling server URL in the environment to point to your own PeerJS or custom signaling backend - Set up TURN servers for reliable transfers between devices behind restrictive NATs or firewalls - Optionally use the hosted version at sharedrop.io with no setup required ## Key Features - Zero-upload architecture: files transfer peer-to-peer and never leave the users' devices - No registration, no accounts, no file size limits imposed by the application - Responsive design works on desktop and mobile browsers equally - Local network auto-discovery groups nearby devices for instant sharing - Progressive Web App support allows adding ShareDrop to the home screen ## Comparison with Similar Tools - **AirDrop** — Apple ecosystem only; ShareDrop works on any device with a modern browser - **LocalSend** — native app requiring installation; ShareDrop runs entirely in the browser - **PairDrop** — fork of Snapdrop with additional features; ShareDrop is the original WebRTC file sharing concept - **Send (Firefox Send)** — uploads to a server then shares a link; ShareDrop transfers directly peer-to-peer - **croc** — CLI tool; ShareDrop provides a graphical browser interface with no installation ## FAQ **Q: Is there a file size limit?** A: ShareDrop itself imposes no limit. Practical limits depend on browser memory and WebRTC data channel stability for very large files. **Q: Do files pass through any server?** A: No. The signaling server only helps establish the WebRTC connection. File data flows directly between browsers. **Q: Does it work across different networks?** A: Yes. Share a room link to connect devices on different networks. A TURN server may be needed if both peers are behind strict NATs. **Q: Can I share with multiple people at once?** A: You can share with multiple peers in the same room, but each transfer is a separate peer-to-peer connection. ## Sources - https://github.com/szimek/sharedrop - https://www.sharedrop.io/ --- Source: https://tokrepo.com/en/workflows/asset-a273c773 Author: AI Open Source