Package Exports
- get-ip-range
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (get-ip-range) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
get-ip-range
Simple utility to convert either CIDR notation, a hyphenated IP range, or two IP addresses to an array of the range of IP addresses.
Installation
$ npm i get-ip-rangeAccepted formats
IPv4
- CIDR
"x.x.x.x/x" - Range
"x.x.x.x-x.x.x.x" - Two IPs
"x.x.x.x", "x.x.x.x"
IPv6
- CIDR
"x❌x❌x❌x:x/x" - Range
":❌x:x-:❌x:x" - Two IPs
":❌x:x", ":❌x:x"
N.B. Shorthand IPv6 is supported
Usage
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.
Contributors
Joe Schofield 💻 |
Miosame 💻 |
João Antunes 💻 |
Chingiz Toimbetov 💻 |
yaniv-checkmarx 🐛 |
Stanislav Sizonenko 🐛 |
