libp2p / universal-connectivity

Realtime decentralised chat with libp2p showing ubiquitous peer-to-peer connectivity between multiple programming languages (Go, Rust, TypeScript) and runtimes (Web, native binary) using QUIC, WebRTC and WebTransport
https://universal-connectivity.vercel.app
Other
74 stars 31 forks source link

Browser to browser connectivity not established with IPv6 #64

Open p-shahi opened 1 year ago

p-shahi commented 1 year ago

When using IPv6 addresses by default, I that observe two browser nodes A and B are both able to establish a webrtc-direct connection to the relay node but neither a relayed connection nor a subsequent webrtc connection to one another. This functionality works when using IPv4 with no other changes.

mxinden commented 1 year ago

@p-shahi can you share more information? Can you provide any logs? Has the relay discovered its IPv6 address?

DougAnderson444 commented 1 year ago

I took the browser-to-browser example here (https://github.com/libp2p/js-libp2p-webrtc/tree/main/examples/browser-to-browser) and swapped out the js server for the rust-libp2p server to successfully run the example over IPv6.

When I tried to take the same steps as the example in this repo code, it doesn't connect.

I don't know enough about relay-circuit connection on the JavaScript side to troubleshoot this, but that is where the Browser to browser bug is narrowed down to.

I'd be interested in seeing what the steps were to reproduce a working brow-to-brow universal-conn so I can compare against what I am doing

2color commented 1 month ago

I got ipv6 working in the go-peer in #148

My office doesn't support ipv6, so I'll have to test the browser-to-browser flow connection establishment with ipv6 at home.

@p-shahi Can you try this again and share the log from the console?