From 2d8641bad1642f82bc5e2b01f86d950d7eeadac7 Mon Sep 17 00:00:00 2001 From: SukkaW Date: Thu, 10 Aug 2023 13:16:09 +0800 Subject: [PATCH] Exclude CMI CIDRs in CHN CIDRs --- Build/build-chn-cidr.js | 10 ++++++++-- package.json | 1 + pnpm-lock.yaml | 7 +++++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/Build/build-chn-cidr.js b/Build/build-chn-cidr.js index 8d32a93a..bc9b8bba 100644 --- a/Build/build-chn-cidr.js +++ b/Build/build-chn-cidr.js @@ -5,9 +5,15 @@ const { resolve: pathResolve } = require('path'); const { compareAndWriteFile } = require('./lib/string-array-compare'); const { processLine } = require('./lib/process-line'); +// https://github.com/misakaio/chnroutes2/issues/25 +const EXCLUDE_CIDRS = [ + '223.118.0.0/15', + '223.120.0.0/15' +]; + (async () => { console.time('Total Time - build-chnroutes-cidr'); - const { merge: mergeCidrs } = await import('cidr-tools-wasm'); + const { exclude: excludeCidrs } = await import('cidr-tools-wasm'); /** @type {Set} */ const cidr = new Set(); @@ -19,7 +25,7 @@ const { processLine } = require('./lib/process-line'); } console.log('Before Merge:', cidr.size); - const filteredCidr = mergeCidrs(Array.from(cidr)).sort(); + const filteredCidr = excludeCidrs(Array.from(cidr), EXCLUDE_CIDRS, true); console.log('After Merge:', filteredCidr.length); await compareAndWriteFile( diff --git a/package.json b/package.json index 378a77d7..6ee8179c 100644 --- a/package.json +++ b/package.json @@ -147,6 +147,7 @@ }, "devDependencies": { "@types/mocha": "^10.0.1", + "@types/node": "^20.4.9", "chai": "^4.3.7", "eslint-config-sukka": "^3.0.0", "eslint-plugin-import": "npm:eslint-plugin-i@2.27.5-4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ef5660da..a3f3c0ad 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -51,6 +51,9 @@ devDependencies: '@types/mocha': specifier: ^10.0.1 version: 10.0.1 + '@types/node': + specifier: ^20.4.9 + version: 20.4.9 chai: specifier: ^4.3.7 version: 4.3.7 @@ -249,6 +252,10 @@ packages: resolution: {integrity: sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==} dev: true + /@types/node@20.4.9: + resolution: {integrity: sha512-8e2HYcg7ohnTUbHk8focoklEQYvemQmu9M/f43DZVx43kHn0tE3BY/6gSDxS7k0SprtS0NHvj+L80cGLnoOUcQ==} + dev: true + /@vercel/fetch-retry@5.1.3(patch_hash=jczsp2gadg65vd4ekschpibzda)(node-fetch@2.6.11): resolution: {integrity: sha512-UIbFc4VsEZHOr6dWuE+kxY4NxnOLXFMCWm0fSKRRHUEtrIzaJLzHpWk2QskCXTSzFgFvhkLAvSrBK2XZg7NSzg==} peerDependencies: