class BlockList
The BlockList
object 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.
Properties Jump to heading
Jump to headingrules: readonly string[]
The list of rules added to the blocklist.
Methods Jump to heading
Jump to headingaddAddress(address: string,type?: IPVersion,): void
Adds a rule to block the given IP address.
Jump to headingaddAddress(address: SocketAddress): void
Jump to headingaddRange(): void
Adds a rule to block a range of IP addresses from start
(inclusive) toend
(inclusive).
Jump to headingaddRange(start: SocketAddress,end: SocketAddress,): void
Jump to headingaddSubnet(net: SocketAddress,prefix: number,): void
Adds a rule to block a range of IP addresses specified as a subnet mask.
Jump to headingaddSubnet(): void
Jump to headingcheck(address: SocketAddress): boolean
Returns 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
Jump to headingcheck(address: string,type?: IPVersion,): boolean