Exclude CMI CIDRs in CHN CIDRs

This commit is contained in:
SukkaW 2023-08-10 13:16:09 +08:00
parent b51adff44c
commit 2d8641bad1
3 changed files with 16 additions and 2 deletions

View File

@ -5,9 +5,15 @@ const { resolve: pathResolve } = require('path');
const { compareAndWriteFile } = require('./lib/string-array-compare'); const { compareAndWriteFile } = require('./lib/string-array-compare');
const { processLine } = require('./lib/process-line'); 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 () => { (async () => {
console.time('Total Time - build-chnroutes-cidr'); 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<string>} */ /** @type {Set<string>} */
const cidr = new Set(); const cidr = new Set();
@ -19,7 +25,7 @@ const { processLine } = require('./lib/process-line');
} }
console.log('Before Merge:', cidr.size); 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); console.log('After Merge:', filteredCidr.length);
await compareAndWriteFile( await compareAndWriteFile(

View File

@ -147,6 +147,7 @@
}, },
"devDependencies": { "devDependencies": {
"@types/mocha": "^10.0.1", "@types/mocha": "^10.0.1",
"@types/node": "^20.4.9",
"chai": "^4.3.7", "chai": "^4.3.7",
"eslint-config-sukka": "^3.0.0", "eslint-config-sukka": "^3.0.0",
"eslint-plugin-import": "npm:eslint-plugin-i@2.27.5-4", "eslint-plugin-import": "npm:eslint-plugin-i@2.27.5-4",

7
pnpm-lock.yaml generated
View File

@ -51,6 +51,9 @@ devDependencies:
'@types/mocha': '@types/mocha':
specifier: ^10.0.1 specifier: ^10.0.1
version: 10.0.1 version: 10.0.1
'@types/node':
specifier: ^20.4.9
version: 20.4.9
chai: chai:
specifier: ^4.3.7 specifier: ^4.3.7
version: 4.3.7 version: 4.3.7
@ -249,6 +252,10 @@ packages:
resolution: {integrity: sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==} resolution: {integrity: sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==}
dev: true 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): /@vercel/fetch-retry@5.1.3(patch_hash=jczsp2gadg65vd4ekschpibzda)(node-fetch@2.6.11):
resolution: {integrity: sha512-UIbFc4VsEZHOr6dWuE+kxY4NxnOLXFMCWm0fSKRRHUEtrIzaJLzHpWk2QskCXTSzFgFvhkLAvSrBK2XZg7NSzg==} resolution: {integrity: sha512-UIbFc4VsEZHOr6dWuE+kxY4NxnOLXFMCWm0fSKRRHUEtrIzaJLzHpWk2QskCXTSzFgFvhkLAvSrBK2XZg7NSzg==}
peerDependencies: peerDependencies: