Skip to content

v0.1.0 — First public release

Choose a tag to compare

@ethemdemirkaya ethemdemirkaya released this 28 May 23:33
· 16 commits to main since this release

LanBlaze is a fast, cloudless file transfer app for devices on the same LAN.
No accounts, no internet, no relay servers.

LanBlaze main screen

Highlights

  • mDNS peer discovery — devices on the LAN show up automatically.
  • 6-digit pairing code — every send is gated on the receiver's code, wrong code is rejected instantly with no user prompt.
  • Single-stream pipeline — many small files are sent back-to-back over one TCP connection (no per-file ack), so the 50 000-tiny-files case doesn't collapse to single-digit MB/s.
  • blake3 integrity check end-to-end, with atomic .part → final rename.
  • Resume support for files ≥ 8 MiB — kill mid-transfer, restart, it picks up from the byte that hit disk.
  • Drag and drop files or folders onto the window.
  • Per-transfer destination override in the incoming dialog.
  • Path-traversal safe — absolute paths, drive letters and .. are rejected.
  • Windows 11 Fluent look with Mica background, follows system light/dark theme.

Install (Windows)

  1. Download LanBlaze_0.1.0_x64-setup.exe from the assets below.
  2. Double-click to install (per-user, no UAC).
  3. On first launch, allow access in the Windows Defender Firewall prompt — check Private networks + Allow access.

The installer is unsigned, so SmartScreen will show "Unknown publisher". Click More info → Run anyway if you want to proceed.

Build from source

git clone https://github.com/ethemdemirkaya/lan-file-transfer
cd lan-file-transfer
npm install
npm run tauri build

Requires Node ≥ 20 and a recent stable Rust toolchain.

Quick start

  1. First launch prompts for a device name and default destination folder.
  2. Top right of the main screen shows your 6-digit pairing code — share it with the sender.
  3. To send: drop files / folders, pick the destination device from the list (or paste an IP), enter the receiver's code, hit Send.

To verify on a single machine, use 127.0.0.1 as the manual IP and your own pairing code.

Protocol

Version 2 wire format (all integers little-endian, one TCP stream per transfer):

```
[u32 hello_len][HELLO JSON]
[u32 ack_len][HELLO_ACK JSON]
repeated per file:
[u16 path_len][path bytes][u64 size][u8 resumable]
if resumable == 1: [u64 offset] ← receiver → sender
[size - offset bytes of file body]
[32 bytes blake3 of the full file]
[u16 0]
```

Files below 8 MiB skip the resume handshake to keep the small-files pipeline at zero extra RTTs.

Known limitations

  • Windows only for this release (Linux / macOS not built yet).
  • No transport encryption — relies on the LAN being trusted; pairing code prevents accidental misrouting, not eavesdropping. TLS is on the roadmap.
  • Installer is unsigned — SmartScreen warning is expected.