Repository navigation
Releases: Ptraaah/zeroserver
Release list
v1.5.0 - Big files, unbroken
Built around a real failure: a 67 MB phone-to-phone send over one Wi-Fi that slowed down and died at 71%.
- A signalling hiccup no longer kills a running transfer - the data channel lives independently of the signalling socket, and the page reconnects the socket in the background.
- A paused connection gets a 30-second reconnecting grace window plus a heartbeat, instead of failing at the first wobble.
- An interrupted file resumes from the last chunk that safely landed on disk instead of starting over. The stored part is re-read and re-checked against the running hash before it is trusted, and the final whole-file hash still has the last word - if a resumed file fails it, that file is taken once more from zero.
- The send loop wakes on the channel's own drain event instead of polling on a timer, reads run one chunk ahead of sends, and acknowledgements flow twice as often.
- Receivers saving into browser storage get a space check before the first byte: a loud warning when it looks tight, an upfront refusal only when a file plainly cannot fit.
- The connection test panel remembers the best sustained send and receive speeds the device has ever held, across visits, with a reset button.
Sending a really big file to the device next to you? The README now has a short guide with honest times for 10, 50 and 100 GB at typical Wi-Fi speeds.
v1.4.0 - Pairing and pace
Pairing a second phone no longer means pasting a long link, and progress now carries real numbers.
What is new:
- The share card draws a QR code of the send link right next to the link. The code is generated by a small library built into the page itself, so it works with no extra download: point a camera, open the link.
- While a transfer runs, a live speed and an estimated time left appear under the progress bars, for sending and receiving alike. The estimate is measured over the last few seconds, and after a reconnect it starts fresh instead of averaging the dropped connection back in.
Same promises as always: no accounts, no ads, no locked features, and your files never touch a file server.
v1.3.0 - Relay
Connections that cannot go direct no longer have to fail.
What is new:
- A tiny worker mints short-lived TURN credentials, so a sender on home WiFi and a receiver on mobile data (or the other way round) can relay through Cloudflare when no direct path exists. The relay forwards the same end-to-end encrypted WebRTC traffic and cannot read your files.
- The diagnostics panel gains a Relay row: checking, available, or unavailable, so test results now say whether the relay was there.
- If the relay is ever unreachable, everything falls back to the direct-only behaviour of v1.2. Nothing else changed.
- The relay runs on a free quota with a hard ceiling: if it runs out, ZeroServer degrades to direct-only. It will never quietly start billing anyone.
Same promises as always: no accounts, no ads, no locked features, and your files never touch a file server.
ZeroServer v1.2.0
Third release, shaped by a teardown of every serious tool in this field (PairDrop, FilePizza, LocalSend, the lot). The pattern in that field is betrayal: Snapdrop and ShareDrop were bought and turned into upload funnels. ZeroServer's answer is in the footer now: never accounts, never ads, never locked features, and one file you can copy and own forever.
New in v1.2.0:
- A real WhatsApp handoff: the share message carries the stay-open instructions for both sides, and when everything arrives verified the receiver gets a one-tap done message to send back
- A warning when the page is opened inside a chat app's built-in browser, where downloads quietly break, with a copy-link button to escape to a real browser
- A same-Wi-Fi badge when the connection is local: this transfer uses no internet data at all
- Optional link controls: a 4-digit PIN, one-shot links that die after the first completed transfer, and 30-minute expiry, all off by default
- A pre-flight network check that tells you honestly whether your network looks open for direct connections before you send anything
- Big files on Firefox and Safari no longer eat RAM: they stream to on-device storage (OPFS) instead, same SHA-256 verification as always
Still true: the sender keeps the tab open, and STUN-only means some strict networks will not connect. The relay fallback is the next piece of work.
ZeroServer v1.1.0
Second release, same idea: files fly directly between two browsers, nothing is uploaded anywhere.
New in v1.1.0:
- The screen stays on during a transfer (Wake Lock), so a phone nap no longer kills a big send
- Send a whole folder, structure visible in the file list
- If the connection drops mid-transfer, reconnect and the files that already arrived verified are skipped; the rest continues
- A share button for the tool itself
- Footer links: download your own copy of ZeroServer, and a voluntary support link (donations via Trakteer, features stay free for everyone)
Still honest about the limits: sender keeps the tab open, STUN only for now so some strict networks will not connect. Cross-network tests from real phones are exactly what decides the next step.
ZeroServer v1.0.0
First release. ZeroServer sends files straight from one browser to another over an encrypted WebRTC connection. There is no file server: nothing you send is uploaded anywhere, stored anywhere, or readable by anyone in the middle.
What works in v1.0.0:
- Pick files, get one link and a QR code, share it anywhere (WhatsApp button built in)
- Files stream directly between the two browsers, no size limit set by any service
- Every file is verified with SHA-256 on arrival, so both sides know it arrived identical
- Connection diagnostics on the page, with a copyable test summary (direct or relayed path, speed, duration)
- Indonesian and English interface, mobile first, one single HTML file
Honest limits, stated on the page too: the sender keeps the tab open while sending, because there is no server holding the file. Version 1 uses STUN only, so some strict networks will not connect yet. It is a live handoff tool, best while you are already chatting with the person you send to.
Try it: https://ptraaah.github.io/zeroserver/
Self-host it by copying one file to any static host. Connection test reports are gold right now, especially from Indonesian mobile networks.