Include LAN domains in SSPanel profile build

This commit is contained in:
SukkaW 2024-06-16 01:14:34 +08:00
parent d7a2476f90
commit 6ee6e436f9

View File

@ -28,7 +28,7 @@ const removeNoResolved = (line: string) => line.replace(',no-resolve', '');
*/ */
export const buildSSPanelUIMAppProfile = task(import.meta.main, import.meta.path)(async (span) => { export const buildSSPanelUIMAppProfile = task(import.meta.main, import.meta.path)(async (span) => {
const [ const [
domesticDomains, [domesticDomains, directDomains, lanDomains],
appleCdnDomains, appleCdnDomains,
microsoftCdnDomains, microsoftCdnDomains,
appleCnDomains, appleCnDomains,
@ -46,7 +46,11 @@ export const buildSSPanelUIMAppProfile = task(import.meta.main, import.meta.path
] = await Promise.all([ ] = await Promise.all([
// domestic - domains // domestic - domains
getDomesticAndDirectDomainsRulesetPromise() getDomesticAndDirectDomainsRulesetPromise()
.then(data => data.flatMap(surgeRulesetToClashClassicalTextRuleset)), .then(
data => (
data.map(surgeRulesetToClashClassicalTextRuleset)
) as [string[], string[], string[]]
),
getAppleCdnDomainsPromise().then(domains => domains.map(domain => `DOMAIN-SUFFIX,${domain}`)), getAppleCdnDomainsPromise().then(domains => domains.map(domain => `DOMAIN-SUFFIX,${domain}`)),
getMicrosoftCdnRulesetPromise().then(surgeRulesetToClashClassicalTextRuleset), getMicrosoftCdnRulesetPromise().then(surgeRulesetToClashClassicalTextRuleset),
readFileIntoProcessedArray(path.resolve(import.meta.dir, '../Source/non_ip/apple_cn.conf')), readFileIntoProcessedArray(path.resolve(import.meta.dir, '../Source/non_ip/apple_cn.conf')),
@ -97,6 +101,10 @@ export const buildSSPanelUIMAppProfile = task(import.meta.main, import.meta.path
...globalDomains, ...globalDomains,
...telegramDomains ...telegramDomains
], ],
[
...directDomains,
...lanDomains
],
domesticCidrs, domesticCidrs,
streamCidrs, streamCidrs,
[ [
@ -121,6 +129,7 @@ function generateAppProfile(
steamDomains: string[], steamDomains: string[],
globalDomains: string[], globalDomains: string[],
lanDomains: string[],
directCidrs: string[], directCidrs: string[],
streamCidrs: string[], streamCidrs: string[],
globalCidrs: string[], globalCidrs: string[],
@ -189,6 +198,8 @@ 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