feat: auto-inject Xiaomi DIRECT rules on subscription push
This commit is contained in:
@@ -382,10 +382,30 @@ async function handleApi(req, res, apiPath) {
|
||||
const subConfigPath = path.join(configDir, 'sub-config.yaml');
|
||||
fs.writeFileSync(subConfigPath, content, 'utf-8');
|
||||
|
||||
// Inject our settings
|
||||
// Inject our settings and custom rules
|
||||
let configContent = content;
|
||||
configContent = configContent.replace(/external-controller:\s*'[^']*'/, "external-controller: '0.0.0.0:9097'");
|
||||
configContent = configContent.replace(/secret:\s*"[^"]*"/, 'secret: "orangepi"');
|
||||
|
||||
// Inject Xiaomi DIRECT rules before existing rules
|
||||
const xiaomiRules = [
|
||||
'# Xiaomi domains - DIRECT',
|
||||
' - DOMAIN-SUFFIX,mi.com,DIRECT',
|
||||
' - DOMAIN-SUFFIX,miui.com,DIRECT',
|
||||
' - DOMAIN-SUFFIX,xiaomi.com,DIRECT',
|
||||
' - DOMAIN-SUFFIX,xiaomi.net,DIRECT',
|
||||
' - DOMAIN-SUFFIX,mijia.tech,DIRECT',
|
||||
' - DOMAIN-SUFFIX,duokan.com,DIRECT',
|
||||
' - DOMAIN-SUFFIX,mi-img.com,DIRECT',
|
||||
' - DOMAIN-SUFFIX,miwifi.com,DIRECT',
|
||||
' - DOMAIN-SUFFIX,xiaomiev.com,DIRECT',
|
||||
' - DOMAIN-SUFFIX,xiaomiyoupin.com,DIRECT',
|
||||
' - DOMAIN-KEYWORD,xiaomi,DIRECT',
|
||||
' - DOMAIN-KEYWORD,miui,DIRECT',
|
||||
' - DOMAIN-KEYWORD,mijia,DIRECT',
|
||||
].join('\n');
|
||||
configContent = configContent.replace(/^rules:\s*\n/m, 'rules:\n' + xiaomiRules + '\n');
|
||||
|
||||
fs.writeFileSync(subConfigPath, configContent, 'utf-8');
|
||||
|
||||
// Reload mihomo with new config
|
||||
|
||||
Reference in New Issue
Block a user