explaingit

sharedropio/sharedrop

10,731JavaScriptAudience · generalComplexity · 3/5Setup · moderate

TLDR

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.

Mindmap

mindmap
  root((repo))
    What It Does
      Peer-to-peer transfer
      No cloud storage
      Encrypted connection
    How It Works
      WebRTC browser standard
      Firebase for discovery
      Same network auto-detect
    Use Cases
      Cross-platform sharing
      Private room transfers
      Self-hosted deployment
    Supported Platforms
      Windows and Mac
      Android and iOS
      Linux browsers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Send large files from your phone to your laptop on the same Wi-Fi network without a cloud service or cable

USE CASE 2

Share files between Windows, Mac, Android, and iOS devices directly in the browser

USE CASE 3

Create a private transfer room to send files to someone on a different network using a shared URL

USE CASE 4

Self-host your own file sharing server by deploying the ShareDrop code on your own infrastructure

Tech stack

JavaScriptWebRTCFirebaseEmber.js

Getting it running

Difficulty · moderate Time to first run · 30min

Requires a Firebase project for device discovery and connection setup.

In plain English

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.

Copy-paste prompts

Prompt 1
I want to run my own ShareDrop instance on a server. Walk me through the local development setup and deployment steps from the GitHub repository.
Prompt 2
How does ShareDrop use WebRTC and Firebase together? What does each one handle in the file transfer process?
Prompt 3
I want to build a peer-to-peer file transfer app using WebRTC. How does ShareDrop structure its connection setup and data channel for transferring files?
Prompt 4
How do I use ShareDrop's private room feature to send a file to someone who is on a different network from me?
Open on GitHub → Explain another repo

← sharedropio on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.