class BlockList
Usage in Deno
import { BlockList } from "node:net";
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.
rules: readonly string[]
The list of rules added to the blocklist.
addAddress(address: string,type?: IPVersion,): void
Adds a rule to block the given IP address.
addAddress(address: SocketAddress): void
Adds a rule to block a range of IP addresses from start
(inclusive) toend
(inclusive).
addRange(start: SocketAddress,end: SocketAddress,): void
addSubnet(net: SocketAddress,prefix: number,): void
Adds a rule to block a range of IP addresses specified as a subnet mask.
check(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