Skip to content

wybiral/hookah

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hookah

A cross-platform tool for data pipelines.

GoDoc

Download options

Build instructions

go get

go get github.com/wybiral/hookah/cmd/hookah

go build

go build github.com/wybiral/hookah/cmd/hookah

Usage instructions (CLI)

The hookah command allows you to pipe data between various sources/destinations. By default pipes are full duplex but can be limited to input/output-only mode.

For details run hookah -h

Examples

Pipe from stdin/stdout to a new TCP listener on port 8080:

hookah stdio tcp-listen://localhost:8080

Note: this is the same even if you ommit the stdio part because hookah will assume stdio is indended when only one node (tcp-listen in this case) is used.

Pipe from a TCP client on port 8080 to a new WebSocket listener on port 8081:

hookah tcp://localhost:8080 ws-listen://localhost:8081

Pipe from a new Unix domain socket listener to a TCP client on port 8080:

hookah unix-listen://path/to/sock tcp://localhost:8080

Pipe only the input from a TCP client to the output of another TCP client:

hookah -i tcp://:8080 -o tcp://:8081

Fan-out the input from a TCP listener to the output of multiple TCP clients:

hookah -i tcp-listen://:8080 -o tcp://:8081 -o tcp://:8082 -o tcp://:8083

Usage instructions (Go package)

See godoc page.