Local clipboard-envelope file transfer helper
Project description
FileClip
FileClip is a small local web app for moving one file through text clipboard synchronization. It packages a dropped file into a self-contained FILECLIP/1 text envelope, copies that envelope to the local clipboard, and can later hydrate a compatible envelope back into a downloadable file.
FileClip does not sync clipboards, upload files, or store file contents on disk. It assumes another system already syncs clipboard text between the environments you care about.
Install
For CLI use:
uv tool install fileclip
Or with pipx:
pipx install fileclip
Run
fileclip
By default the server binds to 127.0.0.1, chooses an available port, and opens the browser.
Useful options:
fileclip --port 8080
fileclip --no-open
fileclip --passphrase-prompt
Plain Mode
Without a passphrase, FileClip creates plain base64 clipboard envelopes. This is convenient for trusted local clipboard-sync paths, but the file bytes are visible to anything that can read the clipboard envelope.
Passphrase Mode
With --passphrase or --passphrase-prompt, FileClip encrypts file bytes in the browser with PBKDF2/SHA-256 and AES-GCM before building the clipboard envelope.
--passphrase-prompt avoids putting the passphrase in shell history or the process list. The browser still receives the passphrase through local launch configuration so it can encrypt and decrypt files. Passphrase mode is a practical guardrail, not a high-assurance security boundary.
Encrypted mode protects payload bytes but does not hide envelope metadata such as filename, MIME type, file size, or SHA-256 hash.
Limits
FileClip has no artificial file-size limit, but browsers, clipboards, clipboard managers, and external clipboard-sync channels do. Large payloads may fail to copy, paste, or sync.
Only schema 1 envelopes are supported. FileClip intentionally rejects unknown schema versions and mode mismatches.
Development
uv sync
uv run pytest
uv run fileclip --no-open
License
FileClip is distributed under the MIT License.
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 fileclip-0.1.0.tar.gz.
File metadata
- Download URL: fileclip-0.1.0.tar.gz
- Upload date:
- Size: 15.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.23 {"installer":{"name":"uv","version":"0.11.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c7736c786010f1c27ee6e340a5a1af3597da88ab064e33def33ca1d1155328b6
|
|
| MD5 |
25e7f8811a80ff820ed316544382ba06
|
|
| BLAKE2b-256 |
623979686d62594b97c4f7fb5ce613553ecf723a6a25577440b4732645427ccd
|
File details
Details for the file fileclip-0.1.0-py3-none-any.whl.
File metadata
- Download URL: fileclip-0.1.0-py3-none-any.whl
- Upload date:
- Size: 17.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.23 {"installer":{"name":"uv","version":"0.11.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a39eb7165a9b2e1cd5dfac9f09bd28010db0482d55cbf2ba0dbaeb41fa00548a
|
|
| MD5 |
18160c1a40cb154583bbc63c133409c7
|
|
| BLAKE2b-256 |
17b9f690470791a2b696ef36bc831a7024c61df92f030f38d012616feb5bb63c
|