File Drop

Browser to browser, no app, no account, nothing stored on a server. The file goes directly from one browser to the other over an encrypted WebRTC data channel. Trystero only introduces the two browsers — via public Nostr relays first, with MQTT as a fallback — it never receives or stores your file.

Both people must have this page open at the same time, and the sender must stay on the page until the transfer finishes. Video and audio only, max 50 MB per file, one file at a time.

Page loaded. Not in a room yet.

Layer: page loaded. Rendezvous not started yet.

1. Create a room

1. Join a room

Signalling: Nostr. If the other person never appears, tap “Try MQTT instead” on both sides with the same code — no long code to copy, ever.

2. Send a file

Sending:

Receiving:

Received files

Nothing received yet.

If a peer is found but the transfer never starts, both sides are usually behind a strict firewall or symmetric NAT. Try a different network first (mobile data instead of Wi-Fi, or vice versa). A TURN relay is the next step if that still fails — it is not built into this page yet, on purpose, so the first test is clean.

This page must be opened over https — WebRTC does not run from a plain file:// page in most browsers. On a direct host such as Cloudflare Pages, the page URL is the real URL, so ?room= and #room= links reach this page directly.