Peer-to-peer file sharing. Drop a file, get a link, share it. The file transfers directly between browsers—nothing stored on the server.
- P2P transfer via WebTorrent—files go peer-to-peer, not through your server
- Files auto-expire after 10 minutes of inactivity
- Human-readable IDs (like
garlic-avocado-onion) - No account required
You'll need:
- Rust (1.70+)
- Node.js 18+ and pnpm
cargo runServes on port 8080.
cd frontend
pnpm devVite serves on port 5173 and proxies API requests to the backend.
cargo build --releaseThe binary embeds the frontend dist/ folder.
cd frontend
pnpm buildOutputs to frontend/dist/.
Deployed on Fly.io. The Dockerfile uses a multi-stage build for a minimal image.
HSTS_ENABLED- Set to enable HSTS headersAPP_DOMAIN- Fallback domain for HTTPS redirects (default:filesoup.io)
- Drop a file → WebTorrent creates a torrent client-side
- Backend generates a unique ID and stores the magnet URI
- Share the link
- Recipient opens the link → WebTorrent downloads P2P
Files expire after 10 minutes. Magnet URIs are stored only—no actual file data hits the server.