pipepiper

Crates.iopipepiper
lib.rspipepiper
version0.1.1
sourcesrc
created_at2023-05-29 11:18:49.911452
updated_at2023-05-29 11:42:54.474082
descriptionUtility that is designed to transmit data using UNIX pipes across the internet.
homepage
repositoryhttps://github.com/Zorlin/pipepiper
max_upload_size
id877055
size51,164
(brkp)

documentation

README

pipepiper

PipePiper (ppr) is a utility written in Rust that is designed to transmit data using UNIX pipes across the internet, particularly when long distance and high latency is involved.

It uses the QUIC protocol thanks to the quinn-rs/quinn crate.

Getting started

There are no binaries available just yet (sorry), so you will need to compile PipePiper yourself.

# Clone the repo
git clone https://github.com/Zorlin/pipepiper.git
# Change directory into the Ferrous Pipe repo
cd pipepiper
# Build and install the software
cargo install --bin ppr --path .

Or install from crates.io

cargo install pipepiper

This will install a binary named ppr to Cargo's local set of installed binaries. The same binary can be found in the target/release folder.

Usage

Once installed, start the receiver:

  • ppr recv 0.0.0.0 8000 --config config.toml

and then run the sender and pipe some simple text in

  • echo "Hello world!" | ppr send 127.0.0.1 8000 --config config.toml

Use the help flag (-h or --help) to see the full set of options. For config file specification, see the example-config.toml file.

This tool is intended to be used to speed up ZFS send/receive over intercontinental distances, but can be used for anything you can use a UNIX pipe to achieve!

Commit count: 12

cargo fmt