Cross-platform desktop file transfer built with Go + Svelte + Wails. Scan a QR code, drop files, done — zero cloud, zero accounts, zero internet. ✦ v2.5.0: token auto-rotation, 30-min big-file tokens & revamped mobile UI — see what's new.
Secure token rotation, big-file stability, and a complete mobile overhaul — the most polished BeamSync yet.
QR bootstrap tokens now auto-rotate every ~4.5 minutes and the desktop QR updates live. Active transfers defer rotation via activeUploads watchdog guard (beamsync/server.go:600). Download tokens extended to 30 min (was 5) — large files no longer fail mid-queue. Mobile heartbeat no longer kills a mid-download on 401/403.
Radically redesigned mobile web UI with a structured layout — clear lanes for queued, uploading, and completed files.
Selected desktop files cascade in a staggered entrance animation. Mobile download view populates a dedicated DOWNLOADED FILES section live as downloads complete.
Dynamic, color-coded SVG icons for dozens of types — code, video, images, scripts, text, archives and more. Instant visual scanning.
Backend now passes and respects the X-Filename HTTP header so the original filename is preserved correctly on every transfer — no more truncated or mangled names.
All animated elements — staggered lists, progress, carousel and waves — fully respect prefers-reduced-motion for inclusive motion handling.
Every feature built on one principle — your files never leave your network.
Streams files directly over HTTP on your local network. Throughput limited only by your hardware — gigabit speeds achievable with zero configuration.
Works without any internet connection. Data never leaves your local network — ever.
Connect any mobile device instantly by scanning a QR code. No app install required on the phone.
Drop files directly onto the window to begin transfer immediately. No dialogs.
Auto-detects optimal local IP, finds open ports, configures Linux firewall rules automatically.
Integrated AudioEngine provides real-time interaction sounds. Respects prefers-reduced-motion for accessibility.
QR credentials auto-rotate every ~4.5 min via url_changed / token_rotated events. Previous QRs revoked instantly. Active transfers defer rotation — stream stays alive.
Color-coded SVG icons for dozens of types — code, video, images, scripts, archives — plus intelligent staggered file lists and a live DOWNLOADED FILES lane on mobile.
No configuration. No wizard. Open and go.
Open the desktop app. A QR code and URL appear instantly — no configuration needed.
On the receiving device, scan the QR or visit the URL. Works in any browser — mobile or desktop.
Drag files to send, or download directly. Files saved to Downloads/BeamSync/.
Real screenshots from the desktop app — no mockups, no filters.
Built with Go net/http — direct LAN streaming with zero dependencies on the receiving end.
Reactive UI · drag-and-drop interface · QR code display · transfer progress
App · loadConfig() · saveConfig() · configPath() · event bridge · lifecycle
StartServer() · StartSender() · writeFileToDisk() · copyChunked() · concurrent I/O
getLocalIP() · FindAvailablePort() · RunFirewallSetup() · AudioEngine · TransferSettings
url_changed · token_rotated events · activeUploads guard server.go:600 · 5→30 min download token · heartbeat 401/403 guard — QR revokes previous, live refresh, no manual reload
Available on Arch Linux (AUR) and as pre-built binaries for all platforms. See what's new in v2.5.0 →