Skip to main content

Zip and share files from the terminal — no browser needed.

Project description

shrip

Zip and share files from the terminal — no browser needed.

shrip bundles files and folders into a compressed archive and uploads it to gofile.io, giving you a temporary public download link instantly. No accounts, no configuration, no context-switching.

Installation

Ubuntu / Debian:

sudo apt install pipx
pipx ensurepath   # adds ~/.local/bin to PATH (one-time setup, restart terminal after)
pipx install shrip

macOS:

brew install pipx
pipx ensurepath
pipx install shrip

Windows:

pip install pipx
pipx ensurepath
pipx install shrip

With pip (any OS):

pip install shrip

On Ubuntu 23.04+ and other modern distros, pip install is blocked by default to protect the system Python. Use pipx instead — it installs shrip in an isolated environment and adds it to your PATH automatically.

From GitHub:

pip install git+https://github.com/nbfrodri/shrip.git

Requires Python 3.9 or higher. Works on Windows, macOS, and Linux.

Updating

# If installed with pipx
pipx upgrade shrip

# If installed with pip
pip install --upgrade shrip

Uninstalling

# If installed with pipx
pipx uninstall shrip

# If installed with pip
pip uninstall shrip

Usage

# Share a single file
shrip report.pdf

# Share multiple files and folders
shrip ./src/ README.md logo.png --name project-handover

# Custom archive name
shrip ./build/ -n release-v2

# Copy the link to clipboard
shrip file.txt --copy

# Open in browser after upload
shrip file.txt --open

# Skip compression (faster for ISOs, videos, archives, etc.)
shrip ubuntu.iso --fast

# Upload to a specific region (eu or na)
shrip bigfile.tar.gz --zone na

# Combine flags
shrip ./dist/ -n release -c -o

Example output:

Compressing 3 items (4.8 MB) into project-handover.zip...
⠋ Compressing ████████████████████████████████████ 100% 4.8/4.8 MB
Compressed to 1.2 MB (75% smaller). Uploading...
⠋ Uploading   ████████████████████████████████████ 1.2/1.2 MB  850.3 kB/s

╭──────────── Ready to share ────────────╮
│                                        │
│  https://gofile.io/d/AbCd123           │
│                                        │
╰──────── Link copied! ─────────────────╯

(Files are automatically deleted after a period of inactivity.)

Options

Flag Short Description Default
--name -n Custom archive name (without .zip) shrip_archive
--copy -c Copy the download link to clipboard off
--open -o Open the download link in your browser off
--fast -f Skip compression (faster for pre-compressed files) off
--zone -z Upload region: eu (Europe) or na (North America) auto
--version -v Show version and exit
--help Show usage help

How It Works

  1. Validates that all provided paths exist.
  2. Compresses everything into a temporary .zip archive — directories are walked recursively, preserving folder structure. Already-compressed formats (.iso, .mp4, .zip, .jpg, etc.) are stored without compression to save time.
  3. Uploads the archive to gofile.io (anonymous, no account needed, no file size limit). Supports streaming upload for large files with minimal memory usage.
  4. Prints the download URL (and copies/opens it if requested).
  5. Deletes the temporary zip file automatically — even if the upload fails or you hit Ctrl+C.

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

shrip-0.1.6.tar.gz (19.4 kB view details)

Uploaded Source

Built Distribution

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

shrip-0.1.6-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file shrip-0.1.6.tar.gz.

File metadata

  • Download URL: shrip-0.1.6.tar.gz
  • Upload date:
  • Size: 19.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for shrip-0.1.6.tar.gz
Algorithm Hash digest
SHA256 716d67f3513af472a338a77149d461144797b13546b614d6a9bfd8b330576eb6
MD5 92e4354fd52977e1e6ee8f4eeb27b5c5
BLAKE2b-256 1032afb0be43642a8d8f3a39b53c7a998dc0b71906427e6f68254053d1ebb2d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for shrip-0.1.6.tar.gz:

Publisher: publish.yml on nbfrodri/shrip

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shrip-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: shrip-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 13.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for shrip-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 09b1f3c7723aaa84b5fa353cb1fa3d4169652725557e4e048975abeaac258f0f
MD5 2e37b3275710db9403765d23d12ddd70
BLAKE2b-256 3da5e14d70aafa4b0eeaba3ee30f509fdc6aea759328c1a71f50af5cf185688f

See more details on using hashes here.

Provenance

The following attestation bundles were made for shrip-0.1.6-py3-none-any.whl:

Publisher: publish.yml on nbfrodri/shrip

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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