mirror of
https://github.com/SukkaW/Surge.git
synced 2026-07-29 23:01:44 +08:00
Fix: Mihomo Name Server Policy Wildcard Handling
This commit is contained in:
@@ -149,18 +149,40 @@ export const buildDomesticRuleset = task(require.main === module, __filename)(as
|
|||||||
);
|
);
|
||||||
|
|
||||||
domains.forEach((domain) => {
|
domains.forEach((domain) => {
|
||||||
|
const isWildcard = domain.includes('*') || domain.includes('?');
|
||||||
switch (domain[0]) {
|
switch (domain[0]) {
|
||||||
case '$':
|
case '$': {
|
||||||
surgeOutput.addDomain(domain.slice(1));
|
const d = domain.slice(1);
|
||||||
mihomoOutput.addDomain(domain.slice(1));
|
if (isWildcard) {
|
||||||
|
surgeOutput.addDomainWildcard(d);
|
||||||
|
mihomoOutput.addDomainWildcard(d);
|
||||||
|
} else {
|
||||||
|
surgeOutput.addDomain(d);
|
||||||
|
mihomoOutput.addDomain(d);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case '+':
|
}
|
||||||
surgeOutput.addDomainSuffix(domain.slice(1));
|
case '+': {
|
||||||
mihomoOutput.addDomainSuffix(domain.slice(1));
|
const d = domain.slice(1);
|
||||||
|
if (isWildcard) {
|
||||||
|
surgeOutput.addDomainWildcard(`*.${d}`);
|
||||||
|
mihomoOutput.addDomainWildcard(`*.${d}`);
|
||||||
|
} else {
|
||||||
|
surgeOutput.addDomainSuffix(d);
|
||||||
|
mihomoOutput.addDomainSuffix(d);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
|
if (isWildcard) {
|
||||||
|
surgeOutput.addDomainWildcard(domain);
|
||||||
|
surgeOutput.addDomainWildcard(`*.${domain}`);
|
||||||
|
mihomoOutput.addDomainWildcard(domain);
|
||||||
|
mihomoOutput.addDomainWildcard(`*.${domain}`);
|
||||||
|
} else {
|
||||||
surgeOutput.addDomainSuffix(domain);
|
surgeOutput.addDomainSuffix(domain);
|
||||||
mihomoOutput.addDomainSuffix(domain);
|
mihomoOutput.addDomainSuffix(domain);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user