diff --git a/src/main/config/app.ts b/src/main/config/app.ts index fd40801..c8a98d9 100644 --- a/src/main/config/app.ts +++ b/src/main/config/app.ts @@ -14,6 +14,9 @@ export async function getAppConfig(force = false): Promise { } export async function patchAppConfig(patch: Partial): Promise { + if (patch.nameserverPolicy) { + appConfig.nameserverPolicy = patch.nameserverPolicy + } appConfig = deepMerge(appConfig, patch) await writeFile(appConfigPath(), yaml.stringify(appConfig)) } diff --git a/src/main/config/controledMihomo.ts b/src/main/config/controledMihomo.ts index 5e124c5..15bd2c9 100644 --- a/src/main/config/controledMihomo.ts +++ b/src/main/config/controledMihomo.ts @@ -39,6 +39,10 @@ export async function patchControledMihomoConfig(patch: Partial): if (patch.hosts) { controledMihomoConfig.hosts = patch.hosts } + if (patch.dns?.['nameserver-policy']) { + controledMihomoConfig.dns = controledMihomoConfig.dns || {} + controledMihomoConfig.dns['nameserver-policy'] = patch.dns['nameserver-policy'] + } controledMihomoConfig = deepMerge(controledMihomoConfig, patch) if (!useNameserverPolicy) { delete controledMihomoConfig?.dns?.['nameserver-policy']