Instant, private file sharing and real-time collaborative workspaces, right in your browser.
PeerRoom provides private, cross-platform file transfers and temporary collaborative workspaces with no registration, no ads, and no user tracing.
Sharing files with a nearby device should be simple. It should not require uploading files to the cloud, sending emails to yourself, or pairing devices over Bluetooth.
PeerRoom is built to be the easiest, fastest, and most private way to share files and collaborate across devices:
| Feature | PeerRoom | Traditional Cloud | AirDrop |
|---|---|---|---|
| Setup | Zero. Just open the web page | Requires account creation & login | Requires Apple hardware |
| File Limits | Up to 2GB for P2P transfers | Limited free tiers, prompts to upgrade | Unlimited (Apple-only) |
| Privacy | 100% Private. Files never touch any cloud server | Files are stored on corporate servers | Local network only |
| Cross-Platform | Works on Android, iOS, Windows, macOS, Linux | Yes (requires logins & apps) | No (Apple ecosystem lock-in) |
| Feature | What it does |
|---|---|
| 📡 Direct P2P file radar | Detects active PeerRoom devices on your local network automatically using a floating radar UI; select a device to stream files browser-to-browser. |
| 👥 Ephemeral room workspaces | Allows creating temporary shared rooms at custom URL paths (e.g., /project-alpha) to collaborate across different networks. |
| 📋 Real-time collaborative editor | Features a scroll-synchronized collaborative text editor with line numbering for easy sharing of notes, links, and code. |
| 🔒 Secure ephemeral storage | Uploaded room files are stored in encrypted Cloudflare R2 bucket storage and accessed via short-lived signed URLs. |
| 🗑️ Automatic self-destruction | All shared room files, text editor contents, and room metadata automatically and permanently delete after 7 days. |
| 🧭 Cross-network coordinate pairing | Allows quick peer connection across different networks using a simple 6-character coordinate code. |
| 🚫 Zero tracking or analytics | Requires no registration or logins, uses no tracking cookies or ads, and collects no telemetry. |
Need to send files directly to a nearby phone, tablet, or computer?
- Open PeerRoom on both devices.
- The local network Radar automatically discovers nearby active devices.
- Click on the target device, select your files, and stream them directly browser-to-browser.
Need to share files and coordinate text with a group or across different networks?
- Create a custom room URL, e.g.,
peerroom.arshsaxena.in/project-alpha. - Share the link with your team.
- Upload files to the shared list and type collaboratively in the real-time text editor.
- All room data, clipboard contents, and files automatically self-destruct after 7 days.
- Direct WebRTC Streaming: Direct P2P transfers are encrypted end-to-end using DTLS and SRTP. Your files stream straight from one device to another without ever passing through or being stored on any server.
- No Search Engine Indexing: All room pages (
/[room]) and static information pages are locked down withnoindex, nofollowheaders to keep your workspaces private. - Worker Auto-Purge: Files temporarily uploaded to shared rooms are stored securely in Cloudflare R2 and hard-deleted automatically along with all room metadata after 7 days.
- Zero Telemetry Logging: Signaling channels use encrypted WebSockets (WSS) only to exchange SDP handshakes and ICE candidates required to establish peer connections. No file chunks, private keys, or IP logs are stored or inspected.
PeerRoom is 100% open-source and easy to host independently.
- Frontend: Next.js (can be deployed to Vercel or Cloudflare Pages).
- Backend: Signaling server and room database run on Cloudflare Workers using Durable Objects and R2 storage.
-
Clone the repository:
git clone https://github.com/arshsaxena/PeerRoom.git cd PeerRoom npm install -
Configure Environment Variables: Create a
.env.localfile in the root directory:NEXT_PUBLIC_WS_URL=ws://localhost:8787 NEXT_PUBLIC_API_URL=http://localhost:8787
-
Run Dev Servers:
- Frontend:
npm run dev(starts onhttp://localhost:3000) - Backend Worker:
cd worker && npx wrangler dev --ip 0.0.0.0(starts onhttp://localhost:8787)
- Frontend:
Contributions are welcome! Please fork the repository, make your changes on a feature branch, and submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.