@futoin/ip-address

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

Usage no npm install needed!

<script type="module">
  import futoinIpAddress from 'https://cdn.skypack.dev/@futoin/ip-address';
</script>

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