
Security News
vlt Launches "reproduce": A New Tool Challenging the Limits of Package Provenance
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
geoip-lite-country
Advanced tools
Stripped down version of geoip-lite, supporting only country lookup.
Stripped down node-geoip-lite. Only supports country lookup and IPv4.
Software is written by Philip Tellis philip@bluesmoon.info, latest version is available at https://github.com/bluesmoon/node-geoip
var geoip = require('geoip-lite');
var ip = "207.97.227.239";
var geo = geoip.lookup(ip);
console.log(geo);
{ range: [ 3479299040, 3479299071 ],
country: 'US',
region: '' }
$ npm install geoip-lite-country
Then download the city data files from https://github.com/bluesmoon/node-geoip/tree/master/data
You need to get geoip-city.dat
and geoip-city-names.dat
and put them into the data/
directory
of this package.
If you have an IP address in dotted quad notation, IPv6 colon notation, or a 32 bit unsigned integer (treated
as an IPv4 address), pass it to the lookup
method. Note that you should remove any [
and ]
around an
IPv6 address before passing it to this method.
var geo = geoip.lookup(ip);
If the IP address was found, the lookup
method returns an object with the following structure:
{
range: [ <low bound of IP block>, <high bound of IP block> ],
country: 'XX', // 2 letter ISO-3166-1 country code
}
The actual values for the range
array should be considered internal to geoip-lite
.
To get a human readable format, pass them to geoip.pretty()
If the IP address was not found, the lookup
returns null
If you have a 32 bit unsigned integer, or a number returned as part of the range
array from the lookup
method,
the pretty
method can be used to turn it into a human readable string.
console.log("The IP is %s", geoip.pretty(ip));
This method returns a string if the input was in a format that geoip-lite
can recognise, else it returns the
input itself.
geoip-lite
is Copyright 2011-2012 Philip Tellis philip@bluesmoon.info and the latest version of the code is
available at https://github.com/bluesmoon/node-geoip
There are two licenses for the code and data. See the LICENSE file for details.
FAQs
Stripped down version of geoip-lite, supporting only country lookup.
The npm package geoip-lite-country receives a total of 30 weekly downloads. As such, geoip-lite-country popularity was classified as not popular.
We found that geoip-lite-country demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
Research
Security News
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
Research
The Socket Research Team discovered a malicious npm package, '@ton-wallet/create', stealing cryptocurrency wallet keys from developers and users in the TON ecosystem.