1.0.4 • Published 5 months ago

ip-geo-get-location v1.0.4

Weekly downloads
-
License
MIT
Repository
-
Last release
5 months ago

IP Geo Location

Overview

IP Geo Location is an npm module that retrieves geographical location data for an IP address using Puppeteer.

Features

  • Retrieves geographical data of an IP address
  • Supports both IPv4 and IPv6 formats
  • Implements request queueing to handle multiple requests efficiently
  • Automatically installs necessary dependencies on Linux systems

Installation

Prerequisites

  • Ensure Node.js (>=14) and npm are installed on your system
  • On Linux, the module will attempt to install Chromium and other required packages automatically

Install the Package

npm install ip-geo-get-location

Usage

Import the Module

const { getIpGeoLocation, isValidIP } = require("@funtsu/ip-geo-location");

Fetch IP Geolocation

(async () => {
  try {
    const data = await getIpGeoLocation("8.8.8.8");
    console.log(data);
  } catch (error) {
    console.error(error.message);
  }
})();

Validate IP Format

const ip = "192.168.1.1";
console.log(isValidIP(ip)); // true or false

API Reference

getIpGeoLocation(ip: string): Promise<Object>

Retrieves geolocation details of the given IP address.

Parameters:

  • ip (string) - The IP address to lookup (IPv4 or IPv6)

Returns:

  • A Promise resolving to an object containing location details.
  • Example response:
    {
      "query": "8.8.8.8",
      "status": "success",
      "country": "United States",
      "regionName": "California",
      "city": "Mountain View",
      "zip": "94043",
      "lat": 37.4056,
      "lon": -122.0775,
      "isp": "Google LLC",
      "org": "Google Public DNS",
      "as": "AS15169 Google LLC"
    }

isValidIP(ip: string): boolean

Validates whether the given IP address is in a correct format.

Parameters:

  • ip (string) - The IP address to validate.

Returns:

  • true if the IP is valid, false otherwise.

Linux Dependency Installation

If you are running this module on Ubuntu CLI, the following dependencies will be installed automatically:

apt update && apt install -y \
    libgbm-dev \
    libasound2 \
    libatk1.0-0 \
    libatk-bridge2.0-0 \
    libcups2 \
    libdrm2 \
    libxkbcommon-x11-0 \
    libxcomposite1 \
    libxdamage1 \
    libxrandr2 \
    libgbm1 \
    libgtk-3-0 \
    libnss3 \
    libxss1 \
    libwayland-client0 \
    libwayland-server0 \
    libxshmfence1

License

This project is licensed under the MIT License.

Author

Harris Munahar


Feel free to contribute or raise issues if you encounter any problems! 🚀

1.0.4

5 months ago

1.0.3

5 months ago

1.0.2

5 months ago

1.0.0

5 months ago