restart core when enable tun

This commit is contained in:
pompurin404 2024-08-26 12:53:19 +08:00
parent 356e058a8a
commit e3acf47c6d
No known key found for this signature in database
2 changed files with 12 additions and 12 deletions

View File

@ -17,6 +17,7 @@ import { mainWindow, showMainWindow } from '..'
import { app, clipboard, ipcMain, Menu, nativeImage, shell, Tray } from 'electron' import { app, clipboard, ipcMain, Menu, nativeImage, shell, Tray } from 'electron'
import { dataDir, logDir, mihomoCoreDir, mihomoWorkDir } from '../utils/dirs' import { dataDir, logDir, mihomoCoreDir, mihomoWorkDir } from '../utils/dirs'
import { triggerSysProxy } from '../sys/sysproxy' import { triggerSysProxy } from '../sys/sysproxy'
import { restartCore } from '../core/manager'
export let tray: Tray | null = null export let tray: Tray | null = null
@ -154,8 +155,8 @@ const buildContextMenu = async (): Promise<Menu> => {
} else { } else {
await patchControledMihomoConfig({ tun: { enable } }) await patchControledMihomoConfig({ tun: { enable } })
} }
await patchMihomoConfig({ tun: { enable } })
mainWindow?.webContents.send('controledMihomoConfigUpdated') mainWindow?.webContents.send('controledMihomoConfigUpdated')
await restartCore()
ipcMain.emit('updateTrayMenu') ipcMain.emit('updateTrayMenu')
} }
}, },

View File

@ -3,12 +3,7 @@ import { useControledMihomoConfig } from '@renderer/hooks/use-controled-mihomo-c
import BorderSwitch from '@renderer/components/base/border-swtich' import BorderSwitch from '@renderer/components/base/border-swtich'
import { TbDeviceIpadHorizontalBolt } from 'react-icons/tb' import { TbDeviceIpadHorizontalBolt } from 'react-icons/tb'
import { useLocation, useNavigate } from 'react-router-dom' import { useLocation, useNavigate } from 'react-router-dom'
import { import { encryptString, isEncryptionAvailable, restartCore } from '@renderer/utils/ipc'
encryptString,
patchMihomoConfig,
isEncryptionAvailable,
restartCore
} from '@renderer/utils/ipc'
import { useSortable } from '@dnd-kit/sortable' import { useSortable } from '@dnd-kit/sortable'
import { CSS } from '@dnd-kit/utilities' import { CSS } from '@dnd-kit/utilities'
import { platform } from '@renderer/utils/init' import { platform } from '@renderer/utils/init'
@ -55,7 +50,7 @@ const TunSwitcher: React.FC = () => {
} else { } else {
await patchControledMihomoConfig({ tun: { enable } }) await patchControledMihomoConfig({ tun: { enable } })
} }
await patchMihomoConfig({ tun: { enable } }) await restartCore()
window.electron.ipcRenderer.send('updateTrayMenu') window.electron.ipcRenderer.send('updateTrayMenu')
} }
@ -73,10 +68,14 @@ const TunSwitcher: React.FC = () => {
<BasePasswordModal <BasePasswordModal
onCancel={() => setOpenPasswordModal(false)} onCancel={() => setOpenPasswordModal(false)}
onConfirm={async (password: string) => { onConfirm={async (password: string) => {
const encrypted = await encryptString(password) try {
await patchAppConfig({ encryptedPassword: encrypted }) const encrypted = await encryptString(password)
await restartCore() await patchAppConfig({ encryptedPassword: encrypted })
setOpenPasswordModal(false) await restartCore()
setOpenPasswordModal(false)
} catch (e) {
alert(e)
}
}} }}
/> />
)} )}