OpenDrop: Peer-to-Peer File Sharing with WebRTC

The Problem

Ever been stuck trying to share a file between devices on the same network without messing around with email, USB drives, or some sketchy third-party service? Sure, services like AirDrop exist, but that's locked to Apple devices. And cloud storage? Great until you realize you're uploading a 2GB file just to download it again—on the same Wi-Fi. We can do better.

What This Does

OpenDrop is a simple, no-frills file-sharing tool that uses WebRTC for peer-to-peer (P2P) transfers on the same local network. The project is split into two parts: Frontend (client/): A static site (index.html, main.js, style.css) that handles the UI and opens WebRTC connections. It’s deployed via GitHub Pages, so you don’t even need to host it yourself. Backend (server/): A tiny Node.js WebSocket signaling server (server/index.js) to match devices on the same local network. For good measure, it also lets you upload files for temporary shareable links if P2P isn’t an option.

For P2P transfers, your files never leave the network—no cloud uploads, no middleman. For the shareable links, the backend is lightweight and can run for free on services like Koyeb or Render. Configuration is minimal—update the SIGNALING_URL in client/main.js with your server’s WebSocket URL and you’re good to go.

Real-World Use

Let’s say you’re sitting in a meeting (ugh) and need to send a 500MB video to a coworker across the table. Open http://your-opendrop-instance on both devices (make sure they’re on the same Wi-Fi). They’ll auto-discover each other—no IP addresses, no nonsense. Click their name and send your file. Done.

Or maybe the Wi-Fi sucks (shocker), and P2P isn’t an option. Upload the file via the "Share via Link" option and send them the auto-generated URL. The link expires in 24 hours, so your files aren’t floating around forever—nice touch.

The Bottom Line

OpenDrop is great for quick, local file transfers without relying on bloated services or proprietary ecosystems. It’s not revolutionary, but it’s reliable and easy to set up. That said, the lack of stars (0, ouch) and the "not open-source" license might be deal-breakers for some devs. If you’re okay with that, it’s a solid tool for personal or small-team use.