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 usernameadmin.--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/sharexon Linux/macOS,%USERPROFILE%\\sharexon 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
sharexunder your home directory ($HOME/sharexon Linux/macOS,%USERPROFILE%\\sharexon Windows).
Authentication
- Default: open access.
- To require a password: start with
--password mysecret. Sign in asadminwith 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
5001is allowed through firewalls. - Upload fails due to size: increase
--maxsizeto 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/...orfix/...). - 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 .venvthen.venv\Scripts\activate) pip install .(ensure dependencies and console entry work)dropit --version(standalone; prints the version and exits)dropit --geturlordropit --getqr(separate run; starts the server and prints URL or QR, shows the resolved storage path)
- Create/activate a virtual env to avoid polluting your global Python:
- Push your branch and open a PR against
masterwith a short description and verification steps. - Releases: bump
dropit/__version__, tagvX.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
Release history Release notifications | RSS feed
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ebea9dccd60d51c666e3c439ce647cc06528d441cd3b8a670f8dbc11180a5b3
|
|
| MD5 |
bdc41e2ce092cb588c69b2bc774c1433
|
|
| BLAKE2b-256 |
1923a51008c10c0525b516504dfa3df5c89d71cd67f571926c94adfc987329c3
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e8a0e4319128de250f54a8e6c3c60c15c2f05b87ed818e3f6918e6182214ea7
|
|
| MD5 |
3cb1c396930d24d38ce0ac4cba1c5bf8
|
|
| BLAKE2b-256 |
1949439eec03be93ac56afc5f67043727bb995325461a8bee168dcac28c78df8
|