npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

ip-info

v0.0.1

Published

Get IP information

Downloads

3

Readme

ip-info

Build Status Dependency Status devDependency Status

Get IP information include country, province, city and operator.

Getting Started

Install with this command:

npm i ip-info --save

Or maybe you like yarn:

yarn add ip-info

How to use

You should import this module first:

var ip = require('ip-info');

The ip above is a function which accepts a config object and returns a promise. The only thing you should do is passing a config object and have fun!

Config

ipReg {String} [OPTION]

Default: ^(?:\d{1,3}\.){3}\d{1,3}$

This string will be used as RegExp to test every ip.

ip {String | Array}

The target ip or ip list. You must supply one of ip or input.

input {String}

The file path for target ip list. You must supply one of ip or input.

output {String} [OPTION]

The file path for output.

cwd {String} [OPTION]

Default: the directory of file which use this module

This path will be used to join with input and output path.

format {String} [OPTION]

Default: json

The format for input and output file. Only support json and yaml now. Welcome PR >.<

encoding {String} [OPTION]

Default: utf8

The encoding for input and output file.

service {String} [OPTION]

Default: ipip.net

The ip search service. Only support ipip.net now. Welcome PR >.<

interval {Number} [OPTION]

Default: 300

The time interval between each request to prevent ban.

Sample

Basic

var ip = require('../index.js');

ip({
    ip: '8.8.8.8'
}).then(res => {
    // deal with result
}).catch(err => {
    // deal with error
});

More config

var ip = require('../index.js');

ip({
    cwd: 'relative/path/',
    input: 'path/to/input.yml',
    format: 'yaml',
    output: 'path/to/output.json',
    interval: '500'
});

Test

npm test

TODO

  • Support service account
  • Add more service such as ipinfo.io, ip.taobao.com

History

  • 0.0.1
    • init