瀏覽代碼

Exclude CMI CIDRs in CHN CIDRs

SukkaW 2 年之前
父節點
當前提交
2d8641bad1
共有 3 個文件被更改,包括 16 次插入2 次删除
  1. 8 2
      Build/build-chn-cidr.js
  2. 1 0
      package.json
  3. 7 0
      pnpm-lock.yaml

+ 8 - 2
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<string>} */
   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(

+ 1 - 0
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",

+ 7 - 0
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: