mirror of
https://github.com/SukkaW/Surge.git
synced 2026-07-29 10:51:45 +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) => {
|
||||
const isWildcard = domain.includes('*') || domain.includes('?');
|
||||
switch (domain[0]) {
|
||||
case '$':
|
||||
surgeOutput.addDomain(domain.slice(1));
|
||||
mihomoOutput.addDomain(domain.slice(1));
|
||||
case '$': {
|
||||
const d = domain.slice(1);
|
||||
if (isWildcard) {
|
||||
surgeOutput.addDomainWildcard(d);
|
||||
mihomoOutput.addDomainWildcard(d);
|
||||
} else {
|
||||
surgeOutput.addDomain(d);
|
||||
mihomoOutput.addDomain(d);
|
||||
}
|
||||
break;
|
||||
case '+':
|
||||
surgeOutput.addDomainSuffix(domain.slice(1));
|
||||
mihomoOutput.addDomainSuffix(domain.slice(1));
|
||||
}
|
||||
case '+': {
|
||||
const d = domain.slice(1);
|
||||
if (isWildcard) {
|
||||
surgeOutput.addDomainWildcard(`*.${d}`);
|
||||
mihomoOutput.addDomainWildcard(`*.${d}`);
|
||||
} else {
|
||||
surgeOutput.addDomainSuffix(d);
|
||||
mihomoOutput.addDomainSuffix(d);
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
surgeOutput.addDomainSuffix(domain);
|
||||
mihomoOutput.addDomainSuffix(domain);
|
||||
if (isWildcard) {
|
||||
surgeOutput.addDomainWildcard(domain);
|
||||
surgeOutput.addDomainWildcard(`*.${domain}`);
|
||||
mihomoOutput.addDomainWildcard(domain);
|
||||
mihomoOutput.addDomainWildcard(`*.${domain}`);
|
||||
} else {
|
||||
surgeOutput.addDomainSuffix(domain);
|
||||
mihomoOutput.addDomainSuffix(domain);
|
||||
}
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user