mirror of
https://github.com/woodchen-ink/clash-and-dashboard.git
synced 2025-07-18 14:01:56 +08:00
Feature: add mixed-port in settings (#47)
This commit is contained in:
parent
5873076fd7
commit
e1a8b559d1
@ -21,7 +21,8 @@ export default function Settings () {
|
|||||||
const { t } = useTranslation('Settings')
|
const { t } = useTranslation('Settings')
|
||||||
const [info, set] = useObject({
|
const [info, set] = useObject({
|
||||||
socks5ProxyPort: 7891,
|
socks5ProxyPort: 7891,
|
||||||
httpProxyPort: 7890
|
httpProxyPort: 7890,
|
||||||
|
mixedProxyPort: 0
|
||||||
})
|
})
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@ -32,6 +33,7 @@ export default function Settings () {
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
set('socks5ProxyPort', general.socksPort)
|
set('socks5ProxyPort', general.socksPort)
|
||||||
set('httpProxyPort', general.port)
|
set('httpProxyPort', general.port)
|
||||||
|
set('mixedProxyPort', general.mixedPort ?? 0)
|
||||||
}, [general])
|
}, [general])
|
||||||
|
|
||||||
async function handleProxyModeChange (mode: string) {
|
async function handleProxyModeChange (mode: string) {
|
||||||
@ -63,6 +65,11 @@ export default function Settings () {
|
|||||||
await fetchGeneral()
|
await fetchGeneral()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function handleMixedPortSave () {
|
||||||
|
await updateConfig({ 'mixed-port': info.mixedProxyPort })
|
||||||
|
await fetchGeneral()
|
||||||
|
}
|
||||||
|
|
||||||
async function handleAllowLanChange (state: boolean) {
|
async function handleAllowLanChange (state: boolean) {
|
||||||
await updateConfig({ 'allow-lan': state })
|
await updateConfig({ 'allow-lan': state })
|
||||||
await fetchGeneral()
|
await fetchGeneral()
|
||||||
@ -182,6 +189,21 @@ export default function Settings () {
|
|||||||
/>
|
/>
|
||||||
</Col>
|
</Col>
|
||||||
</Col>
|
</Col>
|
||||||
|
<Col span={12}>
|
||||||
|
<Col span={14} offset={1}>
|
||||||
|
<span className="label">{t('labels.mixedProxyPort')}</span>
|
||||||
|
</Col>
|
||||||
|
<Col span={8}>
|
||||||
|
<Input
|
||||||
|
disabled={clashXData.isClashX}
|
||||||
|
value={info.mixedProxyPort}
|
||||||
|
onChange={mixedProxyPort => set('mixedProxyPort', +mixedProxyPort)}
|
||||||
|
onBlur={handleMixedPortSave}
|
||||||
|
/>
|
||||||
|
</Col>
|
||||||
|
</Col>
|
||||||
|
</Row>
|
||||||
|
<Row>
|
||||||
<Col span={12}>
|
<Col span={12}>
|
||||||
<Col span={12} offset={1}>
|
<Col span={12} offset={1}>
|
||||||
<span className="label">{t('labels.externalController')}</span>
|
<span className="label">{t('labels.externalController')}</span>
|
||||||
|
@ -18,6 +18,7 @@ export default {
|
|||||||
proxyMode: 'Mode',
|
proxyMode: 'Mode',
|
||||||
socks5ProxyPort: 'Socks5 proxy port',
|
socks5ProxyPort: 'Socks5 proxy port',
|
||||||
httpProxyPort: 'HTTP proxy port',
|
httpProxyPort: 'HTTP proxy port',
|
||||||
|
mixedProxyPort: 'Mixed proxy port',
|
||||||
externalController: 'External controller'
|
externalController: 'External controller'
|
||||||
},
|
},
|
||||||
values: {
|
values: {
|
||||||
|
@ -18,6 +18,7 @@ export default {
|
|||||||
proxyMode: '代理模式',
|
proxyMode: '代理模式',
|
||||||
socks5ProxyPort: 'Socks5 代理端口',
|
socks5ProxyPort: 'Socks5 代理端口',
|
||||||
httpProxyPort: 'HTTP 代理端口',
|
httpProxyPort: 'HTTP 代理端口',
|
||||||
|
mixedProxyPort: '混合代理端口',
|
||||||
externalController: '外部控制设置'
|
externalController: '外部控制设置'
|
||||||
},
|
},
|
||||||
values: {
|
values: {
|
||||||
|
@ -9,6 +9,7 @@ export interface Config {
|
|||||||
port: number
|
port: number
|
||||||
'socks-port': number
|
'socks-port': number
|
||||||
'redir-port': number
|
'redir-port': number
|
||||||
|
'mixed-port': number
|
||||||
'allow-lan': boolean
|
'allow-lan': boolean
|
||||||
mode: string
|
mode: string
|
||||||
'log-level': string
|
'log-level': string
|
||||||
|
@ -79,6 +79,11 @@ export interface Data {
|
|||||||
*/
|
*/
|
||||||
socksPort?: number
|
socksPort?: number
|
||||||
|
|
||||||
|
/**
|
||||||
|
* mixed porxy port
|
||||||
|
*/
|
||||||
|
mixedPort?: number
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* redir proxy port
|
* redir proxy port
|
||||||
*/
|
*/
|
||||||
|
@ -163,6 +163,7 @@ export function useGeneral () {
|
|||||||
set({
|
set({
|
||||||
port: data.port,
|
port: data.port,
|
||||||
socksPort: data['socks-port'],
|
socksPort: data['socks-port'],
|
||||||
|
mixedPort: data['mixed-port'] ?? 0,
|
||||||
redirPort: data['redir-port'],
|
redirPort: data['redir-port'],
|
||||||
mode: data.mode.toLowerCase() as Models.Data['general']['mode'],
|
mode: data.mode.toLowerCase() as Models.Data['general']['mode'],
|
||||||
logLevel: data['log-level'],
|
logLevel: data['log-level'],
|
||||||
|
Loading…
x
Reference in New Issue
Block a user