mirror of
https://github.com/SukkaW/Surge.git
synced 2025-12-12 01:00:34 +08:00
Add internal reverse chnroute build
This commit is contained in:
parent
3ca1a486ae
commit
f57093df6a
48
Build/build-internal-reverse-chn-cidr.js
Normal file
48
Build/build-internal-reverse-chn-cidr.js
Normal 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`
|
||||
);
|
||||
})();
|
||||
18
package.json
18
package.json
@ -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
8
pnpm-lock.yaml
generated
@ -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:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user