try to fix macos dns
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:
pompurin404 2024-09-02 15:13:12 +08:00
parent cf09e62034
commit d137b372ea
No known key found for this signature in database

View File

@ -192,14 +192,12 @@ async function getDefaultService(password?: string): Promise<string> {
let device = deviceOut.split('\n').find((s) => s.includes('interface:'))
device = device?.trim().split(' ').slice(1).join(' ')
if (!device) throw new Error('Get device failed')
const { stdout: hardwareOut } = await execPromise(`${sudo}networksetup -listallhardwareports`)
const hardware = hardwareOut
.split('Ethernet Address:')
.find((s) => s.includes(`Device: ${device}`))
if (!hardware) throw new Error('Get hardware failed')
for (const line of hardware.split('\n')) {
if (line.startsWith('Hardware Port:')) {
return line.trim().split(' ').slice(2).join(' ')
const { stdout: order } = await execPromise(`${sudo}networksetup -listnetworkserviceorder`)
const block = order.split('\n\n').find((s) => s.includes(`Device: ${device}`))
if (!block) throw new Error('Get networkservice failed')
for (const line of block.split('\n')) {
if (line.match(/^\(\d+\).*/)) {
return line.trim().split(' ').slice(1).join(' ')
}
}
throw new Error('Get service failed')