Browse Source

Update CDN & Speedtest Hosts

SukkaW 2 years ago
parent
commit
95a2e0f6b7

+ 3 - 0
Build/build-speedtest-domainset.ts

@@ -140,6 +140,9 @@ export const buildSpeedtestDomainSet = task(import.meta.path, async () => {
     '.speedtest.optitel.com.au',
     '.speednet.net.tr',
     '.speedtest.angolacables.co.ao',
+    // Wi-Fi Man
+    '.wifiman.com',
+    '.wifiman.me',
     // Fast.com
     '.fast.com',
     // MacPaw

+ 18 - 4
Build/build-sspanel-appprofile.ts

@@ -39,9 +39,11 @@ export const buildSSPanelUIMAppProfile = task(import.meta.path, async () => {
     globalDomains,
     globalPlusDomains,
     telegramDomains,
+    lanDomains,
     domesticCidrs,
     streamCidrs,
-    { results: rawTelegramCidrs }
+    { results: rawTelegramCidrs },
+    lanCidrs
   ] = await Promise.all([
     // domestic - domains
     getDomesticDomainsRulesetPromise().then(surgeRulesetToClashClassicalTextRuleset),
@@ -58,6 +60,8 @@ export const buildSSPanelUIMAppProfile = task(import.meta.path, async () => {
     processLineFromReadline(readFileByLine(path.resolve(import.meta.dir, '../Source/non_ip/global.conf'))).then(surgeRulesetToClashClassicalTextRuleset),
     processLineFromReadline(readFileByLine(path.resolve(import.meta.dir, '../Source/non_ip/global_plus.conf'))).then(surgeRulesetToClashClassicalTextRuleset),
     processLineFromReadline(readFileByLine(path.resolve(import.meta.dir, '../Source/non_ip/telegram.conf'))).then(surgeRulesetToClashClassicalTextRuleset),
+    // lan - domains
+    processLineFromReadline(readFileByLine(path.resolve(import.meta.dir, '../Source/non_ip/lan.conf'))),
     // domestic - ip cidr
     getChnCidrPromise().then(cidrs => cidrs.map(cidr => `IP-CIDR,${cidr}`)),
     AllStreamServices.flatMap((i) => (
@@ -69,7 +73,9 @@ export const buildSSPanelUIMAppProfile = task(import.meta.path, async () => {
         : []
     )),
     // global - ip cidr
-    getTelegramCIDRPromise()
+    getTelegramCIDRPromise(),
+    // lan - ip cidr
+    processLineFromReadline(readFileByLine(path.resolve(import.meta.dir, '../Source/ip/lan.conf')))
   ] as const);
 
   const telegramCidrs = rawTelegramCidrs.map(removeNoResolved);
@@ -92,11 +98,13 @@ export const buildSSPanelUIMAppProfile = task(import.meta.path, async () => {
       ...globalPlusDomains,
       ...telegramDomains
     ],
+    lanDomains,
     domesticCidrs,
     streamCidrs,
     [
       ...telegramCidrs
-    ]
+    ],
+    lanCidrs
   );
 
   await compareAndWriteFile(
@@ -116,9 +124,11 @@ function generateAppProfile(
   microsoftAppleDomains: string[],
   streamDomains: string[],
   globalDomains: string[],
+  lanDomains: string[],
   directCidrs: string[],
   streamCidrs: string[],
-  globalCidrs: string[]
+  globalCidrs: string[],
+  lanCidrs: string[]
 ) {
   const result: string[] = [];
 
@@ -183,12 +193,16 @@ function generateAppProfile(
     // global - domains
     ...globalDomains.map(line => `        '${line},Global',`),
     // microsoft & apple - ip cidr (nope)
+    // lan - domains
+    ...lanDomains.map(line => `        '${line},DIRECT',`),
     // stream - ip cidr
     ...streamCidrs.map(line => `        '${line},Stream',`),
     // global - ip cidr
     ...globalCidrs.map(line => `        '${line},Global',`),
     // domestic - ip cidr
     ...directCidrs.map(line => `        '${line},Domestic',`),
+    // lan - ip cidr
+    ...lanCidrs.map(line => `        '${line},DIRECT',`),
     // match
     '        \'MATCH,Final Match\',',
     '    ],',

+ 8 - 3
Build/download-previous-build.ts

@@ -5,7 +5,7 @@ import { Readable } from 'stream';
 import { pipeline } from 'stream/promises';
 import { readFileByLine } from './lib/fetch-text-by-line';
 import { isCI } from 'ci-info';
-import { task, traceAsync } from './lib/trace-runner';
+import { task } from './lib/trace-runner';
 import { defaultRequestInit, fetchWithRetry } from './lib/fetch-retry';
 import tarStream from 'tar-stream';
 import zlib from 'zlib';
@@ -55,7 +55,12 @@ export const downloadPreviousBuild = task(import.meta.path, async () => {
   }
 
   const extract = tarStream.extract();
-  Readable.fromWeb(resp.body as any).pipe(zlib.createGunzip()).pipe(extract);
+  const gunzip = zlib.createGunzip();
+  pipeline(
+    resp.body as any,
+    gunzip,
+    extract
+  );
 
   const pathPrefix = `ruleset.skk.moe-master${path.sep}`;
 
@@ -75,7 +80,7 @@ export const downloadPreviousBuild = task(import.meta.path, async () => {
 
     await fsp.mkdir(path.dirname(targetPath), { recursive: true });
     await pipeline(
-      entry,
+      entry as any,
       fs.createWriteStream(targetPath)
     );
   }

+ 2 - 0
Source/domainset/cdn.conf

@@ -500,6 +500,7 @@ ghavatars.staticblitz.com
 nr.staticblitz.com
 .w-credentialless.staticblitz.com
 .stackblitz.io
+.local.webcontainer.io
 
 # >> hCaptcha
 newassets.hcaptcha.com
@@ -587,6 +588,7 @@ www.pngmart.com
 i.imgflip.com
 .iili.io
 .imageban.ru
+.cdn-uploads.huggingface.co
 # imgix custom domain
 www.datocms-assets.com
 images.pexels.com