Name | clipipe JSON |
Version |
0.1.1
JSON |
| download |
home_page | None |
Summary | Send and receive data using human-readable codes |
upload_time | 2025-08-16 22:35:37 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.10 |
license | None |
keywords |
bash
pipe
utilities
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# 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 on the server 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:
```bash
pipx install clipipe
```
Or use `uv`:
```bash
uvx install clipipe
```
## User Guide
### Sending Data
Pipe any data to the server and receive a retrieval code:
```bash
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:
```bash
clipipe receive bafilo42
clipipe receive bafilo42 > output.txt
clipipe receive bafilo42 | tar xz
```
### Checking Server Status
Check if the server is online:
```bash
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:
```bash
export CLIPIPE_SERVER="https://your-clipipe-server.com"
clipipe send < file.txt
```
Or:
```bash
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
Raw data
{
"_id": null,
"home_page": null,
"name": "clipipe",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "bash, pipe, utilities",
"author": null,
"author_email": "Amir Karimi <me@amirkarimi.dev>",
"download_url": "https://files.pythonhosted.org/packages/6a/54/e1aab36b613aee158b29ed8439bc6c945e99717d8e6254a060e11910dc30/clipipe-0.1.1.tar.gz",
"platform": null,
"description": "# Clipipe\n\nPronunciation: _Clip + Pipe_\n\n`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.\n\n## How Does It Work?\n\n`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 on the server 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).\n\n## Installation\n\nYou can install the CLI tool from PyPI:\n\n```bash\npipx install clipipe\n```\n\nOr use `uv`:\n\n```bash\nuvx install clipipe\n```\n\n## User Guide\n\n### Sending Data\n\nPipe any data to the server and receive a retrieval code:\n\n```bash\necho \"Hello World\" | clipipe send\ncat file.txt | clipipe send\ntar cz file.txt | clipipe send\nclipipe send < data.json\n```\n\nThe server will respond with a code, for example: `bafilo42`. You can share this code with anyone who needs to retrieve the data.\n\n### Retrieving Data\n\nUse the code to fetch the data from the server:\n\n```bash\nclipipe receive bafilo42\nclipipe receive bafilo42 > output.txt\nclipipe receive bafilo42 | tar xz\n```\n\n### Checking Server Status\n\nCheck if the server is online:\n\n```bash\nclipipe status\n```\n\n### Custom Server\n\nBy default, `clipipe` connects to `https://clipipe.io`. To use a different server, set the `CLIPIPE_SERVER` environment variable or use the `--server` option:\n\n```bash\nexport CLIPIPE_SERVER=\"https://your-clipipe-server.com\"\nclipipe send < file.txt\n```\n\nOr:\n\n```bash\nclipipe --server https://your-clipipe-server.com receive bafilo42\n```\n\n## Features\n\n- Simple, human-readable codes for data retrieval.\n- Works behind NAT and firewalls.\n- Designed for shell pipelines to work with other tools.\n- Open source server and client.\n- Data stored temporarily with automatic expiration.\n\n## Roadmap\n\n- [ ] Built-in end-to-end encryption.\n- [ ] Add HTTP streaming.\n- [ ] Peer-to-peer support via WebRTC.\n\n## License\n\nMIT\n",
"bugtrack_url": null,
"license": null,
"summary": "Send and receive data using human-readable codes",
"version": "0.1.1",
"project_urls": {
"Homepage": "https://clipipe.io",
"Issues": "https://github.com/amirkarimi/clipipe/issues"
},
"split_keywords": [
"bash",
" pipe",
" utilities"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "4b552fe72ef5f997418b72b152bab800aca259e72ab6665a15eef8d1c9f37e3b",
"md5": "409314c3293806c1155a07093f0a966b",
"sha256": "4bfc64b30cd3fbc144da8bdc3799124543be3aad86792e85ddcd393c2b6c7ee3"
},
"downloads": -1,
"filename": "clipipe-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "409314c3293806c1155a07093f0a966b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 3666,
"upload_time": "2025-08-16T22:35:36",
"upload_time_iso_8601": "2025-08-16T22:35:36.010616Z",
"url": "https://files.pythonhosted.org/packages/4b/55/2fe72ef5f997418b72b152bab800aca259e72ab6665a15eef8d1c9f37e3b/clipipe-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6a54e1aab36b613aee158b29ed8439bc6c945e99717d8e6254a060e11910dc30",
"md5": "568435f0d5a117472d684e585d6163fa",
"sha256": "471bcdee61ca0642e8e45555bc7b8b20160becfce48d80fc9a00dea8038d5ee2"
},
"downloads": -1,
"filename": "clipipe-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "568435f0d5a117472d684e585d6163fa",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 11342,
"upload_time": "2025-08-16T22:35:37",
"upload_time_iso_8601": "2025-08-16T22:35:37.252926Z",
"url": "https://files.pythonhosted.org/packages/6a/54/e1aab36b613aee158b29ed8439bc6c945e99717d8e6254a060e11910dc30/clipipe-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-16 22:35:37",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "amirkarimi",
"github_project": "clipipe",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "clipipe"
}