This repo contains experiments to help inform the design of the Local Peer-to-Peer API proposal. Do not use any of this code yet, it not final, tested nor secure.
Check out the examples or run them on Replit:
- LP2P API
- Initial implementation & example.
- User agent PSK present & consume
- DataChannel API & examples
- WebTransport API & examples
- User agent peer listing & selection
- OSP(C)
- discovery, listen & dial
- data-channel protocol extension
- WebTransport Protocol interaction
- Over OSP connection
- Over dedicated QUIC connection
- implement actual PAKE algorithm
- Various
- Abstract LP2P API from underlying transport (to allow others like Wi-Fi Direct)
- Lots of cleanup
The lp2p
package augments a web API and favors similarity to the web API over idiomatic Go. Note that async functions are implemented as blocking. The other packages such as ospc
should be idiomatic Go.