Introduction to GeoIP-Lite
The geoip-lite library for Node.js offers lightweight IP geolocation capabilities without the need for external service integration. This makes it perfect for applications requiring minimalistic and efficient IP address lookups.
Getting Started with GeoIP-Lite
npm install geoip-lite
After installation, you can begin using it as follows:
const geoip = require('geoip-lite');
// Lookup an IP address
const ip = "207.97.227.239";
const geo = geoip.lookup(ip);
console.log(geo);
API Examples
Lookup Function
Retrieve geolocation data for a specific IP address.
const geo = geoip.lookup('207.97.227.239');
console.log(geo);
// Output: { range: [ 3479294560, 3479294975 ],
// country: 'US',
// region: 'TX',
// eu: '0',
// timezone: 'America/Chicago',
// city: 'San Antonio',
// ll: [29.4969, -98.4032],
// metro: 641,
// area: 1000 }
Get Country Info
Retrieve only the country information from the geolocation data.
const country = geoip.lookup('207.97.227.239').country;
console.log(country);
// Output: 'US'
Detailed Location Info
Fetch more detailed info such as city, region, and timezone.
const details = geoip.lookup('207.97.227.239');
console.log(`City: ${details.city}, Region: ${details.region}, Timezone: ${details.timezone}`);
// Output: City: San Antonio, Region: TX, Timezone: America/Chicago
Application Example: Visitor Location Logger
Below is a simple Node.js application that logs the location of visitors based on their IP addresses.
const http = require('http');
const geoip = require('geoip-lite');
http.createServer((req, res) => {
const ip = req.connection.remoteAddress;
const geo = geoip.lookup(ip);
if (geo) {
console.log(`Visitor from ${geo.city}, ${geo.region}, ${geo.country}`);
} else {
console.log('Location not found');
}
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Your location has been logged.\n');
}).listen(3000, () => {
console.log('Server running at http://localhost:3000/');
});
Run this example using node index.js
and visit http://localhost:3000/
to see the logs for different visitor IP addresses.
Conclusion
The geoip-lite library provides a straightforward API for IP geolocation, making it an invaluable tool for various applications. From security enhancements to personalized content delivery, integrating geo-location has never been easier.
Hash: 90ca59daa79144335514c88a6fa26cea428624a8fd32a7b4d9607cd1ae743b5b