Instant, private, cross-device file sharing through your browser.
Powered by WebRTC, Next.js, and End-to-End Encryption.
FluxDrop is a browser-based, peer-to-peer file transfer system. No accounts, no installation, no storage—just instant, encrypted transfers between any devices. It uses WebRTC for direct data channels and ECDH Key Exchange to ensure only you and the receiver can access the files.
- ⚡ Zero Setup: No accounts or apps needed. Just open the browser and share.
- 🔒 Maximum Privacy: End-to-end encrypted. No file data ever touches our server.
- 🚀 LAN Speed: Direct P2P transfers mean data moves as fast as your network allows.
- 📱 Universal: Works on any modern browser across mobile, tablet, and desktop.
- 🔗 Easy Pairing: Use 6-digit codes, QR codes, or direct links to connect peers.
| Frontend | Backend (Signaling) | Infrastructure |
|---|---|---|
| Next.js 14 (App Router) | Node.js 20 (TypeScript) | Vercel (Frontend) |
| Tailwind CSS | ws (WebSocket) | Railway (Backend) |
| Zustand (State Management) | Upstash Redis (Session) | Metered.ca (TURN/STUN) |
| WebCrypto API (AES-GCM) | Zod (Validation) |
fluxdrop-web/: The Next.js client interface.fluxdrop-server/: The Node.js signaling server for peer discovery.
git clone https://github.com/Premshaw23/fluxdrop.git
cd fluxdropcd fluxdrop-server
npm install
npm run devcd ../fluxdrop-web
npm install
npm run dev
# Open http://localhost:3000For more detailed technical information, check the sub-folder documentation:
- 🏗️ Core Logic: Architecture & Protocol
- 🔐 Security: Security Model
- 📡 Signaling: Redis Integration
- 🔌 API: WebSocket Protocol
- Frontend: Deploy
fluxdrop-webto Vercel. - Backend: Deploy
fluxdrop-serverto Railway. - Redis: Use Upstash Redis for ephemeral session storage.
- TURN: Configure Metered.ca for network traversal (Symmetric NAT handles).
- Safari Support: Folder uploads are limited due to WebKit restrictions.
- File Size: Most browsers have a ~2GB memory limit for blob handling.
- Persistence: No transfer history is saved to ensure maximum privacy.