Simple peer-to-peer file sharing over the same network, inspired by ShareDrop.
Built with plain HTML/CSS/JS + PeerJS + Vite. Deploys as a static site to Cloudflare Pages.
- Each browser tab gets a unique ID via PeerJS (uses public STUN/TURN)
- Share your ID with someone on the same network (or paste theirs)
- Click their node → pick a file → send
- Receiver gets a toast notification → accepts → file downloads automatically
- No server stores your files — pure WebRTC P2P
npm install
npm run devOpen http://localhost:5173 in two tabs (or two devices on same WiFi).
npm run build
# output in /dist — upload this folder anywhere staticnpm run buildGo to Cloudflare Pages → Upload assets → drag the dist/ folder.
-
PeerJS server: By default uses the free public PeerJS cloud server.
For production, self-hostpeerjs-server: https://github.com/peers/peerjs-server
Then updatepeer.jsconstructor options:host,port,path. -
Peer discovery on LAN: PeerJS uses STUN for WebRTC. For fully offline LAN-only usage,
run your ownpeerjs-serveron the same network and remove the public STUN config.