javascript-ipv6 [![Build Status](]( =============== javascript-ipv6 is a library for manipulating IPv6 addresses in JavaScript. Examples -------- For node: ```js var v6 = require('ipv6').v6; var address = new v6.Address('2001:0:ce49:7601:e866:efff:62c3:fffe'); console.log(address.isValid()); // Prints "true" var teredo = address.teredo(); console.log(teredo.client4); // Prints "" ``` For a browser: ```html Simple IPv6 test The canonical form of a::b is: ``` Current functionality --------------------- - Parsing of most IPv6 notations - Parsing of IPv6 Addresses and Ports from URLs with `v6.Address.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:`) - Works in [node.js]( and the browser - Unit tests with [node.js]( and [Mocha]( Used by ------- - [Rackspace]( in [node-swiz]( - [node-socksified]( Future functionality -------------------- - Investigate `procstreams` for the CLI tool - Base 64/85 encoding? - Reverse lookups? (Whether a domain name has IPv6 glue) TODO ---- - Documentation