Update CDN & Speedtest Hosts

This commit is contained in:
SukkaW 2024-01-12 21:39:38 +08:00
parent 7dbb3ac36b
commit 95a2e0f6b7
4 changed files with 31 additions and 7 deletions

View File

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

View File

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

View File

@ -5,7 +5,7 @@ import { Readable } from 'stream';
import { pipeline } from 'stream/promises'; import { pipeline } from 'stream/promises';
import { readFileByLine } from './lib/fetch-text-by-line'; import { readFileByLine } from './lib/fetch-text-by-line';
import { isCI } from 'ci-info'; 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 { defaultRequestInit, fetchWithRetry } from './lib/fetch-retry';
import tarStream from 'tar-stream'; import tarStream from 'tar-stream';
import zlib from 'zlib'; import zlib from 'zlib';
@ -55,7 +55,12 @@ export const downloadPreviousBuild = task(import.meta.path, async () => {
} }
const extract = tarStream.extract(); 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}`; 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 fsp.mkdir(path.dirname(targetPath), { recursive: true });
await pipeline( await pipeline(
entry, entry as any,
fs.createWriteStream(targetPath) fs.createWriteStream(targetPath)
); );
} }

View File

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