mirror of
https://gh.catmak.name/https://github.com/mihomo-party-org/mihomo-party
synced 2025-12-27 13:10:30 +08:00
optimized title
This commit is contained in:
parent
0b92501b86
commit
253e2f20df
@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
- 1.2.x YAML覆写语法有所变动,请更新后参考文档进行修改
|
- 1.2.x YAML覆写语法有所变动,请更新后参考文档进行修改
|
||||||
|
|
||||||
### New Features
|
### Bug Fixes
|
||||||
|
|
||||||
- 支持使用自建Sub-Store后端
|
- 修复部分用户无法打开Sub-Store页面的问题
|
||||||
- 深度集成Sub-Store
|
- 修复Sub-Store无法复制的问题
|
||||||
- 优化延迟测试逻辑
|
- 修复MacOS路径有空格导致内核启动失败的问题
|
||||||
|
|||||||
@ -82,8 +82,7 @@ export async function enableAutoRun(): Promise<void> {
|
|||||||
}
|
}
|
||||||
if (process.platform === 'darwin') {
|
if (process.platform === 'darwin') {
|
||||||
app.setLoginItemSettings({
|
app.setLoginItemSettings({
|
||||||
openAtLogin: true,
|
openAtLogin: true
|
||||||
path: exePath()
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
if (process.platform === 'linux') {
|
if (process.platform === 'linux') {
|
||||||
|
|||||||
@ -142,7 +142,7 @@ const GeneralConfig: React.FC = () => {
|
|||||||
)}
|
)}
|
||||||
{platform === 'darwin' && (
|
{platform === 'darwin' && (
|
||||||
<>
|
<>
|
||||||
<SettingItem title="显示Dock图标" divider>
|
<SettingItem title="显示 Dock 图标" divider>
|
||||||
<Switch
|
<Switch
|
||||||
size="sm"
|
size="sm"
|
||||||
isSelected={useDockIcon}
|
isSelected={useDockIcon}
|
||||||
@ -163,7 +163,7 @@ const GeneralConfig: React.FC = () => {
|
|||||||
</SettingItem>
|
</SettingItem>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
<SettingItem title="启用Sub-Store" divider>
|
<SettingItem title="启用 Sub-Store" divider>
|
||||||
<Switch
|
<Switch
|
||||||
size="sm"
|
size="sm"
|
||||||
isSelected={useSubStore}
|
isSelected={useSubStore}
|
||||||
@ -178,7 +178,7 @@ const GeneralConfig: React.FC = () => {
|
|||||||
/>
|
/>
|
||||||
</SettingItem>
|
</SettingItem>
|
||||||
{useSubStore && (
|
{useSubStore && (
|
||||||
<SettingItem title="使用自建Sub-Store后端" divider>
|
<SettingItem title="使用自建 Sub-Store 后端" divider>
|
||||||
<Switch
|
<Switch
|
||||||
size="sm"
|
size="sm"
|
||||||
isSelected={useCustomSubStore}
|
isSelected={useCustomSubStore}
|
||||||
@ -194,7 +194,7 @@ const GeneralConfig: React.FC = () => {
|
|||||||
</SettingItem>
|
</SettingItem>
|
||||||
)}
|
)}
|
||||||
{useCustomSubStore && (
|
{useCustomSubStore && (
|
||||||
<SettingItem title="自建Sub-Store后端地址" divider>
|
<SettingItem title="自建 Sub-Store 后端地址" divider>
|
||||||
<Input
|
<Input
|
||||||
size="sm"
|
size="sm"
|
||||||
className="w-[60%]"
|
className="w-[60%]"
|
||||||
|
|||||||
@ -44,7 +44,7 @@ const MihomoConfig: React.FC = () => {
|
|||||||
size="sm"
|
size="sm"
|
||||||
className="w-[60%]"
|
className="w-[60%]"
|
||||||
value={url}
|
value={url}
|
||||||
placeholder="默认https://www.gstatic.com/generate_204"
|
placeholder="默认 https://www.gstatic.com/generate_204"
|
||||||
onValueChange={(v) => {
|
onValueChange={(v) => {
|
||||||
setUrl(v)
|
setUrl(v)
|
||||||
setUrlDebounce(v)
|
setUrlDebounce(v)
|
||||||
@ -57,7 +57,7 @@ const MihomoConfig: React.FC = () => {
|
|||||||
size="sm"
|
size="sm"
|
||||||
className="w-[60%]"
|
className="w-[60%]"
|
||||||
value={delayTestTimeout?.toString()}
|
value={delayTestTimeout?.toString()}
|
||||||
placeholder="默认5000"
|
placeholder="默认 5000"
|
||||||
onValueChange={(v) => {
|
onValueChange={(v) => {
|
||||||
patchAppConfig({ delayTestTimeout: parseInt(v) })
|
patchAppConfig({ delayTestTimeout: parseInt(v) })
|
||||||
}}
|
}}
|
||||||
@ -79,7 +79,7 @@ const MihomoConfig: React.FC = () => {
|
|||||||
<SelectItem key="4">四列</SelectItem>
|
<SelectItem key="4">四列</SelectItem>
|
||||||
</Select>
|
</Select>
|
||||||
</SettingItem>
|
</SettingItem>
|
||||||
<SettingItem title="接管DNS设置" divider>
|
<SettingItem title="接管 DNS 设置" divider>
|
||||||
<Switch
|
<Switch
|
||||||
size="sm"
|
size="sm"
|
||||||
isSelected={controlDns}
|
isSelected={controlDns}
|
||||||
|
|||||||
@ -23,7 +23,7 @@ const WebdavConfig: React.FC = () => {
|
|||||||
setBackuping(true)
|
setBackuping(true)
|
||||||
try {
|
try {
|
||||||
await webdavBackup()
|
await webdavBackup()
|
||||||
new window.Notification('备份成功', { body: '备份文件已上传至WebDav' })
|
new window.Notification('备份成功', { body: '备份文件已上传至 WebDav' })
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
alert(e)
|
alert(e)
|
||||||
} finally {
|
} finally {
|
||||||
@ -49,7 +49,7 @@ const WebdavConfig: React.FC = () => {
|
|||||||
<WebdavRestoreModal filenames={filenames} onClose={() => setRestoreOpen(false)} />
|
<WebdavRestoreModal filenames={filenames} onClose={() => setRestoreOpen(false)} />
|
||||||
)}
|
)}
|
||||||
<SettingCard>
|
<SettingCard>
|
||||||
<SettingItem title="WebDav地址" divider>
|
<SettingItem title="WebDav 地址" divider>
|
||||||
<Input
|
<Input
|
||||||
size="sm"
|
size="sm"
|
||||||
className="w-[60%]"
|
className="w-[60%]"
|
||||||
@ -60,7 +60,7 @@ const WebdavConfig: React.FC = () => {
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</SettingItem>
|
</SettingItem>
|
||||||
<SettingItem title="WebDav用户名" divider>
|
<SettingItem title="WebDav 用户名" divider>
|
||||||
<Input
|
<Input
|
||||||
size="sm"
|
size="sm"
|
||||||
className="w-[60%]"
|
className="w-[60%]"
|
||||||
@ -71,7 +71,7 @@ const WebdavConfig: React.FC = () => {
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</SettingItem>
|
</SettingItem>
|
||||||
<SettingItem title="WebDav密码" divider>
|
<SettingItem title="WebDav 密码" divider>
|
||||||
<Input
|
<Input
|
||||||
size="sm"
|
size="sm"
|
||||||
className="w-[60%]"
|
className="w-[60%]"
|
||||||
|
|||||||
@ -176,8 +176,8 @@ const DNS: React.FC = () => {
|
|||||||
selectedKey={values.enhancedMode}
|
selectedKey={values.enhancedMode}
|
||||||
onSelectionChange={(key: Key) => setValues({ ...values, enhancedMode: key as DnsMode })}
|
onSelectionChange={(key: Key) => setValues({ ...values, enhancedMode: key as DnsMode })}
|
||||||
>
|
>
|
||||||
<Tab key="fake-ip" title="虚假IP" />
|
<Tab key="fake-ip" title="虚假 IP" />
|
||||||
<Tab key="redir-host" title="真实IP" />
|
<Tab key="redir-host" title="真实 IP" />
|
||||||
<Tab key="normal" title="取消映射" />
|
<Tab key="normal" title="取消映射" />
|
||||||
</Tabs>
|
</Tabs>
|
||||||
</SettingItem>
|
</SettingItem>
|
||||||
@ -194,7 +194,7 @@ const DNS: React.FC = () => {
|
|||||||
/>
|
/>
|
||||||
</SettingItem>
|
</SettingItem>
|
||||||
<div className="flex flex-col items-stretch">
|
<div className="flex flex-col items-stretch">
|
||||||
<h3>真实IP回应</h3>
|
<h3>真实 IP 回应</h3>
|
||||||
{renderListInputs('fakeIPFilter', '例: +.lan')}
|
{renderListInputs('fakeIPFilter', '例: +.lan')}
|
||||||
</div>
|
</div>
|
||||||
<Divider className="my-2" />
|
<Divider className="my-2" />
|
||||||
@ -225,7 +225,7 @@ const DNS: React.FC = () => {
|
|||||||
</div>
|
</div>
|
||||||
<Divider className="my-2" />
|
<Divider className="my-2" />
|
||||||
<div className="flex flex-col items-stretch">
|
<div className="flex flex-col items-stretch">
|
||||||
<h3>DNS服务器</h3>
|
<h3>DNS 服务器</h3>
|
||||||
{renderListInputs('nameserver', '例: tls://223.5.5.5')}
|
{renderListInputs('nameserver', '例: tls://223.5.5.5')}
|
||||||
</div>
|
</div>
|
||||||
<Divider className="my-2" />
|
<Divider className="my-2" />
|
||||||
@ -266,7 +266,7 @@ const DNS: React.FC = () => {
|
|||||||
<Input
|
<Input
|
||||||
size="sm"
|
size="sm"
|
||||||
fullWidth
|
fullWidth
|
||||||
placeholder="DNS服务器"
|
placeholder="DNS 服务器"
|
||||||
value={Array.isArray(value) ? value.join(',') : value}
|
value={Array.isArray(value) ? value.join(',') : value}
|
||||||
onValueChange={(v) =>
|
onValueChange={(v) =>
|
||||||
handleSubkeyChange('nameserverPolicy', domain, v, index)
|
handleSubkeyChange('nameserverPolicy', domain, v, index)
|
||||||
@ -290,7 +290,7 @@ const DNS: React.FC = () => {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<SettingItem title="使用系统hosts" divider>
|
<SettingItem title="使用系统 Hosts" divider>
|
||||||
<Switch
|
<Switch
|
||||||
size="sm"
|
size="sm"
|
||||||
isSelected={values.useSystemHosts}
|
isSelected={values.useSystemHosts}
|
||||||
@ -299,7 +299,7 @@ const DNS: React.FC = () => {
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</SettingItem>
|
</SettingItem>
|
||||||
<SettingItem title="自定义hosts">
|
<SettingItem title="自定义 Hosts">
|
||||||
<Switch
|
<Switch
|
||||||
size="sm"
|
size="sm"
|
||||||
isSelected={values.useHosts}
|
isSelected={values.useHosts}
|
||||||
@ -334,7 +334,7 @@ const DNS: React.FC = () => {
|
|||||||
<Input
|
<Input
|
||||||
size="sm"
|
size="sm"
|
||||||
fullWidth
|
fullWidth
|
||||||
placeholder="域名或IP"
|
placeholder="域名或 IP"
|
||||||
value={Array.isArray(value) ? value.join(',') : value}
|
value={Array.isArray(value) ? value.join(',') : value}
|
||||||
onValueChange={(v) => handleSubkeyChange('hosts', domain, v, index)}
|
onValueChange={(v) => handleSubkeyChange('hosts', domain, v, index)}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -148,7 +148,7 @@ const Mihomo: React.FC = () => {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</SettingItem>
|
</SettingItem>
|
||||||
<SettingItem title="Socks端口" divider>
|
<SettingItem title="Socks 端口" divider>
|
||||||
<div className="flex">
|
<div className="flex">
|
||||||
{socksPortInput !== socksPort && (
|
{socksPortInput !== socksPort && (
|
||||||
<Button
|
<Button
|
||||||
@ -176,7 +176,7 @@ const Mihomo: React.FC = () => {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</SettingItem>
|
</SettingItem>
|
||||||
<SettingItem title="Http端口" divider>
|
<SettingItem title="Http 端口" divider>
|
||||||
<div className="flex">
|
<div className="flex">
|
||||||
{httpPortInput !== httpPort && (
|
{httpPortInput !== httpPort && (
|
||||||
<Button
|
<Button
|
||||||
@ -205,7 +205,7 @@ const Mihomo: React.FC = () => {
|
|||||||
</div>
|
</div>
|
||||||
</SettingItem>
|
</SettingItem>
|
||||||
{platform !== 'win32' && (
|
{platform !== 'win32' && (
|
||||||
<SettingItem title="Redir端口" divider>
|
<SettingItem title="Redir 端口" divider>
|
||||||
<div className="flex">
|
<div className="flex">
|
||||||
{redirPortInput !== redirPort && (
|
{redirPortInput !== redirPort && (
|
||||||
<Button
|
<Button
|
||||||
@ -235,7 +235,7 @@ const Mihomo: React.FC = () => {
|
|||||||
</SettingItem>
|
</SettingItem>
|
||||||
)}
|
)}
|
||||||
{platform === 'linux' && (
|
{platform === 'linux' && (
|
||||||
<SettingItem title="TProxy端口" divider>
|
<SettingItem title="TProxy 端口" divider>
|
||||||
<div className="flex">
|
<div className="flex">
|
||||||
{tproxyPortInput !== tproxyPort && (
|
{tproxyPortInput !== tproxyPort && (
|
||||||
<Button
|
<Button
|
||||||
@ -381,7 +381,7 @@ const Mihomo: React.FC = () => {
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</SettingItem>
|
</SettingItem>
|
||||||
<SettingItem title="使用RTT延迟测试" divider>
|
<SettingItem title="使用 RTT 延迟测试" divider>
|
||||||
<Switch
|
<Switch
|
||||||
size="sm"
|
size="sm"
|
||||||
isSelected={unifiedDelay}
|
isSelected={unifiedDelay}
|
||||||
@ -390,7 +390,7 @@ const Mihomo: React.FC = () => {
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</SettingItem>
|
</SettingItem>
|
||||||
<SettingItem title="TCP并发" divider>
|
<SettingItem title="TCP 并发" divider>
|
||||||
<Switch
|
<Switch
|
||||||
size="sm"
|
size="sm"
|
||||||
isSelected={tcpConcurrent}
|
isSelected={tcpConcurrent}
|
||||||
@ -408,7 +408,7 @@ const Mihomo: React.FC = () => {
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</SettingItem>
|
</SettingItem>
|
||||||
<SettingItem title="存储FakeIP" divider>
|
<SettingItem title="存储 FakeIP" divider>
|
||||||
<Switch
|
<Switch
|
||||||
size="sm"
|
size="sm"
|
||||||
isSelected={storeFakeIp}
|
isSelected={storeFakeIp}
|
||||||
|
|||||||
@ -32,7 +32,7 @@ const Settings: React.FC = () => {
|
|||||||
size="sm"
|
size="sm"
|
||||||
variant="light"
|
variant="light"
|
||||||
className="app-nodrag"
|
className="app-nodrag"
|
||||||
title="GitHub仓库"
|
title="GitHub 仓库"
|
||||||
onPress={() => {
|
onPress={() => {
|
||||||
window.open('https://github.com/pompurin404/mihomo-party')
|
window.open('https://github.com/pompurin404/mihomo-party')
|
||||||
}}
|
}}
|
||||||
@ -44,7 +44,7 @@ const Settings: React.FC = () => {
|
|||||||
size="sm"
|
size="sm"
|
||||||
variant="light"
|
variant="light"
|
||||||
className="app-nodrag"
|
className="app-nodrag"
|
||||||
title="Telegram群组"
|
title="Telegram 群组"
|
||||||
onPress={() => {
|
onPress={() => {
|
||||||
window.open('https://t.me/mihomo_party')
|
window.open('https://t.me/mihomo_party')
|
||||||
}}
|
}}
|
||||||
|
|||||||
@ -122,7 +122,7 @@ const Sniffer: React.FC = () => {
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</SettingItem>
|
</SettingItem>
|
||||||
<SettingItem title="对真实IP映射嗅探" divider>
|
<SettingItem title="对真实 IP 映射嗅探" divider>
|
||||||
<Switch
|
<Switch
|
||||||
size="sm"
|
size="sm"
|
||||||
isSelected={values.forceDNSMapping}
|
isSelected={values.forceDNSMapping}
|
||||||
@ -131,7 +131,7 @@ const Sniffer: React.FC = () => {
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</SettingItem>
|
</SettingItem>
|
||||||
<SettingItem title="对未映射IP地址嗅探" divider>
|
<SettingItem title="对未映射 IP 地址嗅探" divider>
|
||||||
<Switch
|
<Switch
|
||||||
size="sm"
|
size="sm"
|
||||||
isSelected={values.parsePureIP}
|
isSelected={values.parsePureIP}
|
||||||
|
|||||||
@ -129,7 +129,7 @@ const Sysproxy: React.FC = () => {
|
|||||||
size="sm"
|
size="sm"
|
||||||
className="w-[50%]"
|
className="w-[50%]"
|
||||||
value={values.host}
|
value={values.host}
|
||||||
placeholder="默认127.0.0.1若无特殊需求请勿修改"
|
placeholder="默认 127.0.0.1 若无特殊需求请勿修改"
|
||||||
onValueChange={(v) => {
|
onValueChange={(v) => {
|
||||||
setValues({ ...values, host: v })
|
setValues({ ...values, host: v })
|
||||||
}}
|
}}
|
||||||
@ -162,7 +162,7 @@ const Sysproxy: React.FC = () => {
|
|||||||
{values.mode === 'auto' && (
|
{values.mode === 'auto' && (
|
||||||
<SettingItem title="代理模式">
|
<SettingItem title="代理模式">
|
||||||
<Button size="sm" onPress={() => setOpenPacEditor(true)} variant="bordered">
|
<Button size="sm" onPress={() => setOpenPacEditor(true)} variant="bordered">
|
||||||
编辑PAC脚本
|
编辑 PAC 脚本
|
||||||
</Button>
|
</Button>
|
||||||
</SettingItem>
|
</SettingItem>
|
||||||
)}
|
)}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user