Ok, this is what I am testing.. Dont take this as a final solution.
First: IPv6. On IPv4, you have to deal with NAT travel + firewall holepunch. With IPv6, the NAT stuff is gone. All you need is a simple STUN server to open the connection.
Second: We can use Nostr to signal people's IPv6+port to one another.
Once that is done, both sides start sendind UDP messages over IPv6 to each other. The first 2 messages should be rejected because of the firewall, but after that the door is open. We try this until we hear a package back.
Now, the beauty of Nostr is that somebody is always online. Which means other phones can behave as STUN servers to open people's firewals more easily.
The goal is to use network effects to avoid the need for central servers. Market participants can add their computers or phones to the pool by just replying the Nostr signaling requests.
It's like a STUN server as a DVM.
Lots to test, but that was the idea.
what if.. forget about STUN for a second, it isn't gonna work for most peers (esp mobile carrier networks). You could support ipv* by 'relays' running coturn and forcing the use of the turn server vs. stun would not expose IP info between the peers. Coturn has all the stun options, so if a peer was willing, they could opt in to the IP disclosure and achieve a true P2P connection.
multi hops could also be implemented, by using wireguard networks with relays being a 'hop' server.
https://github.com/coturn/coturn
Yeah that's the easy way to do it. But I think we can do it without coturn. Most of what coturn implements is for the old nat stuff. There days everyone has an IPv6. Só it should be easier.
🤔
But it is a fallback for the p2p if everything else fails.
given how popular vpns are im not sure why anyone would want to connect p2p 🐻❄️🤔
"These days everyone has an IPv6" - don't think that's the case at all. Most countries seem to be running at around 50-60% deployment, and that's only showing allocated IPv6 that doesn't mean configured and in use.
That seems different than what I have but if that is true let's hope we can help them finish the transition.
Let's hope you can. It's been in deployment for ~20 years!
Maybe you're mixing cellular and fixed line services. On cellular, the figures are likely higher but on fixed line they're also likely lower. Mobile users aren't, most the time, using a cellular connection though, they're using WiFi.
https://ipv6-test.com/stats/
I have implemented the calling service in 0xchat, but using the traditional technical solution:
Relay signaling+WebRTC+STUN+TURN.
I’m looking forward to your experimental results. :)
Which servers are you using for stun and turn?
Google’s STUN and our own built STUN/TURN service, followed by support users to input their owned services, similar to the approach of Simplex