From ec1d0920ac925da0b255d0571feea4ddd9160d0b Mon Sep 17 00:00:00 2001 From: gap579137 <30596626+gap579137@users.noreply.github.com> Date: Mon, 4 Nov 2024 21:42:09 -0600 Subject: [PATCH] Update update-number-of-domains.js --- scripts/update-number-of-domains.js | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/scripts/update-number-of-domains.js b/scripts/update-number-of-domains.js index fcb3e317..584b0e6d 100644 --- a/scripts/update-number-of-domains.js +++ b/scripts/update-number-of-domains.js @@ -3,31 +3,42 @@ const path = require("node:path"); (async () => { try { + // Define the base directory containing .txt files const directoryPath = path.join(__dirname, ".."); + + // Retrieve all .txt files from the directory const files = (await fs.readdir(directoryPath)).filter((file) => - file.endsWith(".txt"), + file.endsWith(".txt") ); + // Process each file concurrently await Promise.all( files.map(async (file) => { const filePath = path.join(directoryPath, file); const fileContents = await fs.readFile(filePath, "utf8"); + // Extract unique domains starting with "0.0.0.0" const existingDomains = new Set( fileContents .split("\n") .filter((line) => line.startsWith("0.0.0.0 ")) - .map((line) => line.replace("0.0.0.0 ", "")), + .map((line) => line.slice(8)) // Extract domain after "0.0.0.0 " ); + // Update the total number of network filters const updatedContents = fileContents.replace( - /^# Total number of network filters: ?(\d*)$/gm, - `# Total number of network filters: ${existingDomains.size}`, + /^# Total number of network filters: ?\d*$/m, + `# Total number of network filters: ${existingDomains.size}` ); + // Write the updated content back to the file await fs.writeFile(filePath, updatedContents, "utf8"); - }), + + console.log(`Updated domain count for: ${file}`); + }) ); + + console.log("All files processed successfully."); } catch (error) { console.error("Error processing files:", error); }