4thel00z / pipey

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

pipey 🚰

Pipey Logo

pipey (pronounced /paɪpi/ like "pipe-ee") is a powerful utility that bridges the world of UNIX pipes and HTTP servers. With pipey, you can expose any data stream from a named pipe over HTTP, allowing for a myriad of applications, especially in creating non-blocking UIs with bash using Go binaries.

Motivation 🌟

While UNIX pipes are incredibly powerful, they're limited to inter-process communication on the same machine. What if you wanted to expose the data from a pipe to other systems or services over HTTP? That's where pipey comes into play.

Moreover, in the era of interactive CLIs and TUIs, there's a growing need to integrate traditional shell scripting with modern UI paradigms. Tools like charty allow us to create visually appealing interfaces right from the terminal. By using pipey, we can further enhance these UIs by fetching data asynchronously over HTTP, ensuring our UI remains responsive and snappy.

Imagine crafting non-blocking UIs using bash and Go binaries, where the data is sourced from various scripts or processes via pipey. The possibilities are endless!

Installation 🛠

To install pipey, use the following go install command:

go install github.com/4thel00z/pipey/...@latest

Ensure your Go bin directory (usually $HOME/go/bin) is in your PATH to access the pipey command.

Usage 🚀

pipey [PIPE_NAME] --host [HOST] --port [PORT] --timeout [SECONDS]

For more details and options, refer to the command help:

pipey --help

Contributing 🤝

Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.

License 📄

This project is licensed under the GPL-3 license.

About

License:GNU General Public License v3.0


Languages

Language:Go 100.0%