-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add IPv6 connectivity to Signal server #2709
Comments
It is even worse: Signal Desktop does not work in ipv6only environments with NAT64. This has to be fixed. |
I am just attending the RIPE78 meeting and could test in an IPv6-only environment with NAT64: A tcpdump reveals connections to 34.196.194.172, which was the first match to textsecure-service.whispersystems.org at that time, on the clat interface. This is what probably happens: Although the Sourcecode only mentions textsecure-service.whispersystems.org, the actual socket is opened to the first IPv4 Address of This means: Please fix this. It breaks anything else than IPv4-only networking. |
I am attending the RIPE78 meeting, too. Same issue here. |
Just to warm this Feature Request up: Here in Germany (and probably some other countries) some major ISPs only provide DS-Lite (Native v6, tunneled+nated v4) connectivity to their customers. This means all IPv4 traffic has to be relayed through a Gateway which adds some Latency. Usually the impact isn't too big but Google's statistics show that often v6 connections benefit from lower latency. Both Googles and Facebook's stats show worldwide v6 adoption is at roughly 30%. In some Countries it is as high as 60%. It looks like the textsecure-service endpoint is hosted on AWS EC2. Even though v6 configuration requires some effort it should be possible by now to run a v6 capable service including load balancing. |
Yes, please enable IPv6 on the textsecure endpoint and also add AAAA records to the DNS, please! |
It looks like the nodejs issue that @mdavids referred to above is closed. The trail there is:
So, there may be hope? |
Yes, there MAY be hope. Looks like the commit is already part of NodeJS v16.10, released yesterday. As soon as Electron/Signal updates to this release, it should put IPv6 first, as long as devs of Electron/Signal don't override the new default setting. However, it looks like Signal Desktop is still on NodeJS v14.x, so this will probably take some time. |
Just saw this issue linked on the issue I made. Correct ordering of of IP addresses is good, but there are situations where networks can hand out IPv6 addresses, even when IPv6 connectivity support is dropped. The solution is happy eyeballs. I've implemented the algorithm for my company in a node-compatible way. It is open source, so if anyone wants to take it and adapt it for their needs, please feel free: |
This is a bug. Signal desktop uses a version of a dependency (nodejs) that had implemented incorrect behaviour that resulted in broken connectivity on the current Internet Protocol. That bug has been addressed in the dependency, but Signal is still currently using the broken version of the dependency. This can be fixed by moving to the fixed version of the nodejs dependency, without needing to implement any new features in Signal Desktop or in adding any new infrastructure or service network configuration. If this problem is added into a new issue filed as a bug report following repo issue templates, would it then be considered a proper bug to be addressed? |
This issue originally was about adding IPv6 connectivity to the servers so that clients could connect even without DNS64 / NAT64. It seems legit to consider this a feature request (an important one nonetheless). #4121 is about the nodejs issue. It's labeled as a bug and is still open. |
Gotcha, thanks. I wasn't aware of the status of . #4121. I'll sub there, thx. |
The long-term solution is to deploy IPv6 connectivity for all signal services.
To avoid issues (with wrongly configured networks etc.) you should implement Happy Eyeballs on every client if possible. IPv6 support for public-facing servers:
|
And some public staging servers:
Maybe you can start with them to catch problems early. |
As described in #2327 the servers reachable with the fqdn
textsecure-service.whispersystems.org
only have A records so they are not available from IPv6 only networks.As #2327 got closed I'd like to fill this as a request for enhancement to make these server available via IPv6.
Thanks
The text was updated successfully, but these errors were encountered: