Hacker News new | ask | show | jobs
by tallytarik 410 days ago
This is an interesting point and in my view, there is no clear answer here.

Here's an example: https://ipinfo.io/172.224.238.32

This IP is actually in Ontario, which you can easily verify with a ping measurement. But it is announced as being in Calgary by Apple's iCloud Relay geofeed (https://mask-api.icloud.com/egress-ip-ranges.csv).

Why? Because the intent of iCloud Relay is to obscure a user's IP address while still providing a roughly accurate location, specifically so that geolocation-based services still work as expected. For that to work, they need to provide 'fake data' in this geofeed so that they have pools of addresses covering thousands of cities around the world, AND they need geolocation providers to accept this.

ipinfo accepts this, even though it's wrong. So do we. After all, geofeeds were supposed to provide a public geolocation database, the idea being that the network operator should be trusted to have the best information. We could provide the 'real' location, but if 9 providers say an IP address is in X and 1 provider says it's in Y, and Y is correct, you may just be frustrating end users of the network.

But where is the line? I'm not sure, and it's hard to say who has the balance right here.

We try to mitigate this by providing extra data like whether the address is a hosting or relay provider - for free, unlike others :) Some future addition could be to provide additional accuracy or source information, or even a 'reported' vs 'measured' location.

We're working through this and hope to get to the right answer over time. Thanks for raising this. :)