mirror of
https://github.com/SukkaW/Surge.git
synced 2025-12-13 01:30:37 +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',
|
'.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
|
||||||
|
|||||||
@ -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\',',
|
||||||
' ],',
|
' ],',
|
||||||
|
|||||||
@ -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)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user