Share files directly from your device—for free—with anyone, anywhere on the planet.
Ginseng uses peer-to-peer networking to transfer files directly between devices without intermediaries. Here's what makes it special:
No servers, no storage, no costs
Files transfer directly from your device to the recipient's device. Nothing is
stored in the cloud, so there are no server costs to pass on to you.
End-to-end encrypted
Built on Iroh, Ginseng uses cryptographic hashing
and content addressing to ensure your files are transferred securely. Only
devices with the share ticket can access the files.
Global connectivity
Using hole-punching and relay servers for NAT traversal, Ginseng can connect
peers anywhere in the world—even behind firewalls and routers.
How sharing works:
- Select files or folders to share
- Ginseng creates a unique, encrypted ticket
- Share the ticket with your recipient
- They paste the ticket in their Ginseng app
- Files transfer directly peer-to-peer
The ticket contains cryptographic information needed to find your device on the network and verify file integrity, but the actual file content never touches any server.
A few things I'm thinking about (this list will probably change quite a bit as I figure things out):
- parallel file processing
- web support
- mobile support
- some sort of contact system so you don't have to copy paste tickets
- QR codes for ticket sharing
Please see CONTRIBUTING.md for guidelines on how to contribute to Ginseng.
Ginseng is a cross-platform desktop application built with Tauri. The core is built with Rust, and uses Iroh for peer-to-peer networking. The interface is constructed with React and shadcn, styled with Tailwind, formatted and linted with Biome, and built with Vite. Dependencies are managed with Bun and Cargo, and development environments are reproducible with Nix.
