Skip to main content

A Flask-based command line file sharing application.

Project description

Dropit – Local HTTPS file drop

Dropit is a small Flask app that lets you share files with other devices on the same network. It runs a local HTTPS server with a drag-and-drop UI for uploading, downloading, and deleting files.

Install

pip install dropit

Python ≥ 3.6 is supported.

Commands and flags

dropit [--password <password>] [--geturl] [--getqr] [--maxsize <GB>] [--version]
  • --password <password>: enable Basic Auth with username admin.
  • --geturl: print the server URL in color to the terminal.
  • --getqr: render the URL as an ASCII QR code in the terminal.
  • --maxsize <GB>: maximum upload size in gigabytes (default: 2).
  • --version: print the installed Dropit version and exit.

Examples:

# start server and print URL
dropit --geturl

# start server and show an ASCII QR
dropit --getqr

# require a password (user: admin)
dropit --password "mypassword"

# allow larger uploads (10 GB)
dropit --maxsize 10

# just show the installed version
dropit --version

Quick start

dropit --geturl

Then, from another device on the same network, open the URL shown (e.g., https://<your-ip>:5001). Because the certificate is self-signed, your browser will show a warning; proceed/accept for your local session.

What you get

  • Local HTTPS server on port 5001 (self-signed cert generated on the fly).
  • Drag-and-drop upload UI with file list (type/size) plus download/delete actions.
  • Optional Basic Auth: set a password and use the fixed username admin.
  • Handy discovery: print the URL (--geturl) and an ASCII QR code (--getqr).
  • Upload size limit configurable via --maxsize (default 2 GB).
  • Files are stored under your home directory in sharex ($HOME/sharex on Linux/macOS, %USERPROFILE%\\sharex on Windows). The exact resolved path is printed on startup.

Using the web UI

  • Upload: drag files into the drop zone or click to choose files, then hit Upload Files.
  • Download/Delete: use the action chips next to each file in the list.
  • Storage: uploaded files are saved to sharex under your home directory ($HOME/sharex on Linux/macOS, %USERPROFILE%\\sharex on Windows).

Authentication

  • Default: open access.
  • To require a password: start with --password mysecret. Sign in as admin with that password. Basic Auth is only enforced when a password is provided.

Troubleshooting

  • Browser warning about HTTPS: the app uses an ad-hoc self-signed cert; choose “proceed” for your local session.
  • Can’t reach the URL: ensure devices are on the same network and that port 5001 is allowed through firewalls.
  • Upload fails due to size: increase --maxsize to the number of gigabytes you need.

Contributing

Issues and pull requests are welcome. For significant changes, please open an issue first to discuss what you’d like to adjust.

Contribution flow

  • Branch from master (e.g., feature/... or fix/...).
  • Make your change. If it affects behavior, note how to verify in the PR.
  • Quick local checks:
    • Create/activate a virtual env to avoid polluting your global Python: python3 -m venv .venv && source .venv/bin/activate (on Windows: python -m venv .venv then .venv\Scripts\activate)
    • pip install . (ensure dependencies and console entry work)
    • dropit --version (standalone; prints the version and exits)
    • dropit --geturl or dropit --getqr (separate run; starts the server and prints URL or QR, shows the resolved storage path)
  • Push your branch and open a PR against master with a short description and verification steps.
  • Releases: bump dropit/__version__, tag vX.Y.Z, and push the tag to trigger the publish workflow.
  • For larger contributions: discuss design/approach in an issue first, keep PRs focused, and add tests/docs alongside code changes so reviewers can validate quickly.

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

dropit-0.1.15.tar.gz (15.9 kB view details)

Uploaded Source

Built Distribution

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

dropit-0.1.15-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

File details

Details for the file dropit-0.1.15.tar.gz.

File metadata

  • Download URL: dropit-0.1.15.tar.gz
  • Upload date:
  • Size: 15.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dropit-0.1.15.tar.gz
Algorithm Hash digest
SHA256 9ebea9dccd60d51c666e3c439ce647cc06528d441cd3b8a670f8dbc11180a5b3
MD5 bdc41e2ce092cb588c69b2bc774c1433
BLAKE2b-256 1923a51008c10c0525b516504dfa3df5c89d71cd67f571926c94adfc987329c3

See more details on using hashes here.

File details

Details for the file dropit-0.1.15-py3-none-any.whl.

File metadata

  • Download URL: dropit-0.1.15-py3-none-any.whl
  • Upload date:
  • Size: 14.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dropit-0.1.15-py3-none-any.whl
Algorithm Hash digest
SHA256 9e8a0e4319128de250f54a8e6c3c60c15c2f05b87ed818e3f6918e6182214ea7
MD5 3cb1c396930d24d38ce0ac4cba1c5bf8
BLAKE2b-256 1949439eec03be93ac56afc5f67043727bb995325461a8bee168dcac28c78df8

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