Disposable public file links directly from your machine.
Rift starts a temporary server, prints a share link, and shuts down after the first successful download.
This project is heavily inspired from Magic Wormhole which I'm a massive fan of. It makes P2P file sharing stupidly simple, and its UX was a revelation for me. I built Magic Rift because there were times when asking someone to install an app or package was too much to ask and I wished I could just share a link to a file on my machine without having to upload it somewhere first.
pipx is recommended for Python tool installation:
pipx install magic-riftor if you prefer uv, you can install with:
uv tool install magic-riftFor easier and more reliable sharing, install cloudflared (if not already installed): https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/
Share a file:
rift share /path/to/file.pdfRift prints a disposable link like:
https://PUBLIC_IP:PORT/4-crystal-salmon
After one successful download, the server exits and the link stops working.
Stop manually anytime with Ctrl+C.
Rift tries methods in this order:
cloudflared(if installed) - Fast and reliable Cloudflare tunnelpinggy.io(SSH tunnel) - Fastest SSH tunnel, 60-minute session limitnatpmp- Router port forwardingupnp- Router port forwarding
If automatic forwarding/tunneling fails, Rift exits and does not print a public link.
For most users, installing cloudflared gives the smoothest setup. Alternatively, pinggy.io offers excellent performance without any installation (uses built-in SSH, but has a 60-minute timeout on free tier).
- Links are one-time and include a random secret path.
- Files are served directly from your machine.
- HTTPS may use a self-signed cert by default, which can show browser warnings.
- If cert setup is unavailable, Rift can fall back to HTTP.
- No built-in authentication. Encrypt sensitive files before sharing.
Rift stores config at:
~/.config/rift/config.json
MIT