!codecov
!downloads
!npm
!snyk
ip-address
ip-address
is a library for validating and manipulating IPv4 and IPv6
addresses in JavaScript.Migrating from 6.x to 7.x
ip-address
was rewritten in TypeScript for version 7. If you were using
version 6 you'll need to make these changes to upgrade:- Instead of checking
isValid()
, which has been removed, you'll need to use a
try
/catch
if you're accepting unknown input. This made the TypeScript
types substantially easier as well as allowed the use of an AddressError
class which will contain a parseMessage
if an error occurred in the parsing
step.- Instead of using the
error
,parseError
, andvalid
attributes you'll
message
and parseMessage
of the thrown AddressError
.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');
var teredo = address.inspectTeredo();
teredo.client4; // '157.60.0.1'
Features
- Usable via CommonJS or ESM
- Parsing of all IPv6 notations
- Parsing of IPv6 addresses and ports from URLs with
Address6.fromURL(url)
- Validity checking
- Decoding of the Teredo
- Whether one address is a valid subnet of another
- What special properties a given address has (multicast prefix, unique
- Number of subnets of a certain size in a given address
- Display methods
::ffff:192.168.0.1
)- Works in node and the browser (with browserify)
- ~1,600 test cases
Used by
- anon which powers
- base85: base85 encoding/decoding
- contrail-web-core: part of
- geoip-web: a server for
- hexabus: an IPv6-based home
- hubot-deploy: GitHub Flow via hubot
- heroku-portscanner: nmap
- ipfs-swarm: a swarm
- javascript-x-server: an X
- libnmap: a node API for nmap
- mail-io: a lightweight SMTP server
- maxmind-db-reader: a library for
- proxy-protocol-v2: a proxy
- socks5-client: a SOCKS v5 client
- socksified: a SOCKS v5 client
- socksv5: a SOCKS v5 server/client
- ssdapi: an API created by the
- swiz: a serialization framework built