Skip to content
forked from renproject/aw

A flexible P2P networking library for upgradable distributed systems.

License

Notifications You must be signed in to change notification settings

rahulghangas/aw

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌪 airwave

GoDoc Go Report Coverage Status License: MIT

A flexible P2P networking library for upgradable distributed systems. The core mission of airwave is to provide a simple P2P interface that can support a wide variety of different algorithms, with a focus on backwards compatible. The P2P interface supports:

  • Peer discovery
  • Handshake
  • Casting (send to one)
  • Multicasting (send to many)
  • Broadcasting (send to everyone)

Handshake

Airwave uses a 3 way sync handshake method to authorize peers in the network. The process is as follows:

The client sends a signed rsa public key on connect. The server validates the signature, generates a random challenge, and sends the signed random challenge encrypted with the client's public key; and the server's public key. The client validates the server's signature decrypts the challenge encrypts it with the server's publickey, signs it and sends it back.

Built with ❤ by Ren.

About

A flexible P2P networking library for upgradable distributed systems.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 100.0%