Share files like magic - disposable file sharing via your public IP
Project description
Rift
One-time file sharing from your machine.
Rift starts a temporary server, prints a share link, and shuts down after the first successful download.
Install
Python 3.8+ required.
uv tool install magic-rift
Or:
uvx magic-rift --version
Or with pip:
pip install magic-rift
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.
Most Useful Commands
Share with random port (default):
rift share file.zip
Share on a fixed port:
rift share file.zip --port 9000
Disable TLS:
rift share file.zip --no-ssl
Set default port:
rift config set port 9000
View config:
rift config list
Reset config:
rift config reset
How Connectivity Works
Rift tries methods in this order:
cloudflared(if installed)natpmpupnplocalhost.run(SSH tunnel)
If automatic forwarding/tunneling fails, Rift still runs locally and tells you to configure routing manually.
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.
Troubleshooting
Public IP detection failed:
- Check your public IP manually.
- Retry with a fixed method, for example:
rift share file.zip --method cloudflared
Port in use:
rift share file.zip --port 9001
Permission error:
chmod +r file.zip
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.1.tar.gz.
File metadata
- Download URL: magic_rift-0.1.1.tar.gz
- Upload date:
- Size: 43.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bbdeded6276b5a341ee5efa640115556d45e78acc80e9c68d44f47ac379ab227
|
|
| MD5 |
c7a843dccb250049bbcd7917aac9c115
|
|
| BLAKE2b-256 |
1b4188f3d0a0740789f74f973ce416b44740a1cc7e09a770924018baa846ecee
|
File details
Details for the file magic_rift-0.1.1-py3-none-any.whl.
File metadata
- Download URL: magic_rift-0.1.1-py3-none-any.whl
- Upload date:
- Size: 43.1 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 |
409c31f7ee47e031b0dc419fab34c39502127c834ccb38cd3496976880bb87c1
|
|
| MD5 |
02171a9108aff910e6805d53cf69f64f
|
|
| BLAKE2b-256 |
18880b24f9cb5cc83ab5e84e3cbe3a963dfc6ccf97fbf366bfe51f0acf9a463c
|