ipip-coffee
v1.0.9
Published
Query geolocation information from IP
Downloads
9
Readme
node-ipip
A Node.js module to query geolocation information for an IP or domain, based on database by ipip.net.
Getting Started
Install the module:
npm install ipip
Database is provided by ipip.net. It will be downloaded automatically, no extra operations needed.
var ipip = require('ipip');
var ip = new ipip.IPIP();
// lookup an ip
console.log(ip.ip('202.195.161.30', 'dict'));
// domain queries must be asynchronous
ip.domain('ujs.edu.cn', 'dict', function(result) {
console.log(result);
});
Documentation
Query by IP
query(ip [, format])
ip
IP address that you want to query. e.g. 8.8.8.8
format
Format of the information, shoule be array
or dict
.
When set to dict
you'll get an object that consists of four keys: country
, province
, city
, organization
. e.g.:
{
country: '中国',
province: '江苏',
city: '镇江',
organization: '江苏大学'
}
Otherwise, it returns an array as following format: ['country', 'province', 'city', 'organization']
.
Query by domain name
domain(domain [, format], callback)
Due to dns query, this function must be asynchronous.
domain
Domain name that you want to query. e.g. google.com
format
The same as ip
.
callback
Fires when result found. Should be declared as: callback(err, result)
Promise support
Without callback
parameter you can use another favor of async programming, the Promise
. It's highly recommended.
ip.domain('google.com').then(function(result) {
// do the stuff
});
Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Use make to run unit test.
License
(C) Copyright 2015 Aveline Swan. Licensed under the MIT license. (C) Copyright 2015 ChiChou. Licensed under the MIT license.