It uses your browser location to build the data, bootstrapped with Mechanical Turk workers around the world. It has one feedback loop, where if you use the JS library it will give you the users location if they deny browser location (if we have the data...) and if they do share location, then we update the database (but throw away the last part of their IP address).
There are two or three other loops where we could build more data (which you can get here https://www.open-geo-ip.com/data/download ).
I'm probably going to do a small kickstarter to pay for some cleanup and expansion work or just kill it if that fails to get funded. Any ideas appreciated on things to do with it.
It would be helpful if the home page demonstrated the passive geolocation results. The page asked for my browser location but didn't show the result.
btw the map zooming is very slow in my mobile browser for some reason.
Seriously? Did you help build BonziBuddy, too?
Well right now a) we most likely have no idea where an ip address is and b) even if we do, it's nearest-city accuracy.... which is exactly what everyone else does.
Denying browser location doesn't stop the app or website from using your ip address against some third party service to figure out where you are.
I dealt with a ton of fraud a couple of jobs ago and being able to eliminate credit card transactions for people on Tor was huge in cutting down on charge backs from fake card use. The minFraud API was really beneficial as well.
Don't sell the offering short.
For the server seeing the incoming cc purchase requests, it's still majority fraud...
All Tor IPs specifically and publicly advertise the fact that they are an open proxy.
https://aws.amazon.com/about-aws/whats-new/2014/06/26/amazon...
Googles and maxmind features include city/lat/lng.
https://cloud.google.com/compute/docs/load-balancing/http/ba...
The load balancer expands variables to empty strings when it cannot determine their values, for example for geographic location variables when the IP address’s location is unknown, or for TLS parameters when TLS is not in use.
Geographic values (regions, subdivisions, and cities) are estimates based on the client’s IP address. From time to time, we update the data that provides these values in order to improve accuracy and to reflect geographic and political changes.
gcloud beta compute backend-services update app --custom-request-header 'X-Client-Geo-Location:{client_region},{client_region_subdivision},{client_city}' --custom-request-header 'X-Client-Geo-Region:{client_region_subdivision}' --custom-request-header 'X-Client-Geo-LatLong:{client_city_lat_long}' --custom-request-header 'X-Client-TLS-Version:{tls_version}' --custom-request-header 'X-Client-TLS-Chiper:{tls_cipher_suite}' --custom-request-header 'X-Client-Hostname:{tls_sni_hostname}' --custom-request-header 'X-Client-RTT:{client_rtt_msec}'
If this is easy doable then that would be an easy migration route.
Code at https://github.com/runway7/blip
[1] https://support.cloudflare.com/hc/en-us/articles/200168236-W...
Also MaxMind does have completely free databases down to the city level, just with lower accuracy compared to their paid products: https://dev.maxmind.com/geoip/geoip2/geolite2/
Finally, the free version of MaxMind is great. Thanks for mentioning it.
One feature that must be mentioned is that it allows you to cache content (could be anything: HTML, JPEG and more) for as little as 1 second! CloudFlare requires an enterprise plan and even then you cannot set a TTL lower than 30 seconds.