mirror of
https://github.com/pompurin404/mihomo-party.git
synced 2024-11-16 11:42:19 +08:00
fix ssid on new system
This commit is contained in:
parent
5217aa8c73
commit
85c7dded6b
|
@ -1,3 +1,8 @@
|
|||
### Breaking Changes
|
||||
|
||||
- 为了修复macOS应用内更新问题,此版本需要手动下载dmg进行安装
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- 修复macOS应用内更新后权限丢失的问题
|
||||
- 修复高版本macOS SSID获取失败的问题
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import axios from 'axios'
|
||||
import yaml from 'yaml'
|
||||
import { app } from 'electron'
|
||||
import { app, shell } from 'electron'
|
||||
import { getControledMihomoConfig } from '../config'
|
||||
import { dataDir, exeDir, exePath, isPortable, resourcesFilesDir } from '../utils/dirs'
|
||||
import { rm, writeFile } from 'fs/promises'
|
||||
|
@ -85,6 +85,7 @@ export async function downloadAndInstallUpdate(version: string): Promise<void> {
|
|||
app.quit()
|
||||
}
|
||||
if (file.endsWith('.dmg')) {
|
||||
try {
|
||||
const execPromise = promisify(exec)
|
||||
const name = exePath().split('.app')[0].replace('/Applications/', '')
|
||||
await execPromise(
|
||||
|
@ -102,6 +103,9 @@ export async function downloadAndInstallUpdate(version: string): Promise<void> {
|
|||
}
|
||||
app.relaunch()
|
||||
app.quit()
|
||||
} catch {
|
||||
shell.openPath(path.join(dataDir(), file))
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
rm(path.join(dataDir(), file))
|
||||
|
|
|
@ -3,7 +3,7 @@ import { promisify } from 'util'
|
|||
import { getAppConfig, patchControledMihomoConfig } from '../config'
|
||||
import { patchMihomoConfig } from '../core/mihomoApi'
|
||||
import { mainWindow } from '..'
|
||||
import { ipcMain } from 'electron'
|
||||
import { ipcMain, net } from 'electron'
|
||||
import { getDefaultService } from '../core/manager'
|
||||
|
||||
export async function getCurrentSSID(): Promise<string | undefined> {
|
||||
|
@ -26,21 +26,27 @@ export async function getCurrentSSID(): Promise<string | undefined> {
|
|||
}
|
||||
}
|
||||
if (process.platform === 'darwin') {
|
||||
try {
|
||||
const { stdout } = await execPromise(
|
||||
'/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I'
|
||||
)
|
||||
if (stdout.trim().startsWith('WARNING')) {
|
||||
if (net.isOnline()) {
|
||||
const service = await getDefaultService()
|
||||
const { stdout } = await execPromise(
|
||||
`networksetup -listpreferredwirelessnetworks ${service}`
|
||||
)
|
||||
if (stdout.trim().startsWith('Preferred networks on')) {
|
||||
if (stdout.split('\n').length > 1) {
|
||||
return stdout.split('\n')[1].trim()
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (const line of stdout.split('\n')) {
|
||||
if (line.trim().startsWith('SSID')) {
|
||||
return line.split(': ')[1].trim()
|
||||
}
|
||||
}
|
||||
} catch {
|
||||
const service = await getDefaultService()
|
||||
const { stdout } = await execPromise(`networksetup -getairportnetwork ${service}`)
|
||||
if (stdout.split(': ').length > 1) {
|
||||
return stdout.split(': ')[1].trim()
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch {
|
||||
|
|
Loading…
Reference in New Issue
Block a user