Skip to content

distributed-mind/wshs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Secret Handshake for Websockets


The primary goal of this project is to create a new implementation of the Secure Scuttlebutt Secret Handshake in golang over websocket transport.

Secret Handshake Diagram

This project has some other goals:

  • favors readability/understandability over cleverness
  • favors usability/stability over speed
  • work over websockets
  • easily change the network key

Demo

You can run the demo like so:

$ cd examples/demo
$ ./server.sh &
[1] 24494
Running server...
$ ./client.sh 
Running client...
2020/01/21 00:56:29 Handshake Success: server
2020/01/21 00:56:29 Handshake Success: client
$ fg
./server.sh
$ ^C

Authors Note

This project was started in an effort to learn golang. The code in this project is heavily influenced by the secret handshake ssb protocol guide. I also thought it would be nice to somehow "plug-in" the secret handshake into current or future websocket-based projects. And here it is... I wrote it in such a way to help myself learn some golang, and help myself learn about ssb. Being more of a research project, i would expect bugs and awful code everywhere. Please submit a pull request or an issue if you find anything.

Inspired By:

Releases

No releases published

Packages

No packages published

Languages