🚀 DAY 2 OF LAUNCH WEEK: Announcing Socket Certified Patches: One-Click Fixes for Vulnerable Dependencies.Learn more →
Socket
Book a DemoInstallSign in
Socket

country-ip-spoofer

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

country-ip-spoofer

Generates random ip that belongs to a desired country

latest
Source
npmnpm
Version
1.0.1
Version published
Maintainers
1
Created
Source

Npm Version Build Status Test Coverage Maintainability Known Vulnerabilities dependencies Status devDependencies Status

country-ip-spoofer

A fully typed Node.js module that generates a random IP address that is associated with a desired country.

This module is especially useful if you use an API that requires an IP address to be passed to it in order to realize the country of a user, and you want to spoof the user country.

Important notes

This module leverages the IP2Location™ data set, which is licensed under Creative Commons Attribution-ShareAlike 4.0.
As such, the module does not package the actual data, and you are responsible to load it to the module while not infringing with said licence.

  • For better results, refresh your data set once in a while.

Installation

npm install country-ip-spoofer

Or

yarn add country-ip-spoofer

Setup

Before you begin, you need to prepare the data set to be used by the module (only perform once).

Please download the IPV4 CSV file from IP2Location™ and run the following temp script (install the csv package if it is missing - you can delete it later):

import {createDataTable} from 'country-ip-spoofer/dataTableCreator';

const csfFile = 'path to the downloaded csv file';
const outputFile = 'path to output the data set';

createDataTable(csfFile, outputFile)
    .then(() => {
        console.log('done');
    });

Then save the output file to your project.

Usage

import * as request from 'request'; // We only use this to test the resulting ips
import { getIpOfCountry, setDataTable, DataTable } from 'country-ip-spoofer';
import * as dataSet from 'path to your json data set form previous step';

// Load the data set before yuo begin
setDataTable(dataSet as DataTable);

const countryCode = 'AU';

const ip = getIpOfCountry(countryCode);
console.log(ip); // prints '103.246.130.28' for example

// Test out the ip location
const requestParams = {
    url: `http://ip-api.com/json/${ip}`,
    json: true,
};
request(requestParams, (err, result) => {
    const realCountryCode = result.toJSON().body.countryCode;
    console.log(realCountryCode); // Should print 'AU'
    console.log(realCountryCode === countryCode ? 'Success' : 'Fail'); // Should print 'Success'
});

Keywords

ip

FAQs

Package last updated on 20 Aug 2019

Did you know?

Socket

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.

Install

Related posts