Disposable public file links directly from your machine
Project description
Rift
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.
Install
pipx is recommended for Python tool installation:
pipx install magic-rift
or if you prefer uv, you can install with:
uv tool install magic-rift
For easier and more reliable sharing, install cloudflared (if not already installed): https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/
Quick Start
Share a file:
rift share /path/to/file.pdf
Rift 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.
How Connectivity Works
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).
Security Notes
- 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.
Configuration Path
Rift stores config at:
~/.config/rift/config.json
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file magic_rift-0.1.7.tar.gz.
File metadata
- Download URL: magic_rift-0.1.7.tar.gz
- Upload date:
- Size: 46.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
20cd3db2d886478ba727239f3a4bdf529c1a120ef4d5769b3c81ee2948950887
|
|
| MD5 |
ec2f75466501fad8814396eb59174a47
|
|
| BLAKE2b-256 |
d73949a518ca2b2f0e685cf020f418eae107b03768c800752585357c682b85aa
|
File details
Details for the file magic_rift-0.1.7-py3-none-any.whl.
File metadata
- Download URL: magic_rift-0.1.7-py3-none-any.whl
- Upload date:
- Size: 44.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cf926a1a09fb3e08255d5e4314f4a2d45117a42b73e16770ea6322e485236219
|
|
| MD5 |
616580911cfbf4a17410437641549714
|
|
| BLAKE2b-256 |
f5e02a439107ccf2c95dcbd1d65c5a5ce837d2ee5465fd6ef796cff683a780fe
|