go-libp2p-webrtc-direct
go-libp2p-webrtc-direct copied to clipboard
A libp2p transport that enables browser-to-server, and server-to-server, direct communication over WebRTC without requiring signalling servers
`go-libp2p-webrtc-direct` contains the first step towards WebRTC support in go-ipfs: a port of [js-libp2p-webrtc-direct](https://github.com/libp2p/js-libp2p-webrtc-direct) which is the simplest WebRTC transport on the JS side. The drawback of `*-libp2p-webrtc-direct` is that...
When updating go-libp2p-testing, the transport tests fail: https://github.com/libp2p/go-libp2p-webrtc-direct/blob/0a5a6f156e02ee34d3ead176542e72de5c541954/webrtcdirect_test.go#L14-L29 ``` === RUN TestTransport/github.com/libp2p/go-libp2p-testing/suites/transport.SubtestStress1Conn1Stream100Msg panic: Fail in goroutine after TestTransport/github.com/libp2p/go-libp2p-testing/suites/transport.SubtestStress1Conn1Stream1Msg has completed goroutine 533 [running]: testing.(*common).Fail(0xc000357680) /usr/local/Cellar/go/1.15.5/libexec/src/testing/testing.go:688 +0x125 testing.(*common).Error(0xc000357680, 0xc0004d0f98, 0x1, 0x1)...
The implementation of the [ConnSecurity](https://godoc.org/github.com/libp2p/go-libp2p-net#ConnSecurity) interface needs to be completed. **TODO** - [ ] Figure out how this works on the JS side. - [ ] Implement. - [ ]...
Right now the user has to provide a muxer to create streams. It may be worth investigating if we can mux using WebRTC DataChannels. Note that there are some remainders...
I'm opening this as a draft given our discussion of #17 . I don't see how the transport would work even in go libp2p, but I didn't do any testing...
Add JS equivalent of libp2p-echo example to show off compatibility.
This is a stepping stone toward implementing the generic WebRTC Signal Protocol described in https://github.com/libp2p/specs/pull/159. This PR doesn't change the behavior of the transport. It still only supports browser-server and...
We dual license our code under MIT and ASLv2 following the practices of the Permissive License Stack: https://protocol.ai/blog/announcing-the-permissive-license-stack/
Test integration with the JavaScript counterpart of this library: [libp2p/js-libp2p-webrtc-direct](https://github.com/libp2p/js-libp2p-webrtc-direct). Update: There are now integration examples under the [examples ](https://github.com/backkem/go-libp2p-webrtc-direct/tree/master/examples) directory. TODO: - [ ] Automate integration testing.