
Product
Announcing Socket Certified Patches: One-Click Fixes for Vulnerable Dependencies
A safer, faster way to eliminate vulnerabilities without updating dependencies
country-ip-spoofer
Advanced tools
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.
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.
npm install country-ip-spoofer
Or
yarn add country-ip-spoofer
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.
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'
});
FAQs
Generates random ip that belongs to a desired country
We found that country-ip-spoofer 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.

Product
A safer, faster way to eliminate vulnerabilities without updating dependencies

Product
Reachability analysis for Ruby is now in beta, helping teams identify which vulnerabilities are truly exploitable in their applications.

Research
/Security News
Malicious npm packages use Adspect cloaking and fake CAPTCHAs to fingerprint visitors and redirect victims to crypto-themed scam sites.