Fast, direct file transfer between your own computers
Vegam transfers a single file directly between desktop computers without servers, clouds, or intermediaries. The Sender creates a Transfer Ticket, shares it out-of-band, and the Receiver uses it to download the file. Built on Iroh for NAT traversal with relay fallback.
Vegam v1 targets desktop platforms:
- macOS 12 and newer (
.dmg) - Windows 10 and 11 (
.msi) - Linux mainstream desktops with AppImage-compatible glibc (
.AppImage)
Mobile (Android/iOS) is future work and is not part of the v1 production path. Preserved mobile implementation knowledge lives in docs/mobile/.
- Send: Select one file → Vegam creates a Transfer Ticket → copy and share it
- Receive: Paste the Transfer Ticket → choose a destination → download
Transfer Tickets are bearer values: anyone holding a valid ticket can download the file while the Sender keeps Vegam open. In v1, Transfer Tickets will expire after 24 hours by default (this expiry is not implemented yet; today a ticket stays usable for as long as the Sender keeps Vegam open). Devices connect directly when possible and fall back to Iroh's public relay network when they can't; file data never rests on third-party servers.
Desktop v1 release artifacts are not published yet. When they are, you will download them from Releases: v1 releases will be unsigned, so expect macOS Gatekeeper and Windows SmartScreen warnings, and every artifact will ship with a SHA-256 checksum to verify before installing. Verification commands and the expected install friction are documented in RELEASING.md.
- Node.js 20+
- pnpm
- Rust (see
src-tauri/Cargo.tomlfor the minimum version) - Tauri prerequisites
git clone https://github.com/yourusername/vegam.git
cd vegam
pnpm installpnpm tauri devpnpm run check
cd src-tauri && cargo check
cd src-tauri && cargo testpnpm tauri build- Frontend: React 19, TypeScript, Tailwind CSS, shadcn/ui
- Backend: Rust, Tauri v2
- Networking: Iroh for P2P connectivity
src/ # React frontend
src-tauri/ # Rust backend
src/iroh/ # Iroh integration
src/state.rs # App state management
capabilities/ # Tauri permissions
docs/ # Product context, roadmap, ADRs, research
Product scope and terminology live in CONTEXT.md, the roadmap in docs/roadmap/, and decisions in docs/adr/.
Contributions welcome! Please open an issue first for major changes.
- Fork the repo
- Create feature branch (
git checkout -b feature/thing) - Commit changes (
git commit -am 'Add thing') - Push to branch (
git push origin feature/thing) - Open Pull Request
MIT License - see LICENSE for details