From 85f430f18874c8bfce3b8d1fcb920a79b34d982a Mon Sep 17 00:00:00 2001 From: xmk23333 Date: Thu, 1 Jan 2026 10:46:13 +0800 Subject: [PATCH] fix: request admin privileges for DNS settings on macOS --- src/main/core/manager.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/core/manager.ts b/src/main/core/manager.ts index aa21757..f80f840 100644 --- a/src/main/core/manager.ts +++ b/src/main/core/manager.ts @@ -977,7 +977,10 @@ async function getOriginDNS(): Promise { async function setDNS(dns: string): Promise { const service = await getDefaultService() const execPromise = promisify(exec) - await execPromise(`networksetup -setdnsservers "${service}" ${dns}`) + // networksetup 需要 root 权限,通过 osascript 请求管理员权限执行 + const shell = `networksetup -setdnsservers "${service}" ${dns}` + const command = `do shell script "${shell}" with administrator privileges` + await execPromise(`osascript -e '${command}'`) } async function setPublicDNS(): Promise {