orange-ip

0.1.0 • Public • Published

Orange IP

Library for working with IP addresses.

Example

Let's say we have some config with whitelisted sub networks / IP addresses and we want to see if user's IP is whitelisted.

Actually there is a method OrangeIPv4Subnet.isIpInOneOfTheSubnets, but let's pretend we don't have it :)

const {OrangeIPv4Subnet} = require("orange-ip")

const WHITELISTED = "10.0.0.0/8;45.55.52.131".split(';').map(v => new OrangeIPv4Subnet(v))

function is_whitelisted(ip) {
  for (const s of WHITELISTED) {
    if (s.isIpInTheSubnet(ip)) return true
  }
  return false
}

console.log(is_whitelisted("45.55.52.131")) // true
console.log(is_whitelisted("10.10.10.10")) // true
console.log(is_whitelisted("8.8.8.8")) // false

Classes

OrangeIPv4Standard

Class provides some data related to the IPv4 standard

Element Name Type Description
static property PRIVATE_NETWORKS string[] List of private-use networks: https://tools.ietf.org/html/rfc1918
static property LOOPBACK_NETWORKS string[] List of loopback networks: https://tools.ietf.org/html/rfc1122#section-3.2.1.3
static property DOCUMENTATION_NETWORKS string[] List of documentation (TEST-NET-...) networks: https://tools.ietf.org/html/rfc5737
static property ALL_SPECIAL_NETWORKS string[] List of all special networks described in RFC 6890: https://tools.ietf.org/html/rfc6890

OrangeIPv4Address

IPv4 address

Element Name Type Description
method constructor Constructor
property int_value number Integer value of the address
method toString string Converts object to string in XXX.XXX.XXX.XXX format
method isIpInOneOfTheSubnets boolean Returns if IP address in one of the networks
property is_special boolean True if IP address is in one of special networks described in RFC 6890 (OrangeIPv4Standard.ALL_SPECIAL_NETWORKS)
property is_private boolean True if IP address is private
property is_loopback boolean True if IP address is a loopback

OrangeIPv4Mask

IPv4 subnet mask

Element Name Type Description
method constructor Constructor
property int_value number Integer value of the address
method toString string Converts object to string in XXX.XXX.XXX.XXX format
static method createFromPrefixLength OrangeIPv4Mask Creates subnet mask object from network prefix length
property prefix_length number Network prefix length

OrangeIPv4Subnet

IPv4 subnet

Element Name Type Description
method constructor Constructor
static method createFromSlashFormat OrangeIPv4Subnet Creates subnet object from string
method toString string Converts object to string in xxx.xxx.xxx.xxx/zz format

Readme

Keywords

Package Sidebar

Install

npm i orange-ip

Weekly Downloads

0

Version

0.1.0

License

ISC

Unpacked Size

15.4 kB

Total Files

6

Last publish

Collaborators

  • charger88