Skip to main content

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:

  1. cloudflared (if installed)
  2. natpmp
  3. upnp
  4. localhost.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

magic_rift-0.1.1.tar.gz (43.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

magic_rift-0.1.1-py3-none-any.whl (43.1 kB view details)

Uploaded Python 3

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

Hashes for magic_rift-0.1.1.tar.gz
Algorithm Hash digest
SHA256 bbdeded6276b5a341ee5efa640115556d45e78acc80e9c68d44f47ac379ab227
MD5 c7a843dccb250049bbcd7917aac9c115
BLAKE2b-256 1b4188f3d0a0740789f74f973ce416b44740a1cc7e09a770924018baa846ecee

See more details on using hashes here.

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

Hashes for magic_rift-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 409c31f7ee47e031b0dc419fab34c39502127c834ccb38cd3496976880bb87c1
MD5 02171a9108aff910e6805d53cf69f64f
BLAKE2b-256 18880b24f9cb5cc83ab5e84e3cbe3a963dfc6ccf97fbf366bfe51f0acf9a463c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page