Add internal reverse chnroute build

This commit is contained in:
SukkaW 2023-07-18 20:16:20 +08:00
parent 3ca1a486ae
commit f57093df6a
4 changed files with 64 additions and 10 deletions

View File

@ -0,0 +1,48 @@
// @ts-check
const { fetchRemoteTextAndCreateReadlineInterface } = require('./lib/fetch-remote-text-by-line');
const { processLine } = require('./lib/process-line');
const path = require('path');
const fse = require('fs-extra');
const fs = require('fs');
const RESERVED_IPV4_CIDR = [
'0.0.0.0/8',
'10.0.0.0/8',
'100.64.0.0/10',
'127.0.0.0/8',
'169.254.0.0/16',
'172.16.0.0/12',
'192.0.0.0/24',
'192.0.2.0/24',
'192.168.0.0/16',
'198.18.0.0/15',
'198.51.100.0/24',
'203.0.113.0/24',
'224.0.0.0/4',
'233.252.0.0/24',
'240.0.0.0/4'
];
(async () => {
const { exclude } = await import('cidr-tools-wasm');
/** @type {Set<string>} */
const cidr = new Set();
for await (const line of await fetchRemoteTextAndCreateReadlineInterface('https://raw.githubusercontent.com/misakaio/chnroutes2/master/chnroutes.txt')) {
const l = processLine(line);
if (l) {
cidr.add(l);
}
}
const reversedCidr = exclude(
['0.0.0.0/0'],
RESERVED_IPV4_CIDR.concat(Array.from(cidr))
);
await fse.ensureDir(path.resolve(__dirname, '../List/internal'));
await fs.promises.writeFile(
path.resolve(__dirname, '../List/internal/cdn.txt'),
`${reversedCidr.join('\n')}\n`
);
})();

View File

@ -14,7 +14,8 @@
"build:phishing-domainset": "wireit",
"build:telegram-cidr": "wireit",
"build:chn-cidr": "wireit",
"build:internal-rules": "wireit",
"build:internal-cdn-rules": "wireit",
"build:internal-reverse-chn-cidr": "wireit",
"validate:domainset": "wireit"
},
"wireit": {
@ -64,19 +65,23 @@
"download-previous-build"
]
},
"build:internal-rules": {
"command": "node ./Build/build-internal-rules.js",
"build:internal-cdn-rules": {
"command": "node ./Build/build-internal-cdn-rules.js",
"dependencies": [
"build:cdn-conf"
]
},
"build:internal-reverse-chn-cidr": {
"command": "node ./Build/build-internal-reverse-chn-cidr.js"
},
"build:public": {
"command": "node ./Build/build-public.js",
"dependencies": [
"build:anti-bogus-domain",
"build:apple-cdn",
"build:cdn-conf",
"build:internal-rules",
"build:internal-cdn-rules",
"build:internal-reverse-chn-cidr",
"build:reject-domainset",
"build:telegram-cidr"
]
@ -98,7 +103,8 @@
"build:reject-domainset",
"build:telegram-cidr",
"build:chn-cidr",
"build:internal-rules",
"build:internal-cdn-rules",
"build:internal-reverse-chn-cidr",
"build:public",
"validate:domainset"
]
@ -115,7 +121,7 @@
"@sukka/listdir": "^0.2.0",
"@vercel/fetch-retry": "^5.1.3",
"ci-info": "^3.8.0",
"cidr-tools-wasm": "^0.0.7",
"cidr-tools-wasm": "^0.0.10",
"fs-extra": "^11.1.1",
"picocolors": "^1.0.0",
"piscina": "^4.0.0",

8
pnpm-lock.yaml generated
View File

@ -23,8 +23,8 @@ dependencies:
specifier: ^3.8.0
version: 3.8.0
cidr-tools-wasm:
specifier: ^0.0.7
version: 0.0.7
specifier: ^0.0.10
version: 0.0.10
fs-extra:
specifier: ^11.1.1
version: 11.1.1
@ -444,8 +444,8 @@ packages:
engines: {node: '>=8'}
dev: false
/cidr-tools-wasm@0.0.7:
resolution: {integrity: sha512-3pxBac4rB6Aoj/CkS0DfQlnNskH1Dq7YNtcxkPjiroLFVJ3TQT680VZ5HRrmigVlwK8ntS3ZNQMQDsI3q7JQ4A==}
/cidr-tools-wasm@0.0.10:
resolution: {integrity: sha512-P1l8AWtMe7WA01RLao9fTYAtuIwAZJaunuXJ7iFlJ3k/L1oEBsWi82ZzBW3mYwhMiFWZ8CTqv0aWRKKFxUsMJQ==}
dev: false
/cliui@7.0.4: