Skip to main content
BlockList - node__net.d.ts - Node documentation
class BlockList

Usage in Deno

```typescript import { BlockList } from "node:node__net.d.ts"; ```
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

rules: readonly string[]
The list of rules added to the blocklist.

Methods

addAddress(
address: string,
type?: IPVersion,
): void
Adds a rule to block the given IP address.
addAddress(address: SocketAddress): void
addRange(
start: string,
end: string,
type?: IPVersion,
): void
Adds a rule to block a range of IP addresses from `start` (inclusive) to`end` (inclusive).
addSubnet(
prefix: number,
): void
Adds a rule to block a range of IP addresses specified as a subnet mask.
addSubnet(
net: string,
prefix: number,
type?: IPVersion,
): void
check(address: SocketAddress): boolean
Returns `true` if the given IP address matches any of the rules added to the`BlockList`. ```js 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 ```
check(
address: string,
type?: IPVersion,
): boolean