mirror of
https://gh.catmak.name/https://github.com/mihomo-party-org/mihomo-party
synced 2025-12-27 13:10:30 +08:00
improve external controller
This commit is contained in:
parent
73613820e8
commit
ceaacffe10
@ -93,9 +93,9 @@ app.whenReady().then(async () => {
|
|||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
await startCore()
|
await startCore()
|
||||||
setTimeout(async () => {
|
setTimeout(() => {
|
||||||
await initProfileUpdater()
|
initProfileUpdater()
|
||||||
}, 60000)
|
}, 0)
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
dialog.showErrorBox('内核启动出错', `${e}`)
|
dialog.showErrorBox('内核启动出错', `${e}`)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -22,7 +22,7 @@ const Mihomo: React.FC = () => {
|
|||||||
const { controledMihomoConfig, patchControledMihomoConfig } = useControledMihomoConfig()
|
const { controledMihomoConfig, patchControledMihomoConfig } = useControledMihomoConfig()
|
||||||
const {
|
const {
|
||||||
ipv6,
|
ipv6,
|
||||||
'external-controller': externalController,
|
'external-controller': externalController = '127.0.0.1:9090',
|
||||||
secret,
|
secret,
|
||||||
'log-level': logLevel = 'info',
|
'log-level': logLevel = 'info',
|
||||||
'find-process-mode': findProcessMode = 'strict',
|
'find-process-mode': findProcessMode = 'strict',
|
||||||
@ -43,7 +43,12 @@ const Mihomo: React.FC = () => {
|
|||||||
const [httpPortInput, setHttpPortInput] = useState(httpPort)
|
const [httpPortInput, setHttpPortInput] = useState(httpPort)
|
||||||
const [redirPortInput, setRedirPortInput] = useState(redirPort)
|
const [redirPortInput, setRedirPortInput] = useState(redirPort)
|
||||||
const [tproxyPortInput, setTproxyPortInput] = useState(tproxyPort)
|
const [tproxyPortInput, setTproxyPortInput] = useState(tproxyPort)
|
||||||
const [externalControllerInput, setExternalControllerInput] = useState(externalController)
|
const [externalControllerServerInput, setExternalControllerServerInput] = useState(
|
||||||
|
externalController.split(':')[0]
|
||||||
|
)
|
||||||
|
const [externalControllerPortInput, setExternalControllerPortInput] = useState(
|
||||||
|
externalController.split(':')[1]
|
||||||
|
)
|
||||||
const [secretInput, setSecretInput] = useState(secret)
|
const [secretInput, setSecretInput] = useState(secret)
|
||||||
|
|
||||||
const [upgrading, setUpgrading] = useState(false)
|
const [upgrading, setUpgrading] = useState(false)
|
||||||
@ -258,15 +263,17 @@ const Mihomo: React.FC = () => {
|
|||||||
</div>
|
</div>
|
||||||
</SettingItem>
|
</SettingItem>
|
||||||
)}
|
)}
|
||||||
<SettingItem title="外部控制" divider>
|
<SettingItem title="外部控制地址" divider>
|
||||||
<div className="flex">
|
<div className="flex">
|
||||||
{externalControllerInput !== externalController && (
|
{externalControllerServerInput !== externalController.split(':')[0] && (
|
||||||
<Button
|
<Button
|
||||||
size="sm"
|
size="sm"
|
||||||
color="primary"
|
color="primary"
|
||||||
className="mr-2"
|
className="mr-2"
|
||||||
onPress={() => {
|
onPress={() => {
|
||||||
onChangeNeedRestart({ 'external-controller': externalControllerInput })
|
onChangeNeedRestart({
|
||||||
|
'external-controller': `${externalControllerServerInput}:${externalControllerPortInput}`
|
||||||
|
})
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
确认
|
确认
|
||||||
@ -275,9 +282,40 @@ const Mihomo: React.FC = () => {
|
|||||||
|
|
||||||
<Input
|
<Input
|
||||||
size="sm"
|
size="sm"
|
||||||
value={externalControllerInput}
|
className="w-[200px]"
|
||||||
|
value={externalControllerServerInput}
|
||||||
onValueChange={(v) => {
|
onValueChange={(v) => {
|
||||||
setExternalControllerInput(v)
|
setExternalControllerServerInput(v)
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</SettingItem>
|
||||||
|
<SettingItem title="外部控制端口" divider>
|
||||||
|
<div className="flex">
|
||||||
|
{externalControllerPortInput !== externalController.split(':')[1] && (
|
||||||
|
<Button
|
||||||
|
size="sm"
|
||||||
|
color="primary"
|
||||||
|
className="mr-2"
|
||||||
|
onPress={() => {
|
||||||
|
onChangeNeedRestart({
|
||||||
|
'external-controller': `${externalControllerServerInput}:${externalControllerPortInput}`
|
||||||
|
})
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
确认
|
||||||
|
</Button>
|
||||||
|
)}
|
||||||
|
|
||||||
|
<Input
|
||||||
|
size="sm"
|
||||||
|
type="number"
|
||||||
|
max={65535}
|
||||||
|
min={0}
|
||||||
|
className="w-[200px]"
|
||||||
|
value={externalControllerPortInput}
|
||||||
|
onValueChange={(v) => {
|
||||||
|
setExternalControllerPortInput(v)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -300,6 +338,7 @@ const Mihomo: React.FC = () => {
|
|||||||
<Input
|
<Input
|
||||||
size="sm"
|
size="sm"
|
||||||
type="password"
|
type="password"
|
||||||
|
className="w-[200px]"
|
||||||
value={secretInput}
|
value={secretInput}
|
||||||
onValueChange={(v) => {
|
onValueChange={(v) => {
|
||||||
setSecretInput(v)
|
setSecretInput(v)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user