diff --git a/UPDATELOG.md b/UPDATELOG.md index 5b62f5e2..3b7b257e 100644 --- a/UPDATELOG.md +++ b/UPDATELOG.md @@ -62,6 +62,7 @@ - 仅在 Ubuntu 22.04/24.04、Fedora 41 的 **GNOME 桌面环境** 做过简单测试,不保证其他 Linux 发行版兼容,后续将逐步适配和优化。 - macOS: + - MacOS 下自动升级成功后请关闭程序等待 30 秒重启,因为 MacOS 的端口释放特性,卸载服务后需重启应用等 30 秒才能恢复内核通信。立即启动可能无法正常启动内核。 - 墙贴主要为浅色,深色 Tray 图标存在闪烁问题; - 彩色 Tray 图标颜色偏淡; @@ -99,11 +100,13 @@ - 托盘新增当前轻量模式状态显示 - 关闭系统代理时同时断开已建立的连接 - 新增 WebDAV 功能: + - 加入 UA 请求头 - 支持目录重定向 - 备份目录检查与上传重试机制 - 自动订阅更新机制: + - 加入请求超时机制防止卡死 - 支持在代理状态下自动重试订阅更新 - 支持订阅卡片点击切换下次自动更新时间,并显示更新结果提示 @@ -120,11 +123,13 @@ ### 🚀 优化改进 - **系统相关:** + - 系统代理 Bypass 设置优化 - 优化代理设置更新逻辑与守卫机制 - Windows 启动方式调整为 Startup 文件夹,解决管理员模式下自启问题 - **性能与稳定性:** + - 全面异步化处理配置加载、UI 启动、事件通知等关键流程,解决卡顿问题 - 优化 MihomoManager 实现与窗口创建流程 - 改进内核日志等级为 `warn`,减少噪音输出 @@ -135,6 +140,7 @@ - 优化缓存 Mihomo proxy 和 providers 信息内存使用 - **前端与界面体验:** + - 切换规则页自动刷新数据 - 非激活订阅编辑时不再触发配置重载 - 优化托盘速率显示,macOS 下默认关闭 @@ -145,6 +151,7 @@ - 优化保存机制,使用平滑函数防止卡顿 - **配置增强与安全性:** + - 配置缺失 `secret` 字段时自动补全为 `set-your-secret` - 强制为 Mihomo 配置补全 `external-controller-cors` 字段(默认不允许跨域,限制本地访问)计划后续支持自定义 cors - 优化窗口权限设置与状态初始化逻辑 @@ -279,6 +286,7 @@ #### 新增功能 1. **首页** + - 新增首页功能,默认启动页面改为首页。 - 首页流量图卡片显示上传/下载名称。 - 首页支持轻量模式切换。 @@ -286,17 +294,21 @@ - 限制首页配置文件卡片URL长度。 2. **DNS 设置与覆写** + - 新增 DNS 覆写功能。 - 默认启用 DNS 覆写。 3. **解锁测试** + - 新增解锁测试页面。 4. **轻量模式** + - 新增轻量模式及设置。 - 添加自动轻量模式定时器。 5. **系统支持** + - Mihomo(meta)内核升级 1.19.3 - macOS 支持 CMD+W 关闭窗口。 - 新增 macOS 应用菜单。 @@ -311,6 +323,7 @@ #### 修复 1. **系统** + - 修复 Windows 热键崩溃。 - 修复 macOS 无框标题。 - 修复 macOS 静默启动崩溃。 @@ -325,6 +338,7 @@ #### 优化 1. **性能** + - 重构后端,巨幅性能优化。 - 优化首页组件性能。 - 优化流量图表资源使用。 @@ -337,6 +351,7 @@ - 优化修改verge配置性能。 2. **重构** + - 重构后端,巨幅性能优化。 - 优化定时器管理。 - 重构 MihomoManager 处理流量。 diff --git a/src/components/setting/mods/external-controller-cors.tsx b/src/components/setting/mods/external-controller-cors.tsx index 8e48b09e..2883393b 100644 --- a/src/components/setting/mods/external-controller-cors.tsx +++ b/src/components/setting/mods/external-controller-cors.tsx @@ -8,7 +8,7 @@ import { List, ListItem, Switch, - TextField + TextField, } from "@mui/material"; import { Delete as DeleteIcon } from "@mui/icons-material"; import { useLockFn, useRequest } from "ahooks"; @@ -34,18 +34,18 @@ export const HeaderConfiguration = forwardRef( const cors = clash?.["external-controller-cors"]; return { allowPrivateNetwork: cors?.["allow-private-network"] ?? true, - allowOrigins: cors?.["allow-origins"] ?? ["*"] + allowOrigins: cors?.["allow-origins"] ?? ["*"], }; }); // 处理CORS配置变更 const handleCorsConfigChange = ( key: "allowPrivateNetwork" | "allowOrigins", - value: boolean | string[] + value: boolean | string[], ) => { - setCorsConfig(prev => ({ + setCorsConfig((prev) => ({ ...prev, - [key]: value + [key]: value, })); }; @@ -74,8 +74,10 @@ export const HeaderConfiguration = forwardRef( await patchClash({ "external-controller-cors": { "allow-private-network": corsConfig.allowPrivateNetwork, - "allow-origins": corsConfig.allowOrigins.filter(origin => origin.trim() !== "") - } + "allow-origins": corsConfig.allowOrigins.filter( + (origin) => origin.trim() !== "", + ), + }, }); await mutateClash(); }, @@ -87,8 +89,8 @@ export const HeaderConfiguration = forwardRef( }, onError: () => { showNotice("error", t("Failed to save configuration")); - } - } + }, + }, ); useImperativeHandle(ref, () => ({ @@ -96,7 +98,7 @@ export const HeaderConfiguration = forwardRef( const cors = clash?.["external-controller-cors"]; setCorsConfig({ allowPrivateNetwork: cors?.["allow-private-network"] ?? true, - allowOrigins: cors?.["allow-origins"] ?? ["*"] + allowOrigins: cors?.["allow-origins"] ?? ["*"], }); setOpen(true); }, @@ -119,7 +121,6 @@ export const HeaderConfiguration = forwardRef( onOk={handleSave} > - {t("External Controller CORS Settings")} @@ -129,7 +130,12 @@ export const HeaderConfiguration = forwardRef( control={ handleCorsConfigChange("allowPrivateNetwork", e.target.checked)} + onChange={(e) => + handleCorsConfigChange( + "allowPrivateNetwork", + e.target.checked, + ) + } /> } label={t("Allow private network access")} @@ -144,7 +150,14 @@ export const HeaderConfiguration = forwardRef( {t("Allowed Origins")} {corsConfig.allowOrigins.map((origin, index) => ( -
+
( ); - } + }, );