From 4de01974413bba0cd04d1b148169a0cd8c25ec20 Mon Sep 17 00:00:00 2001 From: alphaleadership <47387699+alphaleadership@users.noreply.github.com> Date: Tue, 8 Jul 2025 22:37:51 +0200 Subject: [PATCH] net: update net.blocklist to allow file save and file management PR-URL: https://github.com/nodejs/node/pull/58087 Fixes: https://github.com/nodejs/node/issues/56252 Reviewed-By: Ethan Arrowood Reviewed-By: James M Snell --- doc/api/net.md | 32 +++++++ lib/internal/blocklist.js | 126 +++++++++++++++++++++++++++- test/parallel/test-blocklist.js | 72 ++++++++++++++++ test/parallel/test-net-blocklist.js | 1 - 4 files changed, 229 insertions(+), 2 deletions(-) diff --git a/doc/api/net.md b/doc/api/net.md index 217c2bc637..53b97c76a0 100644 --- a/doc/api/net.md +++ b/doc/api/net.md @@ -181,6 +181,38 @@ added: * `value` {any} Any JS value * Returns `true` if the `value` is a `net.BlockList`. +### `blockList.fromJSON(value)` + +> Stability: 1 - Experimental + + + +```js +const 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)); +``` + +* `value` Blocklist.rules + +### `blockList.toJSON()` + +> Stability: 1 - Experimental + + + +* Returns Blocklist.rules + ## Class: `net.SocketAddress`