A unix pipe between computers
$ curl -sL https://www.dumbpipe.dev/install.sh | sh
get dumbpipe with a single command on two computers, connect them & pipe data from one machine to the other. No accounts. No configuration.
Receiver
$ ./dumbpipe listen
using secret key 23ryys7pgvjrr57pcrvyivdrhvqyykg2tv3leou5grm66xfd7zzq
Listening. To connect, use:
./dumbpipe connect nodeecsxraxjtqtneathgplh6d5nb2rsnxpfulmkec2rvhwv3hh6m4rdgaibamaeqwjaegplgayaycueiom6wmbqcjqaibavg5hiaaaaaaaaaaabaau7wmbq
Sender
echo "hello" | ./dumbpipe connect nodeecsxraxjtqtneathgplh6d5nb2rsnxpfulmkec2rvhwv3hh6m4rdgaibamaeqwjaegplgayaycueiom6wmbqcjqaibavg5hiaaaaaaaaaaabaau7wmbq
This will work, regardless of where the two machines are. Dumb pipe finds a way.
Put a dumb pipe in your app
Dumb pipes are Iroh Connections. The dumbpipe tool is a 200-line wrapper around the iroh-net rust crate. You can use the iroh connection layer as a dumb pipe in your own app.
Sometimes you gotta relay
For somewhere around 10-20% of connections, it's simply not possible to connect two devices directly. For those cases, we use a meshed network of relay nodes to pack up UDP traffic & send it over HTTP. Sounds silly, but it works. And the magic socket handles all this under the hood.
Coming soon: Premium relays
The team behind number0 runs the default relay network, which has a capped bandwidth. High-throughput, authenticated relays are coming to iroh.network in the future.
Need more?
Need pubsub? Data transfer? Sync? All of these are opt-in addons from iroh. But if you add these things, the pipe is no longer dumb. You decide how to feel about that.