diff --git a/Build/build-sspanel-appprofile.ts b/Build/build-sspanel-appprofile.ts index 87a9677b..490cb0ae 100644 --- a/Build/build-sspanel-appprofile.ts +++ b/Build/build-sspanel-appprofile.ts @@ -75,7 +75,7 @@ export const buildSSPanelUIMAppProfile = task(require.main === module, __filenam // domestic - ip cidr getChnCidrPromise(), // global - ip cidr - getTelegramCIDRPromise, + getTelegramCIDRPromise(), // lan - ip cidr readFileIntoProcessedArray(path.join(OUTPUT_SURGE_DIR, 'ip/lan.conf')) ] as const); diff --git a/Build/build-telegram-cidr.ts b/Build/build-telegram-cidr.ts index aa2ec4a2..5d0a4c89 100644 --- a/Build/build-telegram-cidr.ts +++ b/Build/build-telegram-cidr.ts @@ -5,7 +5,7 @@ import { RulesetOutput } from './lib/rules/ruleset'; import { getTelegramCIDRPromise } from './lib/get-telegram-backup-ip'; export const buildTelegramCIDR = task(require.main === module, __filename)(async (span) => { - const { timestamp, ipcidr, ipcidr6 } = await span.traceChildPromise('get telegram cidr', getTelegramCIDRPromise); + const { timestamp, ipcidr, ipcidr6 } = await span.traceChildAsync('get telegram cidr', getTelegramCIDRPromise); if (ipcidr.length + ipcidr6.length === 0) { throw new Error('Failed to fetch data!'); diff --git a/Build/lib/get-telegram-backup-ip.ts b/Build/lib/get-telegram-backup-ip.ts index 5a61f388..ecd751c6 100644 --- a/Build/lib/get-telegram-backup-ip.ts +++ b/Build/lib/get-telegram-backup-ip.ts @@ -9,6 +9,7 @@ import { base64ToUint8Array, concatUint8Arrays } from 'foxts/uint8array-utils'; import Worktank from 'worktank'; import { wait } from 'foxts/wait'; +import { once } from 'foxts/once'; const mtptoto_public_rsa = `-----BEGIN RSA PUBLIC KEY----- MIIBCgKCAQEAyr+18Rex2ohtVy8sroGP @@ -257,7 +258,7 @@ const pool = new Worktank({ } }); -export const getTelegramCIDRPromise = wait(0).then(() => pool.exec( +export const getTelegramCIDRPromise = once(() => wait(0).then(() => pool.exec( 'getTelegramBackupIPs', [__filename] -)).finally(() => pool.terminate()); +)).finally(() => pool.terminate()), false);