We’ve improved how we direct connections to GrapheneOS servers by using anycast to fill in missing GeoIP data. This should reduce service latency and improve download bandwidth for many users in the western US and especially with certain VPN providers.
https://github.com/GrapheneOS/ns1.grapheneos.org/commit/fd37a0c4434575a241840a9f9e51d5bffe31b498
Here’s an example of how we use anycast to send traffic to the nearest nameserver:
https://ping.pe/ns1.grapheneos.org
This shows how we respond with an IP address based on GeoIP + anycast node:
https://dig.ping.pe/grapheneos.org:A:ns1.grapheneos.org
With these examples, only 1 is off (UK server geolocated in US).
You can compare those to see that does a great job:
https://ping.pe/51.222.156.101 https://ping.pe/209.141.35.164 https://ping.pe/54.37.41.188 https://ping.pe/51.79.160.50
Note ping.pe looks up a domain name in 1 location, then pings it everywhere, so it’s misleading for a domain.
Improving update download speed is the biggest benefit. One of the network services we provide to GrapheneOS users is secure network time where low latency improves accuracy. See https://grapheneos.org/faq#default-connections, https://grapheneos.org/faq#other-connections and https://grapheneos.org/features#network-location for the other services.
The way we’ve set up our server infrastructure means that any single provider having downtime won’t take down our website, updates or network services. We can scale it up across providers instead of a specific one. It’s also extremely cost effective to save money for development.