A lightweight, secure file transfer GUI
Demo.3_3.webm
Wyrmhole is a cross-platform desktop application that provides a user-friendly interface for secure peer-to-peer file transfers using the magic-wormhole.rs protocol.
- End-to-end encrypted -- PAKE-secured transfers over the magic-wormhole protocol
- Live progress -- real-time tracking for sends and receives
- Transfer history -- every sent and received file, with metadata and JSON export
- Bring your own relay -- point at any custom relay server URL
- Quality of life -- auto-extract tarballs, configurable download directory and folder naming
Requires Rust (stable), Node.js (v18+), and the Tauri prerequisites for your platform.
git clone https://github.com/ClaytonWas/wyrmhole.git
cd wyrmhole
npm install
npm run tauri dev # development
npm run tauri build # production, output in src-tauri/target/release/Send: select files or folders, click Send, and share the generated code. Receive: enter the code, review the offer, and accept. Files land in your configured download directory and appear in File History.
Settings (gear icon, top right) cover the download directory, tarball auto-extraction, folder naming, relay server, and history export.
src/ React frontend (App.tsx, SettingsMenu.tsx, ...)
src-tauri/ Rust backend (lib.rs, files.rs, files_json.rs, settings.rs)
Tooling commands
npm run fmt/npm run fmt:rs-- Prettier / rustfmtnpm run lint/npm run lint:rs-- ESLint / clippynpm run analyze-- CLI report: tooling summary, dependency overview, bundle and binary sizes (runnpm run buildfirst)
Multi-recipient sends (experimental upstream) and system-level dark mode. See issues for more.
Issues and pull requests welcome. For major changes, include a note on the decisions made.
magic-wormhole.rs · crates.io docs · Tauri 2
Made with 💙 by ClaytonWas