Daksh / wire
wire app icon

Send a file to your other device, without the cloud

Link your phone, laptop and tablet to one account and push a file or a block of text to any of them. When two devices can reach each other directly, the file goes straight between them and the server only introduces them.

WebRTC peer-to-peer 100MB per file web push notifications PWA — installable open signup
the features

What wire does

A small tool with one job: moving something from one of your devices to another.

Your devices, one account

Register each device once and it shows up as a target. Transfers only ever move between devices on the same account — there is no cross-account transfer anywhere in the design.

Files go peer-to-peer first

A file transfer tries a direct WebRTC connection between the two devices. When both are on the same network that is fast and the bytes never touch the server at all.

A relay when direct fails

Different networks, or the other device offline? The file falls back to store-and-forward on the server and waits for the receiving device to pick it up.

Text sends instantly

A block of text — a link, an address, a snippet — goes through the relay and is waiting on the other device the moment it next checks in. Up to 10,000 characters.

Push notifications

Web push tells the receiving device something has arrived, so you are not sitting on a page waiting. It degrades quietly to no notification if push is unavailable.

Progress you can trust

The receiving device draws a progress bar while a file uploads, but a half-written file is never downloadable — only a transfer confirmed written to the last byte can be fetched.

Installs like an app

wire is a PWA, so it installs to a phone or desktop from the browser with its own icon and no browser chrome around it.

Cleans up after itself

Transfers are purged after 14 days, with a 100MB cap per file and 500MB of pending files per account. Nothing accumulates on the server forever.

side by side

wire vs. the alternatives

Where wire sits between the thing that shut down and the thing that only works on one brand.

wirePushbulletAirDrop
Runs on your own serverYesNoNo
Cross-platformAny browserAndroid, desktopApple only
Files peer-to-peerWhen possibleNoYes
Works across networksYes, via relayYesNo, same room
Send text between devicesYesYesYes
Push notificationsYesYesn/a
Free file size limit100MB25MB on free tierNo limit
Account requiredYes, yoursYes, theirsNo
PriceFreeFree tier, then paidFree
under the hood

How it's built

One Python file and one HTML file, running under systemd on a single Hetzner box.

The backend is a threading HTTP server on the Python standard library, with one optional dependency (pywebpush) for web push — if it is missing, push quietly turns itself off and everything else works identically. The client is a single self-contained HTML file: no bundler, no framework, no build step. Storage is plain JSON files written through a temp file and an atomic rename, so a crash mid-write cannot truncate them. Passwords use PBKDF2 and sessions live in memory, which means a restart logs everyone out — a deliberate trade for not running a session store.

questions

Frequently asked

Does my file pass through your server?

Not if it does not have to. Files try a direct WebRTC connection between your two devices first, and the server relays only the handshake. A file only lands on the server when a direct connection cannot be established.

Can someone else receive my files?

No. Transfers only move between devices registered to the same account. There is no cross-account transfer path in the app at all.

How big a file can I send?

100MB per file, with 500MB of pending files per account, and text sends up to 10,000 characters.

How long do transfers stick around?

Fourteen days, then they are purged automatically along with the stored file.

Do I need to install an app?

No. wire runs in any modern browser, and it is a PWA so you can install it to your home screen or desktop from the browser if you want the icon.

Is it really free?

Yes. Signup at wire.dakshhq.com is open and there is no paid tier — it runs on a server I already pay for.

Try it

Signup is open and it costs nothing — wire runs on a server I already pay for.

also here

The other two