Nice Philanthropist Metalhead
Have opinions about JavaScript? We want to hear them. Take the 2018 JavaScript Ecosystem Survey »

public-ip

3.0.0 • Public • Published

public-ip Build Status

Get your public IP address - very fast!

In Node.js, it queries the DNS records of OpenDNS which has an entry with your IP address. In browsers, it uses the excellent icanhaz service through HTTPS.

Install

$ npm install public-ip

Usage

const publicIp = require('public-ip');
 
(async () => {
    console.log(await publicIp.v4());
    //=> '46.5.21.123'
 
    console.log(await publicIp.v6());
    //=> 'fe80::200:f8ff:fe21:67cf'
})();

API

publicIp.v4([options])

publicIp.v6([options])

Returns a Promise which resolves to your public IPv4 or IPv6 address. Rejects on error or timeout. A .cancel() method is available on the promise, which can be used to cancel the request.

options

Type: Object

https

Type: boolean
Default: false

Use a HTTPS check using the icanhazip.com service instead of the DNS query. This check is much more secure and tamper-proof, but also a lot slower. This option is only available in the Node.js version.

timeout

Type: number
Default: 5000

The time in milliseconds until a request is considered timed out.

Maintainers

Related

License

MIT © Sindre Sorhus

install

npm i public-ip

Downloadsweekly downloads

29,376

version

3.0.0

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
  • avatar
Report a vulnerability