Simple utility to convert either CIDR notation or two IP addresses to an array of the range of IP addresses
npm install get-ip-rangeSimple utility to convert either CIDR notation, a hyphenated IP range, or two IP addresses to an array of the range of IP addresses.
----
!Build Status
----
``sh`
$ npm i get-ip-range
----
* Range "x.x.x.x-x.x.x.x"
* Two IPs "x.x.x.x", "x.x.x.x"$3
* CIDR "x:x:x:x:x:x:x:x/x"
* Range "::x:x:x-::x:x:x"
* Two IPs "::x:x:x", "::x:x:x"N.B. Shorthand IPv6 is supported
----
Usage
`ts
import { getIPRange } from 'get-ip-range';const ipv4CIDR = getIPRange('192.168.1.134/29');
const ipv4Range = getIPRange('192.168.1.128-192.168.1.135');
const twoIPv4 = getIPRange('192.168.1.128', '192.168.1.135');
// All return:
[
'192.168.1.128',
'192.168.1.129',
'192.168.1.130',
'192.168.1.131',
'192.168.1.132',
'192.168.1.133',
'192.168.1.134',
'192.168.1.135',
]
const ipv6CIDR = getIPRange('0:0:0:0:0:ffff:102:304/126');
const ipv6Range = getIPRange('::ffff:102:304-::ffff:102:307');
const twoIPv6 = getIPRange('::ffff:102:304', '::ffff:102:307');
// All return:
[
'::ffff:102:304',
'::ffff:102:305',
'::ffff:102:306',
'::ffff:102:307',
]
``----
Errors
* If the supplied IP address(es) are invalid, the request will throw an error. Please handle errors appropriately.
* If there are more than the default maximum range (10000) or the environment variable (MAX_RANGE) IPs in the range, it will throw an error.
----
Joe Schofield 💻 | Miosame 💻 | João Antunes 💻 | Chingiz Toimbetov 💻 | yaniv-checkmarx 🐛 | Stanislav Sizonenko 🐛 |