mirror of
https://github.com/SukkaW/Surge.git
synced 2025-12-12 01:00:34 +08:00
Update CDN & Speedtest Hosts
This commit is contained in:
parent
7dbb3ac36b
commit
95a2e0f6b7
@ -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
|
||||
|
||||
@ -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\',',
|
||||
' ],',
|
||||
|
||||
@ -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)
|
||||
);
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user