When stratum 1s are accessed via CloudFlare aliases such as openhtc.io, the IP address of all the stratum 1s gets to be identical so they are not helpful for geo sorting. Instead, when the geo api sees an http header CF-IPCountry then try to look up the real ip address of the passed-in server names by prepending "ip." to the name, before looking up the passed-in names, and sort by those. (Those ip. aliases have to be separately defined as not being cached by CloudFlare). For the client location when the name of a proxy is not included in the URL, I'm not sure if it is better to use the center of the given country or the location of the IP address of the CloudFlare server that makes the request.