mirror of
https://github.com/SukkaW/Surge.git
synced 2026-09-12 18:44:36 +08:00
Feat: Surge Compatible MTProto DC Config
This commit is contained in:
@@ -30,6 +30,7 @@ import { ROOT_DIR } from './constants/dir';
|
||||
import { isCI } from 'ci-info';
|
||||
import { printExternalDownloadStats } from './lib/download-stats';
|
||||
import { endOutputWorkerFarm, warmOutputWorkerFarm } from './lib/rules/output-worker-farm';
|
||||
import { appendArrayInPlace } from 'foxts/append-array-in-place';
|
||||
|
||||
process.on('uncaughtException', (error) => {
|
||||
console.error('Uncaught exception:', error);
|
||||
@@ -78,9 +79,9 @@ const buildFinishedLock = path.join(ROOT_DIR, '.BUILD_FINISHED');
|
||||
require.resolve('./build-cdn-download-conf.worker')
|
||||
)(['buildCdnDownloadConf']);
|
||||
|
||||
const telegramCidrWorker = createWorker<typeof import('./build-telegram-cidr.worker')>(
|
||||
require.resolve('./build-telegram-cidr.worker')
|
||||
)(['buildTelegramCIDR']);
|
||||
const telegramWorker = createWorker<typeof import('./build-telegram.worker')>(
|
||||
require.resolve('./build-telegram.worker')
|
||||
)(['buildTelegram']);
|
||||
|
||||
const mockAssetsWorker = createWorker<typeof import('./download-mock-assets.worker')>(
|
||||
require.resolve('./download-mock-assets.worker')
|
||||
@@ -99,31 +100,31 @@ const buildFinishedLock = path.join(ROOT_DIR, '.BUILD_FINISHED');
|
||||
|
||||
const downloadPreviousBuildPromise = downloadPreviousBuild();
|
||||
|
||||
const traces: TraceResult[] = await Promise.all([
|
||||
downloadPreviousBuildPromise,
|
||||
downloadPreviousBuildPromise.then(() => buildCommon()),
|
||||
downloadPreviousBuildPromise.then(() => buildRejectIPList()),
|
||||
downloadPreviousBuildPromise.then(() => buildAppleCdn()),
|
||||
downloadPreviousBuildPromise.then(() => buildAICIDR()),
|
||||
downloadPreviousBuildPromise.then(() => cdnDownloadWorker.buildCdnDownloadConf()),
|
||||
downloadPreviousBuildPromise.then(() => buildRejectDomainSet()),
|
||||
downloadPreviousBuildPromise.then(() => telegramCidrWorker.buildTelegramCIDR()),
|
||||
downloadPreviousBuildPromise.then(() => buildChnCidr()),
|
||||
downloadPreviousBuildPromise.then(() => buildSpeedtestDomainSet()),
|
||||
downloadPreviousBuildPromise.then(() => buildDomesticRuleset()),
|
||||
downloadPreviousBuildPromise.then(() => buildGlobalRuleset()),
|
||||
downloadPreviousBuildPromise.then(() => buildRedirectModule()),
|
||||
downloadPreviousBuildPromise.then(() => buildAlwaysRealIPModule()),
|
||||
downloadPreviousBuildPromise.then(() => buildStreamService()),
|
||||
downloadPreviousBuildPromise.then(() => microsoftCdnWorker.buildMicrosoftCdn()),
|
||||
downloadPreviousBuildPromise.then(() => buildCloudMounterRules()),
|
||||
mockAssetsWorker.downloadMockAssets()
|
||||
const [traces, telegramTraces]: [TraceResult[], TraceResult[]] = await Promise.all([
|
||||
Promise.all([
|
||||
downloadPreviousBuildPromise,
|
||||
downloadPreviousBuildPromise.then(() => buildCommon()),
|
||||
downloadPreviousBuildPromise.then(() => buildRejectIPList()),
|
||||
downloadPreviousBuildPromise.then(() => buildAppleCdn()),
|
||||
downloadPreviousBuildPromise.then(() => buildAICIDR()),
|
||||
downloadPreviousBuildPromise.then(() => cdnDownloadWorker.buildCdnDownloadConf()),
|
||||
downloadPreviousBuildPromise.then(() => buildRejectDomainSet()),
|
||||
downloadPreviousBuildPromise.then(() => buildChnCidr()),
|
||||
downloadPreviousBuildPromise.then(() => buildSpeedtestDomainSet()),
|
||||
downloadPreviousBuildPromise.then(() => buildDomesticRuleset()),
|
||||
downloadPreviousBuildPromise.then(() => buildGlobalRuleset()),
|
||||
downloadPreviousBuildPromise.then(() => buildRedirectModule()),
|
||||
downloadPreviousBuildPromise.then(() => buildAlwaysRealIPModule()),
|
||||
downloadPreviousBuildPromise.then(() => buildStreamService()),
|
||||
downloadPreviousBuildPromise.then(() => microsoftCdnWorker.buildMicrosoftCdn()),
|
||||
downloadPreviousBuildPromise.then(() => buildCloudMounterRules()),
|
||||
mockAssetsWorker.downloadMockAssets()
|
||||
]),
|
||||
downloadPreviousBuildPromise.then(() => telegramWorker.buildTelegram())
|
||||
]);
|
||||
|
||||
traces.push(
|
||||
await buildDeprecateFiles(),
|
||||
await buildPublic()
|
||||
);
|
||||
appendArrayInPlace(traces, telegramTraces);
|
||||
traces.push(await buildDeprecateFiles(), await buildPublic());
|
||||
|
||||
// write a file to demonstrate that the build is finished
|
||||
fs.writeFileSync(buildFinishedLock, 'BUILD_FINISHED\n');
|
||||
@@ -137,7 +138,7 @@ const buildFinishedLock = path.join(ROOT_DIR, '.BUILD_FINISHED');
|
||||
await Promise.all([
|
||||
microsoftCdnWorker.end(),
|
||||
cdnDownloadWorker.end(),
|
||||
telegramCidrWorker.end(),
|
||||
telegramWorker.end(),
|
||||
mockAssetsWorker.end(),
|
||||
endOutputWorkerFarm()
|
||||
]);
|
||||
|
||||
Reference in New Issue
Block a user