subnet-check
TypeScript icon, indicating that this package has built-in type declarations

1.10.1 • Public • Published

subnet-check

This is a fork which works independantly of node.js to be able to be used in the browser.

Check if an IPv4 or IPv6 address is contained in the given CIDR subnet.

  • Small
  • Fast
  • Simple syntax
  • Full test coverage
  • TypeScript-friendly
  • Zero dependencies

Installation

npm i -S louispvb/subnet-check

Usage

const { isInSubnet } = require('subnet-check');
 
console.log( isInSubnet('10.5.0.1', '10.4.5.0/16') );   // false
console.log( isInSubnet('10.5.0.1', '10.4.5.0/15') );   // true
 
console.log( isInSubnet('2001:db8:f53a::1', '2001:db8:f53b::1:1/48') );   // false
console.log( isInSubnet('2001:db8:f53a::1', '2001:db8:f531::1:1/44') );   // true

More ways to use it

Test multiple subnets at once

You can pass an array instead of a single subnet.

const inAnySubnet = isInSubnet('10.5.0.1', [ '10.4.5.0/16', '192.168.1.0/24' ]);

This module recognizes several special classes of addresses.

Private addresses

isPrivate(address);

True if the address is in a private/internal address range, such as 192.168.1.1 or similar, or an IPv6 Unique Local Address.

Localhost addresses

isLocalhost(address);

True if the address represents the localhost, such as 127.0.0.1 or ::1.

Package Sidebar

Install

npm i subnet-check

Weekly Downloads

11,145

Version

1.10.1

License

MIT

Unpacked Size

33.1 kB

Total Files

17

Last publish

Collaborators

  • louispvb