@kxpvcr/ip-to-country

Downloads a database of country-specific IP ranges. Queries the database on a single IP or array of IPs to find their country information.

This package has been deprecated
Last updated 2 years ago by kxpvcr .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @kxpvcr/ip-to-country 
SYNC missed versions from official npm registry.

IP to Country

NPM

IP to Country is a module for detecting country information of IP addresses without any API call.

Installation

npm install iptocountry

Usage

REST API

npm start

# See http://localhost:12080/search?ip=74.125.225.71
# See http://localhost:12080/search?ip=74.125.225.71,98.138.253.109

Download IP database

var ip2co = require('iptocountry');

if(ip2co.dbCSVCheckExp(48)) {
  ip2co.dbGet().then(function() {
    console.log('done!');
  }, function(err) {
    console.log(err);
  });
}
// done!

Search IP addresses

var ip2co = require('iptocountry');

var ipSearch = ip2co.ipSearch(['74.125.225.71', '98.138.253.109']);
if(!ipSearch.error) {
  console.log(JSON.stringify(ipSearch, null, 2));
} else {
  console.log(ipSearch.error);
};

/*
{
  "data": {
    "74.125.225.71": {
      "ip": "74.125.225.71",
      "ipNum": 1249763655,
      "registery": "arin",
      "assigned": "1173744000",
      "coCode2": "US",
      "coCode3": "USA",
      "country": "United States",
      "time": "2007-03-13 00:00:00",
      "found": true
    },
    "98.138.253.109": {
      "ip": "98.138.253.109",
      "ipNum": 1653276013,
      "registery": "arin",
      "assigned": "1196985600",
      "coCode2": "US",
      "coCode3": "USA",
      "country": "United States",
      "time": "2007-12-07 00:00:00",
      "found": true
    }
  },
  "warnings": [],
  "timeE": 51
}
*/

Listen HTTP requests

var ip2co = require('iptocountry');

ip2co.dbLoad();
ip2co.listenHTTP({hostname: 'localhost', 'port': 12080});

// See http://localhost:12080/search?ip=74.125.225.71

For performance test; ab -n 1000 http://localhost:12080/search?ip=74.125.225.71

Notes

  • It uses Webnet77 for IP database file. It represents the over 4 billion IPV4 numbers as well as the virtually inexhaustible IPV6 range (3.4e+38). There is limit for downloads, for more information see FAQ

Implementations

  • [x] IPv4
  • [ ] IPv6

License

Licensed under The MIT License (MIT) For the full copyright and license information, please view the LICENSE.txt file.

Current Tags

  • 1.0.3                                ...           latest (2 years ago)

3 Versions

  • 1.0.3 [deprecated]           ...           2 years ago
  • 1.0.2 [deprecated]           ...           2 years ago
  • 1.0.0 [deprecated]           ...           2 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 3
Last Month 5
Dependencies (1)
Dev Dependencies (5)
Dependents (0)
None

Copyright 2014 - 2017 © taobao.org |