Mad science p2p pipe across the web using webrtc that uses your Github private/public key for authentication and a signalhub for discovery
We also want to support other key hosts beyond Github. If you have suggestions or want to help implement this check out this issue.
npm install -g webcat
If you have trouble getting it to compile try following the wrtc install instructions
webcat lets you establish a p2p pipe to other github users over the web. Let's say I wanted to connect to @maxogden
First I need to configure webcat once
webcat --configure Enter your github username: mafintosh
Then on my machine I run
webcat maxogden hello max
On Max's machine he runs
webcat mafintosh hi mathias
webcat will create a p2p pipe between connect me and max by using a signalhub to exchange webrtc metadata and Github private/public keys to authenticate that Max is actually @maxogden and that I am actually @mafintosh
On my machine my prompt now looks like
webcat maxogden hello max hi mathias
And on Max's machine it now looks like
webcat mafintosh hi mathias hello max
webcat works the following way
warning. we invented the first 6 parts of this scheme. it has not been properly peer reviewed so use at your own risk :)
we use the following crypto dependencies:
You can use webcat to pipe files across the internet!
On my machine
webcat maxogden < some-file
On Max's machine
webcat mafintosh > some-file
Assuming you have your github key on two different machines you can also open and pipe between them by using the same username.
On one machine connected to the internet that has your Github key
echo machine one | webcat mafintosh
On another machine connected to the internet that has your Github key
echo machine two | webcat mafintosh
You can use webcat from node as well.
var webcat = require('webcat') var stream = webcat('mafintosh') // put in the name of the person you want to talk to process.stdin.pipe(stream).pipe(process.stdout)