@futoin/ip-address

A library for parsing IPv4 and IPv6 IP addresses in node and the browser.

Stats

stars 🌟issues ⚠️updated 🛠created 🐣size 🏋️‍♀️
00Mar 15, 2020Feb 17, 2018Minified + gzip package size for @futoin/ip-address in KB

Readme

WARNING: a temporary fork to safely workaround jsbn upgrade

ip-address

ip-address is a library for validating and manipulating IPv4 and IPv6 addresses in JavaScript.

Documentation

Documentation is available at ip-address.js.org.

Examples

var Address6 = require('ip-address').Address6;

var address = new Address6('2001:0:ce49:7601:e866:efff:62c3:fffe');

address.isValid(); // true

var teredo = address.inspectTeredo();

teredo.client4;    // '157.60.0.1'

Features

  • Parsing of all IPv6 notations
  • Parsing of IPv6 addresses and ports from URLs with Address6.fromURL(url)
  • Validity checking
  • Decoding of the Teredo information in an address
  • Whether one address is a valid subnet of another
  • What special properties a given address has (multicast prefix, unique local address prefix, etc.)
  • Number of subnets of a certain size in a given address
  • Display methods
    • Hex, binary, and decimal
    • Canonical form
    • Correct form
    • IPv4-compatible (i.e. ::ffff:192.168.0.1)
  • Works in node and the browser (with browserify)
  • ~1,600 test cases

Used by

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.