FileCarpenter guide
How browser-to-browser file transfer works
A direct file-transfer page can move bytes during a live browser session without first storing the whole file as a downloadable cloud object.
Signaling introduces the two browsers
Before a WebRTC connection exists, the browsers need a small signaling service to exchange connection descriptions and network candidates. Signaling coordinates the meeting; it does not need to receive the selected file payload.
The DataChannel carries the file
Once connected, the sender reads the file in chunks and writes them to an ordered WebRTC DataChannel. The receiver reconstructs or streams those chunks to local storage, depending on browser capabilities.
TURN is a relay, not cloud storage
Some networks cannot establish a direct path. A TURN server can relay encrypted WebRTC traffic so the session still works. The relay carries packets during the live connection rather than creating a persistent download link.
The trade-off is live availability
Both devices must remain online and the browser tabs must stay open until the transfer finishes. A cloud storage link is better when the sender and receiver cannot be online at the same time.