Support geoip service
The desktop client supports contacting the geoip service that the providers run, in order to best find the gateway that is closest, instead of depending on the timezone. If it cannot be contacted, it falls back to the original mechanism for picking a gateway. This is an important way of picking gateways, because without this if you are on an android device, you will often pick gateways that are very far away from you, because they are in the same vertical timezone. For example, there is approximately 3,000 km difference between Montreal and Miami, yet they share the same time zone. If you are in Montreal, you often are connected to the Miami gateway, and your ping time will multiply by more than 10x, making the connection very noticeably slow.
It provides the remote ip (via X-Forwarded-For header, if present), country code, city, and geographical coordinates. Information is provided in plain text format, under /, and in json, under /json.
Here is an example json output
You can also see a textual representation