A Windows-first, AirDrop-style LAN file transfer application built with Tauri 2 + React + Rust.
This repository is currently at Step 1 of the build plan (project scaffolding). All
domain logic (discovery, pairing, transfer engine, file handling) lives in the
quickdrop-core crate and is implemented incrementally in subsequent steps.
quickdrop/
├── Cargo.toml # Cargo workspace root
├── package.json # Frontend (React + Vite + TS)
├── index.html
├── src/ # React frontend
├── crates/
│ └── quickdrop-core/ # Platform-agnostic core library
└── src-tauri/ # Tauri shell (tray, plugins, IPC bridge)
- Rust (stable, MSVC toolchain) —
rustup showshould liststable-x86_64-pc-windows-msvc. - MSVC C++ Build Tools with the Windows SDK (required by the Rust MSVC linker). Install via the Visual Studio Installer → "Desktop development with C++".
- Node 20+ and Yarn 1.x (Classic).
- WebView2 Runtime (preinstalled on Windows 11).
From the quickdrop/ directory:
yarn installyarn tauri devLogs: %APPDATA%\QuickDrop\logs\quickdrop.log. Filter with QUICKDROP_LOG env var,
e.g. QUICKDROP_LOG=debug,sled=warn.
yarn tauri buildProduces an MSI under src-tauri/target/release/bundle/msi/.
| Purpose | Path |
|---|---|
| Settings, DB, logs | %APPDATA%\QuickDrop\ |
| Default receive folder | C:\QuickDrop\ |
| Identity keypair | Windows Credential Manager (added in Step 3) |
- ✅ Scaffold (Tauri 2 + React + TS, workspace, plugins, tray, logging)
- Identity + TrustStore (Ed25519 in Credential Manager)
- Discovery service (mDNS + UDP fallback)
- TLS transport with fingerprint pinning
- Wire protocol + framed messaging
- Streaming I/O + backpressure + progress events
- Resume + atomic writes + duplicate handling
- Receiver service hardening
- Pairing UX (SAS dialog, trust persistence)
- Windows context menu integration (
--sendCLI, registry installer) - Packaging + auto-start + uninstall cleanup
- Test matrix (large files, network drops, multi-device)