bluesky-social / pds

Bluesky PDS (Personal Data Server) container image, compose file, and documentation
Other
1.48k stars 134 forks source link

Enabling IPv6 support by default, as well as on bsky.social since it's the most popular instance #80

Open UmbreonShapeshifter opened 3 months ago

UmbreonShapeshifter commented 3 months ago

I believe that it's quite useful overall for simplifying overall networks hosting a PDS or at least reducing bottlenecks caused by translation methods (which while they will be needed for IPv4 only users, allows for less bandwidth usage, and load depending on the network configuration) when all a instance needs to do is request it's own IPv6 Address which can be separated from other things that maybe hosted (instead of everything sharing one IP address).

IPv6-Only cloud VMs are often provided with a heavy discount compared to their IPv4 counterparts making the barrier for entry cheaper, and removes the need or at least reduces virtual hosts or NAT gateways costs. It should improve consistent connectivity with IPv6 connected clients, particularly phones or some ISPs which have begun going IPv6-Only and are often reliant on 464XLAT/DNS64+NAT64.

Plus it prevents the further exhaustion of IPv4 addresses created by people opening VMs to host it.

crowlsyong commented 1 week ago

Yep, I was just about to set up a server and saw that I needed an IPv4 address and noped right out. I would love to see the world- or at least blue sky- start using IPv6 in production.

thowe commented 1 week ago

Lack of IPv6 support shows lack of maturity. Hoping to give this a try once support is added.

buraglio commented 1 week ago

Full agreement here, and another request for some IPv6 support. All of the above points are relevant and true. the mobile apps are already required to support it, adding IPv6 on the server side would certainly ease the burden on all of the NAT64 PLAT that is required to translate to legacy IP in the path from the end device to the service.

Leseratte10 commented 1 week ago

Plus, all their providers should already support it. Part of it is hosted in Amazon's EC2 (which supports IPv6), part of it is on some VPS hoster that also supports IPv6, and part of it is on BunnyCDN which also supports IPv6. It just needs to be enabled.

Also, it looks like the cardyb server / service that generates card previews doesn't support IPv6 even for outgoing connections. This means that if a website is only reachable over IPv6, Bluesky will fail to generate a proper link preview.

Going to https://cardyb.bsky.app/v1/extract?url=https://google.com will show the preview JSON for Google. Going to https://cardyb.bsky.app/v1/extract?url=https://ipv6.google.com instead (a well-known website only reachable over IPv6), it just returns "Unable to generate link preview".

IPv6 support is really needed. I could understand some legacy services not supporting it, but I'm always a bit surprised when a brand new service that launched after like 2015 still doesn't support IPv6.

spasaintk commented 5 days ago

Am I understanding correctly from this issue that IPv6 is not only not default enabled, it is not supported at all at the moment?

UmbreonShapeshifter commented 4 days ago

Am I understanding correctly from this issue that IPv6 is not only not default enabled, it is not supported at all at the moment?

Yeah, theoretically you could modify the docker compose image, and a few other configs and starting script so it actually uses it. But there's little point when the largest instance and the all the other smaller PDS servers don't have it enabled. Making it harder to self host.

buraglio commented 3 days ago

I don’t agree - It has to start somewhere. Just like with global IPv6 adoption, there will be a tipping point, and enabling it by default is the first step. Nearly all mobile clients will instantly use v6. the global internet is already at nearly 50% uptake and most of that has happened in the last 5-6 years. Enabling v6 solves more more long term problems than it creates.