StaticisAdds a rule to block the given IP address.
An IPv4 or IPv6 address.
Optionaltype: IPVersionEither 'ipv4' or 'ipv6'.
Adds a rule to block a range of IP addresses from start (inclusive) toend (inclusive).
The starting IPv4 or IPv6 address in the range.
The ending IPv4 or IPv6 address in the range.
Optionaltype: IPVersionEither 'ipv4' or 'ipv6'.
Adds a rule to block a range of IP addresses specified as a subnet mask.
The network IPv4 or IPv6 address.
The number of CIDR prefix bits. For IPv4, this must be a value between 0 and 32. For IPv6, this must be between 0 and 128.
Optionaltype: IPVersionReturns true if the given IP address matches any of the rules added to theBlockList.
const blockList = new net.BlockList();
blockList.addAddress('123.123.123.123');
blockList.addRange('10.0.0.1', '10.0.0.10');
blockList.addSubnet('8592:757c:efae:4e45::', 64, 'ipv6');
console.log(blockList.check('123.123.123.123')); // Prints: true
console.log(blockList.check('10.0.0.3')); // Prints: true
console.log(blockList.check('222.111.111.222')); // Prints: false
// IPv6 notation for IPv4 addresses works:
console.log(blockList.check('::ffff:7b7b:7b7b', 'ipv6')); // Prints: true
console.log(blockList.check('::ffff:123.123.123.123', 'ipv6')); // Prints: true
The IP address to check
Optionaltype: IPVersionExperimentalconst blockList = new net.BlockList();
const data = [
'Subnet: IPv4 192.168.1.0/24',
'Address: IPv4 10.0.0.5',
'Range: IPv4 192.168.2.1-192.168.2.10',
'Range: IPv4 10.0.0.1-10.0.0.10',
];
blockList.fromJSON(data);
blockList.fromJSON(JSON.stringify(data));
The
BlockListobject can be used with some network APIs to specify rules for disabling inbound or outbound access to specific IP addresses, IP ranges, or IP subnets.Since
v15.0.0, v14.18.0