rgeoip is a module that uses a redis database for geo ip lookups
the redis database is loaded with data from geonames for geo decode and ip2location for ip lookup
$ npm install https://github.com/muzooka/rgeoip
clientAn existing redis client object you normally get fromredis.createClient()hostRedis server hostnameportRedis server portnottlRedis session TTL in secondsdbDatabase index to usepassPassword for Redis authenticationurlString that contains connection information in a single url (redis://user:pass@host:port/db)- ... Remaining options passed to the redis
createClient()method.
$ mocha
var geoip = require('rgeoip')({host:'localhost', port:6379})
geoip.lookup_ip('127.0.0.1', function(err, geodata) {
console.log(geodata)
})
geoip.autocomplete('127.0.0.1', 'Calgar', function(err, data) {
console.log(data);
}
geoip.list_countries(function(err, countries) {
console.log(countries)
}
geoip.list_states('United States', function(err, data){
console.log(data)
})
geoip.geodecode(49,49,function(err,data) {
console.log(data)
})
...