mirror of
https://github.com/pompurin404/mihomo-party.git
synced 2024-11-16 03:32:17 +08:00
fix dns for macos
Some checks are pending
Build / windows (arm64) (push) Waiting to run
Build / windows (ia32) (push) Waiting to run
Build / windows (x64) (push) Waiting to run
Build / linux (arm64) (push) Waiting to run
Build / linux (x64) (push) Waiting to run
Build / macos (arm64) (push) Waiting to run
Build / macos (x64) (push) Waiting to run
Build / updater (push) Blocked by required conditions
Build / aur-release-updater (mihomo-party) (push) Blocked by required conditions
Build / aur-release-updater (mihomo-party-bin) (push) Blocked by required conditions
Build / aur-release-updater (mihomo-party-electron) (push) Blocked by required conditions
Build / aur-release-updater (mihomo-party-electron-bin) (push) Blocked by required conditions
Build / aur-git-updater (push) Waiting to run
Some checks are pending
Build / windows (arm64) (push) Waiting to run
Build / windows (ia32) (push) Waiting to run
Build / windows (x64) (push) Waiting to run
Build / linux (arm64) (push) Waiting to run
Build / linux (x64) (push) Waiting to run
Build / macos (arm64) (push) Waiting to run
Build / macos (x64) (push) Waiting to run
Build / updater (push) Blocked by required conditions
Build / aur-release-updater (mihomo-party) (push) Blocked by required conditions
Build / aur-release-updater (mihomo-party-bin) (push) Blocked by required conditions
Build / aur-release-updater (mihomo-party-electron) (push) Blocked by required conditions
Build / aur-release-updater (mihomo-party-electron-bin) (push) Blocked by required conditions
Build / aur-git-updater (push) Waiting to run
This commit is contained in:
parent
408f445c73
commit
52f9980295
|
@ -10,5 +10,4 @@
|
|||
|
||||
### Bug Fixes
|
||||
|
||||
- 修复更新内核后内核无法正常关闭的问题
|
||||
- 优化规则/代理页面性能
|
||||
- 修复某些MacOS DNS设置失败的问题
|
||||
|
|
|
@ -44,7 +44,13 @@ export async function startCore(): Promise<void> {
|
|||
await checkProfile()
|
||||
await stopCore()
|
||||
if (tun?.enable && autoSetDNS) {
|
||||
await setPublicDNS()
|
||||
try {
|
||||
await setPublicDNS()
|
||||
} catch (error) {
|
||||
await writeFile(logPath(), `[Manager]: set dns failed, ${error}`, {
|
||||
flag: 'a'
|
||||
})
|
||||
}
|
||||
}
|
||||
child = spawn(corePath, ['-d', mihomoWorkDir()])
|
||||
child.on('close', async (code, signal) => {
|
||||
|
@ -93,7 +99,9 @@ export async function stopCore(force = false): Promise<void> {
|
|||
await recoverDNS()
|
||||
}
|
||||
} catch (error) {
|
||||
// todo
|
||||
await writeFile(logPath(), `[Manager]: recover dns failed, ${error}`, {
|
||||
flag: 'a'
|
||||
})
|
||||
}
|
||||
|
||||
if (child) {
|
||||
|
@ -202,7 +210,7 @@ async function getOriginDNS(password?: string): Promise<void> {
|
|||
let sudo = ''
|
||||
if (password) sudo = `echo "${password}" | sudo -S `
|
||||
const service = await getDefaultService(password)
|
||||
const { stdout: dns } = await execPromise(`${sudo}networksetup -getdnsservers ${service}`)
|
||||
const { stdout: dns } = await execPromise(`${sudo}networksetup -getdnsservers "${service}"`)
|
||||
if (dns.startsWith("There aren't any DNS Servers set on")) {
|
||||
await patchAppConfig({ originDNS: 'Empty' })
|
||||
} else {
|
||||
|
@ -215,8 +223,7 @@ async function setDNS(dns: string, password?: string): Promise<void> {
|
|||
let sudo = ''
|
||||
if (password) sudo = `echo "${password}" | sudo -S `
|
||||
const execPromise = promisify(exec)
|
||||
await execPromise(`${sudo}networksetup -setdnsservers ${service} ${dns}`)
|
||||
// todo
|
||||
await execPromise(`${sudo}networksetup -setdnsservers "${service}" ${dns}`)
|
||||
}
|
||||
|
||||
async function setPublicDNS(): Promise<void> {
|
||||
|
|
Loading…
Reference in New Issue
Block a user