cidr-js
Node module for for expanding cidr blocks in a list of IP (a-z) or just the range (start & end)
Install
npm install cidr-js
Example Usage
Get just the start and end IPs
var CIDR = ;var cidr = ; var block = '127.0.0.0/31';var results = cidr; // should return ['127.0.0.0', '127.0.0.1']
Get a list of ips in a given range
var CIDR = ;var cidr = ;var block = '127.0.0.0/30';var results = cidr; // should return [ '127.0.0.0', '127.0.0.1', '127.0.0.2', '127.0.0.3' ]
Filter a list of ips into contiguous blocks
var ips = // contiguous block '127.0.0.0' '127.0.0.1' '127.0.0.2' '127.0.0.3' '127.0.0.4' '127.0.0.5' '127.0.0.6' // new contiguous block '127.0.1.1' '127.0.1.2' '127.0.1.3' // dangling block '127.0.1.5'; var CIDR = ;var cidr = ;var results = cidr; // should return '12700': '127.0.0.1' '127.0.0.2' '127.0.0.3' '127.0.0.4' '127.0.0.5' '127.0.0.6' '12701': '127.0.1.1' '127.0.1.2' '127.0.1.3' '127015': '127.0.1.5'
Get IP blocks from a list of IPs
var ips = // contiguous block '127.0.0.0' '127.0.0.1' '127.0.0.2' '127.0.0.3' '127.0.0.4' '127.0.0.5' '127.0.0.6' // new contiguous block '127.0.1.1' '127.0.1.2' '127.0.1.3' // dangling block '127.0.1.5';var CIDR = ;var cidr = ;var results = cidr; // should return '127.0.0.0/30' '127.0.0.4/31' '127.0.0.6/32' '127.0.1.1/32' '127.0.1.2/31' '127.0.1.5'
Testing
npm test