WebsiteLive

hulur

AirDrop for any mix of devices: open one page on a phone and a laptop, tap the other one, and the files go across. Nothing to install, no account.

hulur on three phones: the room with a MacBook and a Windows PC in it, the receiver being asked to accept three files, and the files arrived with a Save button each

About the project

AirDrop only reaches Apple devices and Quick Share only Android and Windows, so moving a file from an iPhone to a Windows PC still meant a cable, a chat app or a cloud upload. hulur is one web page that does it between any two devices with a browser. Devices on the same Wi-Fi find each other on their own; on different networks, one scans a QR code or types a six-character code. The receiver is always asked first, then the files travel straight from one browser to the other over a WebRTC data channel, and nothing is stored anywhere. The hard part was the networks that block a direct path: if no direct channel opens within eight seconds, the same transfer goes through the room server instead, slice by slice, and the sender is told which way it went. The room server is a Cloudflare Worker with one Durable Object per room. It only introduces devices and stamps every message with its real sender, so nobody can pose as another device. 35 checks run against the live site, including a 3 MB file handed over byte for byte both directly and through the relay. Luqman uses it for work across all his devices.

Vanilla JSWebRTCCloudflare WorkersDurable ObjectsNo accounts35 checks