Send and receive data using human-readable codes
Project description
Clipipe
Pronunciation: Clip + Pipe
clipipe is a command-line tool that allows you to pipe the output of one command to another machine. It works behind NAT and is designed to be used in shell pipelines, where the output of one command is passed as input to another command.
How Does It Work?
clipipe reads data from standard input (stdin) and sends it to the server (also open source) via HTTPS. The server responds with a human-readable code, which you can share with others. The server stores the data in a Redis database with an expiration time. On another machine, you can use clipipe to retrieve the data for the given code from the server and output it to standard output (stdout).
Installation
You can install the CLI tool from PyPI:
pipx install clipipe
Or use uv:
uvx install clipipe
User Guide
Sending Data
Pipe any data to the server and receive a retrieval code:
echo "Hello World" | clipipe send
cat file.txt | clipipe send
tar cz file.txt | clipipe send
clipipe send < data.json
The server will respond with a code, for example: bafilo42. You can share this code with anyone who needs to retrieve the data.
Retrieving Data
Use the code to fetch the data from the server:
clipipe receive bafilo42
clipipe receive bafilo42 > output.txt
clipipe receive bafilo42 | tar xz
Checking Server Status
Check if the server is online:
clipipe status
Custom Server
By default, clipipe connects to https://clipipe.io. To use a different server, set the CLIPIPE_SERVER environment variable or use the --server option:
export CLIPIPE_SERVER="https://your-clipipe-server.com"
clipipe send < file.txt
Or:
clipipe --server https://your-clipipe-server.com receive bafilo42
Features
- Simple, human-readable codes for data retrieval.
- Works behind NAT and firewalls.
- Designed for shell pipelines to work with other tools.
- Open source server and client.
- Data stored temporarily with automatic expiration.
Roadmap
- Built-in end-to-end encryption.
- Add HTTP streaming.
- Peer-to-peer support via WebRTC.
License
MIT
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 clipipe-0.1.0.tar.gz.
File metadata
- Download URL: clipipe-0.1.0.tar.gz
- Upload date:
- Size: 11.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64c9b71d9f363cb49f3a6de0933c52e19a390aaf65f709a21c9bd713a846ed63
|
|
| MD5 |
20c6b87dcf54359791f29e28ce4d322f
|
|
| BLAKE2b-256 |
28ef9509bdd9126c5e391208a263829732f2afff446285c86cdc304af66d2afd
|
File details
Details for the file clipipe-0.1.0-py3-none-any.whl.
File metadata
- Download URL: clipipe-0.1.0-py3-none-any.whl
- Upload date:
- Size: 3.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a3f77b142d055751daeb86a546ac120ddf0be6328515ebb7523f6f0d25f7debd
|
|
| MD5 |
53a79794dadbda1290ef9b3bd36c9584
|
|
| BLAKE2b-256 |
29d42f357d82b3a73b4c1088ee4cc8b60c7d5d3623f1373c082d5d876d878d33
|