gitmyhub

sharedrop

JavaScript ★ 11k updated 1y ago

Easy P2P file transfer powered by WebRTC - inspired by Apple AirDrop

A browser-based file sharing app that sends files directly between devices peer-to-peer without uploading to any server, working across Windows, Mac, Android, and iOS like a cross-platform AirDrop.

JavaScriptWebRTCFirebaseEmber.jssetup: moderatecomplexity 3/5

ShareDrop is a web application that lets you send files directly between devices without uploading them to a server first. You open the website on two devices, and they see each other. You then drag a file onto the other device's avatar and it transfers straight across, peer-to-peer. Nothing is stored in the cloud, and the connection is encrypted.

The idea is similar to Apple AirDrop, which lets nearby Apple devices share files over a direct wireless link. ShareDrop does the same thing but through a web browser, and it works across different operating systems and device types: Android, iOS, Windows, Mac, Linux. The technical mechanism is WebRTC, which is a browser standard for direct connections between devices. A small Firebase backend is used only for initial device discovery and connection setup, not for the actual file transfer.

If both devices are on the same local network (like the same home Wi-Fi), they find each other automatically when they both visit the site. If the devices are on different networks, you click a button to create a private room with a unique URL, share that URL with the other person, and once they open it you can see each other and transfer files.

Note from the repository: ShareDrop has been acquired by LimeWire, and the live site at sharedrop.io now runs under that brand. The code in this GitHub repository is the original classic version, left as-is. You can still download it and run it on your own server if you prefer. Instructions for local development and deployment to Heroku are included in the README.

Where it fits