Giter Club home page Giter Club logo

node-ip's Introduction

(An updated) Node IP

IP address utilities for node.js

Installation

npm

npm install @assetval/ip

yarn

yarn add @assetval/ip

git

git clone https://github.com/AssetVal/node-ip.git

Usage

Get your ip address, compare ip addresses, validate ip addresses, etc.

var ip = require("ip");

ip.address(); // my ip address
ip.isEqual("::1", "::0:1"); // true
ip.toBuffer("127.0.0.1"); // Buffer([127, 0, 0, 1])
ip.toString(new Buffer([127, 0, 0, 1])); // 127.0.0.1
ip.fromPrefixLen(24); // 255.255.255.0
ip.mask("192.168.1.134", "255.255.255.0"); // 192.168.1.0
ip.cidr("192.168.1.134/26"); // 192.168.1.128
ip.not("255.255.255.0"); // 0.0.0.255
ip.or("192.168.1.134", "0.0.0.255"); // 192.168.1.255
ip.isPrivate("127.0.0.1"); // true
ip.isV4Format("127.0.0.1"); // true
ip.isV6Format("::ffff:127.0.0.1"); // true

// operate on buffers in-place
var buf = new Buffer(128);
var offset = 64;
ip.toBuffer("127.0.0.1", buf, offset); // [127, 0, 0, 1] at offset 64
ip.toString(buf, offset, 4); // '127.0.0.1'

// subnet information
ip.subnet("192.168.1.134", "255.255.255.192");
// { networkAddress: '192.168.1.128',
//   firstAddress: '192.168.1.129',
//   lastAddress: '192.168.1.190',
//   broadcastAddress: '192.168.1.191',
//   subnetMask: '255.255.255.192',
//   subnetMaskLength: 26,
//   numHosts: 62,
//   length: 64,
//   contains: function(addr){...} }
ip.cidrSubnet("192.168.1.134/26");
// Same as previous.

// range checking
ip.cidrSubnet("192.168.1.134/26").contains("192.168.1.190"); // true

// ipv4 long conversion
ip.toLong("127.0.0.1"); // 2130706433
ip.fromLong(2130706433); // '127.0.0.1'

node-ip's People

Contributors

indutny avatar abourass avatar bryanwayb avatar donspaulding avatar indexzero avatar wanderview avatar mmalecki avatar kostiak avatar huerlisi avatar bcbailey-godaddy avatar ym avatar codeanimal avatar wavded avatar mehaase avatar nw avatar drudge avatar heapwolf avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.