JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 8216
  • Score
    100M100P100Q130425F
  • License ISC

Simple utility to convert either CIDR notation or two IP addresses to an array of the range of IP addresses

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

All Contributors

Simple utility to convert either CIDR notation, a hyphenated IP range, or two IP addresses to an array of the range of IP addresses.


Build StatusISC License


Installation

$ npm i get-ip-range

Accepted 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

🐛