Skip to content

🧪 Beta 更新 ​

🧪 最新 Beta 版本 ​

更新28 项
亮点5 条
源码提交日期2026-11-05 16:44:02 CST

🎉 本次亮点 ​

  1. 三套仪表盘按需切换:经典、简约与霓虹三种布局共享实时数据,分别侧重可拖拽管理、状态概览和可视化监控,用户可按工作习惯选择展示方式。

  2. 导航与外观集中重构:侧边栏、图标栏和顶部导航均可选择,模块内统一使用标签切换;主题、圆角、玻璃材质、背景与效果质量集中到“界面外观”。

  3. 域名服务流程更清晰:域名与证书工作台提供概览引导、服务卡片、待处理事项和网关状态;DDNS、发布服务和证书入口按任务重新组织,减少查找和配置成本。

  4. 自建私网安装过程可见:EasyTier、Tailscale 等组件安装改为后台任务,界面显示当前阶段、下载进度和实时日志,失败后仍可查看安装记录。

  5. Sing-Box 代理组图标可保存:内置模板组可显示对应图标,自定义图标按配置单独保存,并在代理控制器与编辑器中保持一致。

📋 完整更新 ​

🎉 重磅功能 ​

  • 三套独立仪表盘布局:经典风格保留可拖拽卡片网格;简约风格提供时钟、活动环、服务卡片和设备信息;霓虹风格提供环形仪表、服务矩阵、网络曲线和终端读数。风格选择器同步更新为布局缩略图。
  • 悬浮外壳与可配置界面外观:侧栏、顶栏和移动底栏改为悬浮圆角表面;新增导航布局、主题模式、主题色、圆角、玻璃材质、透明度、模糊度、效果质量、背景场景和高光强度等设置,并支持随账号同步。
  • 模块化导航与简洁模式:导航按常用、扩展功能和管理组织为模块,模块内页面统一通过顶部标签切换;简洁模式默认隐藏配置文件、运行日志、Docker 事件等专业入口,开启高级功能后可显示,已有路由和深链接仍可访问。

🆕 新增功能 ​

  • Clone Fan Clash 配置模板:新增包含订阅提供商、地区策略组、延迟测试、故障转移、负载均衡、规则集及常见服务分流规则的 Clash 配置模板。
  • 域名服务概览工作台:域名与证书模块新增服务商账号、动态域名解析、发布服务的引导流程,并提供已发布服务卡片、待处理事项和网关状态;证书列表可显示剩余天数,空状态提供申请或导入入口。
  • 后台网络组件安装任务:新增安装任务的启动和状态查询能力,前端可跟踪准备、发布、下载、打包等阶段,以及下载进度、实时日志和失败信息。
  • macOS 物理网卡识别:macOS 可通过系统硬件端口和接口状态识别物理网卡、连接状态及协商速率,并过滤网桥、Thunderbolt 网络和本地管理地址对应的虚拟网卡。

✨ 功能增强 ​

  • DDNS 向导按域名优先配置:域名字段移到主要位置,已有服务商账号以卡片选择并默认选中;选择新账号时才显示令牌字段,记录类型、TTL 和公网地址来源收纳到更多设置,任务名称可根据域名生成。
  • 发布服务向导改为分步操作:发布流程使用带编号、说明和完成状态的步骤条;窄屏下隐藏过长的步骤提示,保留紧凑的步骤标识。
  • 仪表盘告警更聚焦:系统正常时隐藏“需要关注”面板;出现问题时按严重程度列出具体事项,并提供前往诊断或任务中心的入口。暂时隐藏后,问题发生变化时会再次提示。
  • 玻璃界面覆盖范围扩大:内容卡片、抽屉、弹窗、顶栏菜单、用户菜单和移动底栏统一使用玻璃材质;新增极光、柔光和纯色背景场景,高质量模式下极光可缓慢流动,并遵循减少透明度和减少动态效果设置。
  • 经典仪表盘布局重新调整:不同屏幕尺寸使用更宽松的卡片行高与间距,标题、图标块、分隔线、进度条、标签和拖拽手柄的视觉层次同步调整。
  • 域名与证书界面用语简化:将“凭据”“上游”“权威 DNS”等术语改为“服务商账号”“目标服务”“域名服务器”等更直观的表达,并同步调整检查状态、表单提示和操作名称。
  • 设置与代理编辑器层次统一:页面标题改为无边框标题行,内容卡片统一使用顶部高光和柔和阴影;代理编辑器的策略组、规则、规则集、节点和配置标签改为统一的多语言样式,并显示相关数量。
  • 设置项标题支持换行:设置卡片不再让宽控件挤压标题,时区、令牌有效期等设置项在空间不足时仍能显示完整标题。
  • 外观设置入口集中:设置页改为显示界面外观摘要和入口,主题模式与语言不再重复出现在多个位置;菜单顺序恢复按钮文案同步调整。
  • 仪表盘图表与服务视觉更新:图表改用单调平滑曲线;简约风格加入大号时钟、活动环和应用图标式服务卡片,霓虹风格加入发光负载核心、流量曲线和霓虹状态模块。

🐛 问题修复 ​

  • macOS 桌面版反向代理缓存目录校验异常:桌面版以 root 运行且配置目录位于普通用户主目录时,不再继承该用户的 XDG_DATA_HOME,而是使用 root 自己的运行时缓存目录,避免因缓存目录归属检查失败而无法启动。
  • 组件未安装时无法保存自建私网配置:保存配置不再因组件尚未安装而提前失败,“保存并应用”可以继续进入安装和启动流程。
  • EasyTier 在 macOS root 环境下误报 TUN 不可用:以 root 运行时允许使用 macOS 的 utun 设备;自定义设备名仍需符合 macOS 支持的 utunN 形式。
  • 复用已有网络程序时路径未保存:复用 Homebrew 等来源的 EasyTier 或 Tailscale 时写回实际程序路径,避免后续启动仍提示组件未安装。
  • WireGuard 残留接口影响重启恢复:Darwin 接口映射对应的 socket 不存在时按已停止处理,MSM 重启后可重新恢复接口。
  • Sing-Box 代理组图标在保存后丢失:Sing-Box 原生配置没有图标字段时,MSM 管理的图标不再随编辑器保存丢失;代理控制器和编辑器会补回已保存或模板提供的图标。
  • macOS 物理网卡列表为空:修复仅依赖 Linux 网卡目录导致 macOS 始终显示未检测到物理网卡的问题。
  • 域名服务工作台状态展示不一致:概览、DDNS、证书和发布服务页面重新整理数据展示与入口,证书剩余天数、失败事项和网关状态可在对应工作区查看。

⚠️ 兼容性变更 ​

  • 导航入口位置调整:Docker、域名与证书、远程访问和网络工具等功能改为在模块内通过顶部标签切换;移动端底栏固定为首页、DNS、代理、系统和“更多”,扩展模块位于“更多”。
  • 专业页面默认隐藏:配置文件、运行日志、Docker 事件等页面在简洁模式下不显示为标签,但原有地址和深链接仍可访问;需要时请开启高级功能。
  • 域名与证书模块名称更新:模块入口及标签改用“域名与证书”“反向代理”“动态域名解析”等更明确的名称,相关页面位置随模块化导航调整。

📌 升级提醒 ​

  • 网络组件安装改为后台任务:安装期间请在对应任务进度中查看阶段、下载进度和日志;安装失败时日志会保留,便于继续定位问题。
📋 构建信息
  • 发布通道:beta(Beta 版)
  • 源提交: 5b81b62
  • 提交信息:发布 MSM 2.2.0 并加入 Clone Fan 配置 / Release MSM 2.2.0 and add Clone Fan config
  • 提交作者:msm9527
  • 提交时间:2026-11-05 16:44:02 CST
  • 下载说明:同一发布页内提供各平台二进制、OpenWrt IPK/APK、LuCI 插件、派网 APX 与 SHA256 校验清单

📚 历史 Beta 版本 ​

下面仅列出最近几个 Beta 版本的主要变更,完整变更记录以 GitHub Release 为准。

beta-2.1.11 · 2026-11-04 12:31 · Beta 版

🎉 本次亮点

  • 首次安装中断后可继续恢复:系统会指出缺失的组件或运行配置;已有启用管理员可重新获取受限恢复会话,减少因初始化中断而重新开始配置的情况。
  • WireGuard 启动与路由冲突更易处理:已运行接口不会重复执行启动;冲突检查覆盖配置生成和启动阶段,并在失败信息中指出具体网段与处理建议。
  • macOS 上的 Sing-Box 初始化更可靠:移除不适用的 Linux tproxy 入站,不再写入固定的 utun-msm 名称,由 Sing-Box 分配合法的 utunN 接口,同时补充启动失败原因。
  • 实时图表更准确易读:Clash 流量和 MosDNS 查询趋势统一使用实时图表框架,支持采样窗口与共享坐标轴;无新查询时不再绘制虚假的零值或时间点。
  • Edge 路由日志更容易查看:运行状态卡片提供日志入口,托管和外部 Edge 的路由访问日志可通过统一日志接口查看,同时避免实时日志流为每条路由单独建立读取任务。
  • MosDNS 上游配置更少出错:前后端共同校验名称、协议、地址、拨号地址、SOCKS5 地址及 Aliyun API 凭据,窄屏界面也会完整显示长地址和连接信息。

🆕 新增功能

  • 初始化恢复会话:新增初始化恢复接口,仅在已有初始化配置但组件尚未完整部署时接受现有启用管理员的账号密码,并签发受限恢复会话;初始化完成后会拒绝继续恢复。
  • 初始化缺失组件明细:初始化状态会返回缺失的组件名称;除二进制和核心类型外,也会检查 MosDNS、Sing-Box 等运行配置文件是否存在且非空。
  • MosDNS 审计趋势查询:新增按时间范围和时间粒度查询审计趋势的接口,查询趋势页面可优先使用服务端时间序列数据,并保留本地采样窗口选择。
  • 可复用的实时指标图表:提供统一的实时指标展示能力,支持多坐标轴、图例显隐、悬停查看、键盘检查、窗口控制和数据新鲜度提示。

✨ 功能增强

  • Edge 观测设置集中管理:访问日志开关、健康检查和重试配置归入“日志与健康”区域;新建路由默认开启访问日志,已有路由配置不会因此被强制改写。
  • 上游 DNS 保存前后均进行校验:协议统一转为小写,并拒绝空名称、控制字符、未知协议、无效地址、非法端口和不完整的 Aliyun API 凭据;只有后端保存成功后,前端列表才会更新。
  • 窄屏上完整显示上游连接信息:移动端上游列表和统计卡片会对长名称、地址、拨号地址及 SOCKS5 信息换行显示,减少地址被截断后难以核对的问题。
  • Clash 更新信息匹配当前核心:Meta、Alpha、Smart 核心切换后,缓存的其他核心版本、下载地址、发布说明和更新状态不会继续展示;不匹配的缓存会被清理,但保留当前已安装版本。
  • 网络适配器识别兼容更多运行环境:容器或虚拟机缺少 sysfs device 链接时,仍可识别常见主机网卡、桥接及 macvlan/ipvlan 接口,同时继续过滤 Docker bridge、veth 等接口。
  • 初始化状态不再依赖过期浏览器缓存:后端不可达或服务重启期间,前端保持等待并继续检查,不会仅凭旧的本地状态直接进入已初始化页面。
  • 更新流程等待服务稳定就绪:更新和重启后会同时检查服务可达、就绪及重启进行状态;更新期间的后台轮询不会覆盖进度界面,并兼容未提供新就绪字段的旧服务。
  • 浏览器资源加载失败识别更完整:补充识别常见的 chunk、module 和动态模块加载失败信息,使现有页面恢复处理能够覆盖这些浏览器错误文案。

⚡ 性能优化

  • 全量日志查询限制保留记录数:原始日志和服务日志查询的 lines 参数最高按 20,000 条处理;全量扫描仍会继续进行,但响应只保留所需的最新匹配记录,避免一次请求保留过多日志条目。
  • 实时 Edge 日志流保持单一读取源:实时流继续读取运行日志;路由访问日志通过普通日志查询和路由日志面板获取,避免为每个路由建立独立的实时尾读任务。
  • MosDNS 趋势不再填充空白样本:没有有效查询时不生成虚假的零值数据;恢复产生新查询后才创建趋势点,图表能更准确反映当前时间窗口。

🐛 问题修复

  • 修复 WireGuard 重复启动:接口已存在且确认是活动的 WireGuard 接口时直接视为已启动;同名但无法确认属于 WireGuard 的接口不会被覆盖或删除。
  • 修复 WireGuard 路由冲突提示不清晰:保存、添加 peer、生成配置和启动前都会检查 peer 路由与本地接口网络的冲突;启动阶段发生主机路由冲突时,会显示涉及的网段和处理建议。
  • 修复 WireGuard 启动失败后的残留接口:启动失败后仅在确认残留接口属于 WireGuard 时执行清理,避免误操作同名的其他主机接口。
  • 修复旧网络状态中的 WireGuard peer 归属:当只有一个 WireGuard 配置且旧 peer 含有可识别密钥材料时恢复其归属;无法确认时保持未分配,避免错误安装到其他网络引擎。
  • 修复进程异常退出原因丢失:服务异常退出时附带本次运行 stderr 的最后一条非空信息;达到自动重启上限后保留最近一次退出原因。展示前会移除终端控制符、截断过长内容并进行敏感文本脱敏。
  • 修复 macOS Sing-Box 启动失败:macOS 配置不再保留 Linux 专用的 tproxy 入站,也会移除旧的非法固定 TUN 名称;已有 utun-msm 配置会改为由 Sing-Box 自动分配接口名称。
  • 修复初始化失败提示缺少后端原因:初始化失败提示现在会带出后端返回的具体错误信息,便于定位组件缺失、配置无效或平台不兼容等问题。
  • 修复 MosDNS 空闲窗口误显示延迟:当前时间窗口没有新查询时,当前查询数和延迟保持为零,并显示“暂无新查询”;只有出现有效查询后才写入趋势样本。
  • 修复 DNS 趋势图小数值刻度过粗:查询延迟会根据数据范围选择更细的刻度,亚毫秒级数据可显示到相应精度。
  • 修复 Edge 路由日志来源不完整:日志发现会纳入符合 Edge 路由访问日志命名规则的文件,同时排除无关文件和不符合规则的符号链接。
  • 修复更新后页面过早刷新:服务已经可连接但仍在初始化时,页面不会立即恢复普通请求或错误提示,减少更新过程中的短暂错误路由和连接报错。
  • 修复 Clash 流量图表使用过期采样:只有流量接口成功返回时才推进图表采样标记,连接数据单独成功不会让旧的速度数据看起来仍然是最新数据。

🛡️ 安全加固

  • 限制初始化恢复会话范围:恢复接口要求账号与已存在的启用管理员匹配,并验证管理员密码;接口仅在初始化未完成时可用,同时增加请求频率限制,不会创建第二个账号或通用登录会话。
  • 避免运行错误暴露敏感内容:进程 stderr 和 WireGuard 启动错误在返回前会进行终端控制字符清理、长度限制和敏感字段脱敏,保留可用于定位问题的非敏感信息。

⚠️ 兼容性变更

  • macOS Sing-Box 不再使用固定 TUN 名称:macOS 中旧的 utun-msm 会被移除,由 Sing-Box 自动分配 utunN;Linux 仍使用 tun-msm。用户自定义的合法 utunN 名称会保留。
  • macOS 配置会移除 TPROXY 入站:依赖 Linux IP_TRANSPARENT 的 tproxy 入站不再写入 macOS 配置,其他受支持的入站类型会保留。
  • 无效 MosDNS 上游配置无法保存:空地址、不支持的协议、格式错误的地址或端口需要先修正;禁用的 Aliyun API 上游可以不填写凭据,但启用时仍需提供完整账号信息。
  • 更新渠道信息按当前 Clash 核心重新判断:切换核心后,旧核心的缓存版本信息可能被清除,需要按当前核心重新检查可用版本。

📌 升级提醒

  • 恢复中断的首次安装:如果页面显示需要恢复,请重新输入已有管理员账号和密码。恢复流程不会复用浏览器草稿中的密码,也不会创建新的管理员账号。
  • Edge 新建路由的日志默认值:新建路由默认启用访问日志;如不需要,可在“日志与健康”区域关闭。已有路由的访问日志设置不会因升级自动改变。
beta-2.1.10 · 2026-11-03 08:43 · Beta 版

🎉 本次亮点

  • 更新流程一体化:MSM 更新将下载、安装、重启和版本确认串联起来,并用进度浮层展示阶段;服务恢复后还会核对实际版本,减少重复点击和误判完成。
  • WireGuard 路由冲突提前发现:保存配置、添加节点和启动接口前检查重复或冲突网段,并提供涉及节点和接口的信息,避免路由问题延迟到应用过程中才暴露。
  • Clash Smart 更新源恢复可用:切换到当前 Smart 分支发布源,同时兼容历史 MSM Smart 发布包,并按发布源、资产名称、版本标识和摘要进行校验。
  • 官方组件版本识别更准确:将 MosDNS 官方版本中的 msm- 命名空间与标准发布标签按同一版本比较,避免安装后持续显示可更新。

✨ 功能增强

  • 更新状态分阶段展示:网页端更新会分别显示下载、安装和重启阶段,持续轮询组件状态;已下载的安装包可从统一入口继续安装并等待重启完成。
  • 重启完成判断更可靠:更新或手动重启前记录服务启动基线,等待服务真正恢复后再继续;更新流程还会强制读取当前版本,并在实际版本与目标版本不一致时反馈错误。
  • 更新结果跨刷新保留:更新完成或失败后刷新页面,并通过会话状态显示成功结果或具体失败原因;更新期间会阻止重复触发同一流程。
  • 官方组件状态重新标记:Clash 或 MosDNS 完成状态检查、版本更新后,会将运行信息标记为官方来源,并清除与更新禁用相关的旧状态字段。
  • Smart 发布日期显示更贴近资产:当前上游 Smart 发布在没有旧式正文日期时使用资产更新时间;仍包含明确日期的历史 MSM 发布则继续使用正文日期。

🐛 问题修复

  • 修复 Edge Gateway 启动竞态:在 HTTP 路由对外提供服务前完成 Edge 组件状态恢复,避免启动早期因初始化尚未完成而返回 feature_disabled,同时网关监听尚未就绪。
  • 拒绝不同节点的重复 WireGuard 网段:保存 WireGuard 配置、添加节点以及生成运行配置时,会按规范化网段检查不同节点之间的重复路由,并在冲突时拒绝继续处理。
  • 合并同一节点内的等价路由:同一节点重复声明等价网段时只保留一条 AllowedIPs 路由,避免重复写入运行配置。
  • 修复 Linux 主机路由冲突启动:WireGuard 启动前检查 Linux 主路由表中与节点路由完全匹配的网段;发现冲突时返回网段、现有接口和节点信息,避免接口创建后再因路由添加失败。该主机路由预检仅在 Linux 执行,默认路由和仅部分重叠的网段不作为此项冲突。
  • 修复旧状态中的 WireGuard 路由问题:即使路由来自手工修改或历史状态,也会在序列化运行配置时重新校验,避免无效或重复路由直接进入运行配置。
  • 修复 MosDNS 版本误报更新:本地版本如 msm-v5.4.9-beta 会在后端比较、前端显示和更新关系判断中规范化为 5.4.9-beta,非版本格式的自定义核心名称不受此规则影响。

🛡️ 安全加固

  • Smart 更新仅接受受信发布路径:Clash Smart 更新现使用 vernesong/Clash 的 Prerelease-Alpha 发布源,并继续允许已安装历史 MSM Smart 版本从原有发布路径更新;其他 GitHub 路径、查询参数或镜像地址会被拒绝。
  • Smart 资产版本与来源校验扩展:当前上游 Smart 版本可从资产文件名读取 7–40 位源码修订标识,并要求正文包含 Smart 分支标识;历史 MSM 发布仍要求正文版本与资产修订一致,下载包继续要求可信摘要和版本校验后才能安装。
beta-2.1.9 · 2026-11-02 09:20 · Beta 版

🎉 本次亮点

  • 代理 IPv6 控制更清晰:代理核心 IPv6 支持跟随全局开关或单独关闭,宿主机网络、MosDNS 与代理核心分别使用对应设置,减少配置互相覆盖。
  • 受管反代支持 HTTP→HTTPS 跳转:可为具体域名配置独立 HTTP 监听端口,并生成保留路径和查询参数的 308 跳转;证书、端口和路由条件不满足时会拒绝应用。
  • 新增访问诊断工作区:可从 MSM 网络命名空间对比 DNS 解析与目标访问结果,并根据诊断结果提供后续处理入口,帮助定位解析、网络或代理链路问题。
  • 组件安装与更新增加兼容性保护:MSM、Clash、MosDNS、Sing-Box、Cloudflare Tunnel 及网络组件在识别、安装或更新前校验系统与 CPU 架构,组件包也采用验证后激活的流程。
  • 操作结果反馈更可靠:服务启停、核心切换和组件更新会区分处理中、需要关注及结果未知等状态,网络请求取消或无法确认结果时不再直接显示为普通失败或成功。

🆕 新增功能

  • 访问诊断:系统页新增访问诊断入口,可填写域名和客户端地址,查看 DNS、TCP/HTTPS 访问及代理相关结果,并根据结果跳转到相关处理页面;入口仅对管理员和操作员显示。
  • 受管反代 HTTP→HTTPS 跳转:反代路由新增 HTTP 跳转端口配置,启用后为具体域名生成指向 HTTPS 公网端口的 308 跳转,并保留原始路径与查询参数。
  • 反代应用适配预设:反代配置提供应用适配预设,可将对应应用所需的配置值应用到当前路由。
  • 功能与资源搜索:登录后可通过功能搜索查找页面和设置,并支持资源直达、搜索结果高亮与收藏;资源搜索默认开启,同时遵守用户关闭设置及账号、模块权限。
  • 设置页分区索引:设置页增加分区搜索与定位入口,可跳转到系统偏好、API Token、安装配置、IPv6/FakeIP 和网关回程等区域。
  • 客户端地址与诊断联动:MosDNS 客户端页面支持展示多个客户端地址;连接列表可按客户端地址筛选,并从相关页面进入访问诊断。
  • 网络能力关联入口:Cloudflare Tunnel 和 Networking 页面增加相关网络访问入口,便于在相关网络能力之间切换查看。
  • 代理配置应用状态:代理配置面板显示当前核心、保存或应用状态以及未保存修改状态;编辑配置后离开页面时会提示尚未保存的内容。
  • 移动端工具入口:移动端工具区域提供许可证查看和更新检查入口,并根据当前账号权限显示对应操作。

✨ 功能增强

  • 代理核心 IPv6 与全局 IPv6 解耦:proxy_ipv6 支持空值、开启和关闭三种语义;空值跟随全局 enable_ipv6,关闭时仅限制代理核心使用 IPv4。MosDNS、宿主机 IPv6 和 EasyTier 仍遵循全局 IPv6 设置。
  • IPv6 网络规则按实际用途应用设置:宿主机接口、RA 和转发使用宿主机 IPv6 开关;代理核心接管、策略路由和 FakeIP IPv6 路由使用有效的代理核心 IPv6 设置。
  • 配置文件同步不再固化跟随状态:Clash 配置同步会区分配置文件中的有效 IPv6 值与当前跟随状态,设置页保存未变化的代理 IPv6 时也不会用过期页面值覆盖已有配置。
  • 旧备份兼容代理 IPv6 设置:恢复缺少 proxy_ipv6 字段的旧备份时,根据原有全局 IPv6 设置推导代理核心行为,保留历史配置的跟随语义。
  • Sing-Box 配置同步更完整:更新 DNS、Provider、detour、TUN 路由和 IPv6 配置时保留原生字段及不相关的排除项;配置校验或后续写入失败时,会按流程恢复相关运行态与持久化状态。
  • 代理核心切换增加目标校验:更新通用配置或规则配置时支持携带预期核心标识;如果请求期间目标核心已变化,服务端会拒绝不匹配的写入,避免配置应用到错误核心。
  • 组件更新任务避免旧结果覆盖新任务:组件更新增加任务代次、当前任务和轮询状态判断;相同组件已有任务运行时不会重复发起,旧轮询也不会覆盖较新的结果。
  • Cloudflare Tunnel 启动恢复按边缘连接状态判断:Tunnel 恢复流程独立等待边缘连接状态;仪表盘新增 STARTING 状态,诊断信息可区分进程运行但尚未建立边缘连接的情况。
  • 受管反代配置能力扩展:反代请求支持上游主机模式、流式超时、连接关闭延迟及 HTTP 跳转端口等配置;创建和更新前会校验 TLS 证书选择,HTTPS 路由缺少可用证书时不会继续应用。
  • 日志查询与下载覆盖 Edge:日志候选文件支持由服务补充并去重;“全部日志”下载范围包含 Edge、MosDNS、Sing-Box、Clash 和 WireGuard,并继续处理备份日志选项。
  • MosDNS 客户端策略写入更加一致:客户端地址清单写入增加清洗、校验、串行化和失败恢复处理,减少策略刷新与编辑同时发生时的相互覆盖;客户端目录页面显示最近扫描时间。
  • 网络服务状态展示更准确:网络服务区分未安装、未配置、状态未知、需要授权和已停止等情况;缺少运行时组件时提供安装或配置方向,而不是统一显示为停止。
  • 资源列表查询状态统一:Docker 容器和 DDNS 页面使用统一的资源查询过滤逻辑;DDNS 更换查询条件时会回到第一页,避免沿用旧查询条件的页码。
  • 登录后返回原目标页面:从受保护页面进入普通登录或 Pro 登录后,登录成功会返回原目标位置,而不是固定回到首页。
  • 移动端与抽屉交互更适合触控:导航、用户菜单及快捷操作按钮使用更大的触控区域;抽屉关闭按钮不可用时会选择其他可用焦点目标,并避免错误触发关闭操作。
  • 系统移除范围展示更明确:设置页会展示重置或卸载涉及的配置、数据和网络恢复范围;该展示不改变既有执行语义。

⚡ 性能优化

  • 受管 Edge 运行时使用受控内存预算:Edge 运行时会结合应用已计算的内存预算设置管理上限,避免运行时配置脱离应用预算;代码证据未提供具体性能提升数值。

🐛 问题修复

  • 修复受管回家访问的路由处理:保留全局、订阅和普通节点的网卡绑定,仅为受管回家入站生成对应的系统路由出口,并将内部出口与普通节点编辑、配额和移动端导出路径隔离。
  • 修复核心二进制可用性误判:Clash、MosDNS 及相关组件在读取版本、判断安装状态和恢复时增加可执行文件兼容性检查,无法在当前系统或 CPU 架构运行的文件不会继续被当作可用组件。
  • 修复组件安装失败后的替换时机:Cloudflare Tunnel 等组件先在临时位置完成文件和版本验证,再提升为当前安装;验证失败时不会直接替换已有版本。
  • 修复网络组件安装包识别:EasyTier 和 Tailscale 的安装与版本判断会校验完整组件包及配套文件,减少仅存在单个可执行文件时的状态误判。
  • 修复 Sing-Box 版本后缀识别:版本后缀包含更复杂的字符组合时仍可参与版本解析,避免版本比较出现异常。
  • 修复 MosDNS 客户端策略并发覆盖:客户端策略基线、当前地址清单和写入操作增加并发保护,降低刷新与编辑同时发生时的覆盖风险。
  • 修复操作结果误判:请求取消、服务操作结果未知及核心切换超时等情况改为显示对应状态,不再直接归类为普通失败或成功。
  • 修复反代证书状态展示:反代路由未选择受管证书时显示为缺少证书,不再显示为自动 HTTPS。
  • 修复网络诊断地址过滤复用:DNS 解析结果过滤逻辑可按诊断场景复用,使不同访问探测流程使用一致的地址筛选规则。

🛡️ 安全加固

  • 反代写入增加预期核心校验:服务端在收到 X-MSM-Expected-Proxy-Core 时校验请求目标核心,并在目标发生变化时拒绝写入,降低核心切换竞态下误修改其他核心配置的风险。
  • 反代 TLS 配置增加应用前校验:创建或更新 HTTPS 反代前校验证书选择、域名类型、监听端口和路由冲突条件,条件不满足时不应用配置。

⚠️ 兼容性变更

  • 代理 IPv6 配置改为三态语义:proxy_ipv6 支持 true、false 和 null;null 表示跟随全局 IPv6。旧配置或旧备份缺少该字段时,会按原有全局开关推导。
  • HTTP 跳转必须满足启用条件:受管反代 HTTP→HTTPS 跳转要求启用 TLS、使用不同的 HTTP 与 HTTPS 监听端口、绑定具体域名,并具备已签发或导入的可用证书;通配符域名、监听冲突或路由冲突会被拒绝。
  • 代理配置接口支持预期核心请求头:更新通用配置或规则配置时可携带 X-MSM-Expected-Proxy-Core;调用方如需避免核心切换期间的竞态,应传递当前预期核心标识。
  • 安装与更新增加架构兼容性检查:不兼容当前系统或 CPU 架构的 MSM、Clash、MosDNS、Sing-Box、Cloudflare Tunnel 或网络组件二进制,会在安装、更新或识别阶段被拒绝。

📌 升级提醒

  • 确认代理 IPv6 组合设置:升级后请检查“全局 IPv6”和“代理核心 IPv6”的组合是否符合预期;如需让代理核心始终使用 IPv4,请单独关闭代理核心 IPv6。
  • 配置 HTTP 跳转前准备证书和端口:启用受管反代 HTTP→HTTPS 跳转前,请确认路由已配置可用的已签发或导入证书,并确保 HTTP 与 HTTPS 使用不同监听端口。
  • 关注组件架构提示:不兼容的组件会在激活前被拒绝;通过兼容性检查只表示候选文件满足识别条件,不代表组件服务已经成功运行。
beta-2.1.8 · 2026-10-28 11:14 · Beta 版

🎉 本次亮点

  • 诊断日志一键收集:从日志窗口导出 MSM 与当前运行服务的脱敏日志,按服务合并打包,省去逐个查找和下载的步骤。
  • MosDNS 升级保留用户选择:默认增量升级保留已修改的配置、开关和文件权限,自动恢复优先采用本地保存内容,避免旧快照覆盖较新的设置。
  • 组网状态分清保存与生效:服务卡片区分当前运行配置和已保存设置,EasyTier 显示实际分配地址,并为尚未应用的修改提供提示。
  • 日志与更新入口更顺手:顶栏新增日志快捷入口和管理员检查更新入口,适配网页、桌面端及移动端布局,快捷检查请求不会重复执行。

🆕 新增功能

  • 一键导出当前诊断日志:日志窗口可将 MSM、运行或暂停中的受管服务日志导出为 ZIP,包括 MosDNS 当前原生日志和运行中的 WireGuard 接口日志。每个服务合并为一个日志文件,排除轮转历史与停止服务日志。
  • 顶栏直达日志与更新检查:非访客用户可直接打开日志浮窗或移动端抽屉,重复点击不会创建多个日志窗口;管理员可跳转更新页并发起检查。网页与桌面端均按请求执行一次,忙碌时不额外并发检查。

✨ 功能增强

  • 小屏顶栏留出更多操作空间:收紧按钮间距,窄屏隐藏品牌文字及 Pro 主题按钮的文字和装饰图标;主题按钮补充可访问名称与悬停提示,保持紧凑布局下的可识别性。

🐛 问题修复

  • MosDNS 增量升级保留已修改文件:保留用户改过的主配置、自定义配置、子配置及文件权限,更新未修改的模板文件;开关仅补缺失项。兼容修复不再强制开启 FakeIP 缓存,也不再将未知用户配置登记为可替换的默认模板。
  • MosDNS 自动恢复优先采用本地设置:增量升级以本地文件中的开关、客户端代理模式、上游和 SOCKS5/ECS 设置为准;已有上游、全局覆盖、广告过滤源或分流源文件时,跳过对应旧快照回写,保留显式清空及 API 模型未覆盖的字段。缺少文件时仍可恢复旧快照。
  • MosDNS 独立网络策略不被旧初始化值覆盖:已初始化实例在保留配置重装及自动维护时,保留 MosDNS 文件中的 IPv6 选择与 FakeIP 网段,不再回放过时的初始化设置;必要的 IPv6 占位保护仍会补齐。
  • MosDNS 自定义写入参数跨版本保留:审计批量写入大小、刷新间隔及主缓存 WAL 同步间隔改为只补缺失值,不再因 MSM 构建或模板变化重置已有配置,保留用户自行调整的写入策略。
  • 组网卡片展示实际运行值:WireGuard、EasyTier 和 Tailscale 的卡片改用运行地址和已应用端口,WireGuard/EasyTier 网段按运行地址计算,WireGuard 端口提示同步跟随。EasyTier 从当前本地实例读取地址,读取失败不沿用旧租约或固定偏好;Tailscale 未连接时显示“由控制服务器分配”。
  • 组网待应用提示识别更多差异:EasyTier 对比当前配置、启动参数及程序,Tailscale 对比守护进程端口、程序和实际偏好,覆盖 DNS、路由、SSH、标签、出口节点等设置;路由顺序、等价 CIDR 和出口节点名称别名不会被误判为差异。
  • EasyTier 自动分配不再被静态字段阻挡:开启 DHCP 后禁用固定地址和网段输入,但保留原值及编辑内容供关闭后恢复;未使用的静态字段不再阻止保存,高级配置模式也不再额外要求填写这些隐藏字段。
  • EasyTier 静态网段与地址前缀一致:网段根据本机虚拟地址的 CIDR 前缀自动计算并只读展示,后台保存时同步规范化,避免单独填写的网段与核心实际使用的地址范围不一致。
  • Tailscale 保存不再校验无关静态地址:跳过由控制服务器分配地址时不使用的静态地址、网段及包含关系校验,避免隐藏的旧值阻挡真实设置保存,包括 IPv6 地址场景。
  • 已停止的 Tailscale 正确返回停止状态:受管守护进程不存在或已停止时,不再尝试通过不可用套接字采集状态,避免将明确停止的服务显示为采集不可用。

⚠️ 兼容性变更

  • 组网 API 分离保存值与运行值:config.local_address 保持保存值,不再被 Tailscale 实时地址替换。需要运行状态的集成应读取 services[] 下的 runtime_local_address、runtime_listen_port、runtime_virtual_cidr,并结合 settings_pending 判断是否待应用;相应运行值不可用时字段可能省略。

📌 升级提醒

  • 诊断日志导出的范围与权限:新日志包沿用 viewer 及以上日志读取权限,逐行脱敏,仅包含日志,不附带配置、进程环境或元数据;响应禁止缓存。导出期间阻止重复操作并反馈结果,打包失败不会返回不完整 ZIP;额外服务状态探测失败会记入 MSM 日志,对应日志可能未被收集。
  • MosDNS 配置保留适用范围:配置保留适用于默认增量升级及相应自动维护流程;全量、重置升级仍按所选模式使用模板。主动保存初始化设置、接受跨服务同步或恢复指定快照,仍会显式应用对应设置。
beta-2.1.7 · 2026-10-27 17:11 · Beta 版

🎉 本次亮点

  • 统一回家与组网入口
  • 完善系统重置并新增页面完全卸载 / Complete factory reset and add web uninstall
  • 国内检测源与双栈出口绑定 / use domestic sources and pin dual-stack egress
  • 新增 msm service uninstall --purge,安全停止所有系统托管和内置服务,恢复 DNS/网络状态后清理配置、组件、运行文件及 MSM 本体。OpenWrt 包文件交由包管理器处理,并同步桌面端卸载入口
  • 修复 IPv6 输入并完善回归验证
  • 兼容旧版服务安装与卸载

🆕 新增功能

  • 统一回家与组网入口
  • 新增 msm service uninstall --purge,安全停止所有系统托管和内置服务,恢复 DNS/网络状态后清理配置、组件、运行文件及 MSM 本体。OpenWrt 包文件交由包管理器处理,并同步桌面端卸载入口

✨ 功能增强

  • 完善系统重置并新增页面完全卸载 / Complete factory reset and add web uninstall
  • 升级至 2.1.7
  • revert(navigation): 撤回远程访问菜单重组
  • 增加完全卸载流程
  • 完善重置与服务卸载清理 / Harden reset and service uninstall cleanup
  • 修正 FakeIP 默认值说明与编辑器提示 / Align FakeIP defaults and editor hints

🐛 问题修复

  • 国内检测源与双栈出口绑定 / use domestic sources and pin dual-stack egress
  • 修复 IPv6 输入并完善回归验证
  • 兼容旧版服务安装与卸载
  • 完善依赖修复与 UDP 映射提示 / complete dependency repair and UDP port guidance
  • 修复网关回程及全站中英文文案 / correct gateway return and application translations
  • 重置保留授权并完善卸载反激活 / preserve licenses on reset and guard uninstall deactivation
  • 升级保留回家与自定义配置 / preserve home access and user configuration during upgrades
  • 修复重置后旧配置回流并完善清理界面
  • 修复系统重置时缺失 WireGuard 工具
  • 修复 MosDNS 客户端重复创建

📌 升级提醒

  • 从 2026-10-25T04:11:14Z 之后的 17 个提交中整理(纳入当前合并分支的 18 个去重提交);当前使用提交标题与正文要点生成规则摘要,未经过 AI 语义归纳或运行验证
beta-2.1.6 · 2026-10-25 11:56 · Beta 版

🎉 本次亮点

  • 设备地址展示更清晰:名单中的同一设备若同时拥有 IPv4 和 IPv6 地址,会按规范化 MAC 地址合并为一项,并优先使用 IPv4 作为主地址,减少重复设备条目。
  • 移除设备更完整:从白名单或黑名单移除合并后的设备时,会同时移除其主地址和关联地址;移除按钮也不会再误触发备注编辑。
  • 过期地址不再混入在线清单:Linux 邻居缓存中的非新鲜 IPv4 地址不再直接视为当前设备;主动扫描确认的 IPv4 作为当前结果,降低历史 DHCP 地址造成误判的可能。
  • IPv6 轮换时减少历史地址干扰:策略刷新会跟随当前邻居快照,设备仅呈现 IPv6 时最多保留一个最近使用的 IPv4 关联地址,不再恢复同一 MAC 下的全部历史 IPv4。

✨ 功能增强

  • 同设备 IPv4/IPv6 地址合并:名单客户端会按规范化后的 MAC 地址合并多个地址,保留关联地址、别名和备注等信息;合并结果优先使用 IPv4 作为主地址,没有有效主机名时使用 IPv4 展示。
  • 移除操作覆盖关联地址:白名单和黑名单移除合并设备时,会从名单中一并删除该设备的主地址及其他关联地址,并自动保存更新后的名单。
  • 移除按钮不再打开编辑界面:点击名单卡片中的移除按钮时,会阻止事件继续触发卡片编辑操作,避免移除设备的同时打开备注编辑。

🐛 问题修复

  • 过滤过期的 IPv4 邻居缓存:Linux 邻居项处于非新鲜状态时不再作为有效 IPv4 客户端;主动扫描成功后,缓存中的 IPv4 也不会补回扫描未确认的地址,同时仍可使用 IPv6 邻居信息补充清单。
  • 避免恢复整组历史 IPv4 地址:邻居刷新确认某个 MAC 仍存在、但当前没有 IPv4 时,仅保留该设备最近使用的一个可用 IPv4 作为策略关联锚点;链路本地 IPv6 只用于确认设备存在,不会作为展示地址。
  • IPv6 地址轮换跟随当前邻居快照:策略刷新不再恢复当前快照中缺失的历史 IPv6 地址,设备更换 IPv6 隐私地址后,清单按最新观察到的地址更新。
  • 修正邻居刷新后的扫描批次标记:每次邻居刷新都会更新客户端的最近扫描时间;仅由 ARP 发现的客户端也会记录当前扫描批次,使目录查询能够选择本次刷新结果。
beta-2.1.5 · 2026-10-25 03:11 · Beta 版

🎉 本次亮点

  • MosDNS 与代理配置可选同步:修改 IPv6 设置或可映射的域名名单后生成同步提议,用户可确认同步到目标服务,也可只保留当前服务的修改。
  • 核心切换减少旧缓存干扰:切换 Clash 或 Sing-Box 前处理仍可访问的旧核心缓存,并将 Fake-IP 的客户端 TTL 与陈旧复用窗口调整为 60 秒。
  • 核心操作增加并发与就绪边界:控制器请求、代理测速和 MosDNS API 都有并发上限与等待窗口;核心尚未完成启动检查时,相关变更会返回明确状态。
  • Sing-Box 安装核对归档内版本:在摘要校验之外,安装前检查归档内实际二进制版本是否符合发布元数据,版本不一致时拒绝继续安装。
  • 客户端目录按设备聚合地址:同一 MAC 的当前 IPv4/IPv6 地址合并展示,并过滤历史扫描地址及不适合作为客户端目标的特殊地址。

🎉 重磅功能

  • 可确认、可追踪的跨服务同步提议:新增持久化提议及查看、接受、拒绝接口,记录来源、目标、范围、载荷、版本和处理状态;提议默认 10 分钟过期,接受时检查待处理状态和来源版本。
  • 代理域名规则衔接 MosDNS 名单:Clash 或 Sing-Box 编辑器可将可表达为 DIRECT、REJECT 或代理策略的域名规则整理为 MosDNS 同步提议;IP、进程、端口、规则集以及不支持的正则和通配符规则不会被静默转换。

🆕 新增功能

  • 同步提议接口与权限边界:新增 /api/v1/policy-sync/offers,支持创建、查询、接受和拒绝;查看提议需要 viewer 角色,创建、接受和拒绝需要 operator 角色。
  • 同步确认交互:MosDNS 规则、block_ipv6 开关以及代理配置中的相关 IPv6 或域名名单变化可触发确认交互;同步写入支持 suppress_sync,避免双向同步形成回环。
  • 多地址客户端信息:客户端响应增加同一设备的地址集合,目录卡片和只读列表可同时显示当前活动的 IPv4 与 IPv6 地址。
  • Linux OUI 解析回退:系统缺少可用的 systemd-hwdb 厂商数据时,网络扫描改用内置只读 OUI 数据表;Darwin 与 Linux 共用该解析数据格式。
  • 核心 Fake-IP 清理能力:核心切换流程可从本地 Clash 或 Sing-Box 控制器读取配置并调用 Fake-IP 清理接口,控制器地址需满足本地回环 HTTP/HTTPS 限制。

✨ 功能增强

  • 核心重启增加就绪门控:Clash、Sing-Box 重启后若控制器或数据面仍在预热,会记录待就绪状态并阻止新的配置、控制器及相关变更;就绪探测成功或核心明确停止后清除该状态,停止操作仍可执行。
  • 通用服务入口复用核心生命周期:通用启动、停止和重启接口改为调用 Clash、Sing-Box 对应的服务对象,与专用入口共享生命周期控制,减少不同入口同时管理同一核心的情况。
  • 涉及重启的操作统一等待就绪结果:配置编辑、版本或配置切换、规则、代理组、Provider、家庭访问等操作,以及失败后的回滚,均通过统一的重启后就绪流程处理。
  • Sing-Box 外部请求使用托管直连选择器:控制器 UI、订阅 Provider 和远程规则集的请求改用 http_client.detour,指向配置中的“全球直连”选择器。
  • Sing-Box 兼容迁移范围扩大:旧配置中仅有 User-Agent、缺少 detour 的写法也会迁移到 http_client;1.14 及以上配置会为外部 UI、Provider 和远程规则集补齐相应 HTTP 客户端设置。
  • 客户端备注按设备关联:通过 MAC 地址识别客户端时,修改名称或描述会同步到同一设备的多个地址记录;策略 IP 扩展会排除不可用的特殊地址。
  • 客户端目录优先使用当前扫描窗口:目录按当前扫描数据聚合设备;缺少扫描批次信息的旧数据库改用最近扫描时间窗口筛选,减少历史 DHCP 或 IPv6 地址重新进入活动目录的情况。
  • Fake-IP 缓存窗口调整:MosDNS 模板中的 Fake-IP 客户端 TTL、陈旧结果窗口及高变化域名的陈旧窗口调整为 60 秒,以缩短核心切换或映射重建后的旧映射复用时间。
  • 节点探测等待与地址池判断调整:探测缓存写入后的调度等待从 1 秒调整为 10 毫秒;节点无 IPv4/IPv6 地址池仅在明确收到 NXDOMAIN(rcode 3)时更新,不再把 NOERROR 空响应作为同类依据。

⚡ 性能优化

  • 控制器请求限流:Clash 和 Sing-Box 控制器请求并发上限为 16,等待超过 750 毫秒、请求被取消或无法取得执行位置时返回忙碌状态。
  • 代理测速限流:单个核心的测速请求并发上限为 4,超过 750 毫秒仍无法取得执行位置时返回 PROXY_DELAY_BUSY。
  • MosDNS API 限流:MosDNS 运行时 API 并发上限为 16,超过 750 毫秒等待窗口后返回请求过多错误。
  • 控制器轮询统一受控:控制器查询、代理选择以及流量和内存快照等请求纳入并发控制,突发请求会在限定窗口内排队,无法排队时明确失败。

🐛 问题修复

  • 修复核心切换后的旧缓存影响:核心切换时先处理仍在运行的旧核心对应缓存,再停止旧核心并应用新核心;旧核心控制器不可访问时跳过原生 Fake-IP 清理并继续切换。
  • 修复策略邻居重新带回历史地址:策略邻居刷新仅保留当前快照观察到的设备地址,避免没有当前观察记录的旧地址重新参与策略绑定。
  • 修复特殊地址进入客户端目录:目录和策略处理会过滤未指定、回环、组播、链路本地及 IPv4 广播地址。
  • 修复同一设备多地址备注不一致:通过一个地址编辑客户端信息时,会同步更新同一 MAC 对应的其他地址记录。
  • 修复核心启动预热期间的重复操作:核心尚未完成控制器和数据面就绪检查时,配置变更和控制器操作不会立即再次触发同一核心。
  • 修复 Linux 厂商解析缺少系统数据时的空结果:systemd-hwdb 无法提供厂商信息时,改用内置 OUI 表继续解析。
  • 修复 Sing-Box 归档内部版本不一致:即使归档摘要匹配,内部 sing-box 二进制版本与发布元数据不一致时也会拒绝安装,并清理临时下载文件。

🛡️ 安全加固

  • 限制 Fake-IP 清理请求目标:清理接口仅允许访问绑定在回环地址上的 HTTP/HTTPS 控制器,不接受外部主机、Unix socket、额外路径、查询参数或片段。
  • 校验 Sing-Box 归档内实际版本:安装流程从归档中提取 sing-box 二进制并检查版本输出,要求实际版本与同一发布元数据中的期望版本一致。
  • 同步提议增加状态与来源版本校验:接受或拒绝前检查提议仍为待处理、未过期且来源版本未变化;条件不满足时不会转换提议状态。
  • 限制可同步的规则范围:代理侧同步只处理可表达为 MosDNS 名单的域名规则;IP、进程、端口、规则集及无法映射的规则不会被静默转换。

⚠️ 兼容性变更

  • 写接口响应可能增加同步提议字段:MosDNS 规则和相关开关写入成功时,响应可能包含 data.sync_offer;原有成功结果仍单独返回。
  • 控制器繁忙时返回明确错误:控制器请求过多时可能返回 HTTP 429 和 PROXY_CONTROLLER_BUSY;测速请求过多时返回 PROXY_DELAY_BUSY,调用方需稍后重试。
  • 核心未就绪时返回冲突状态:核心正在等待控制器或数据面就绪时,相关变更可能返回 HTTP 409 和 PROXY_START_PENDING;停止操作不受该门控阻止。
  • Sing-Box 旧配置可能被重写:写入或迁移配置时,旧的 download_detour、外部 UI 下载设置和 User-Agent 写法可能转换为 http_client 结构。
  • Fake-IP 默认 TTL 发生变化:依赖模板默认值的客户端收到的 Fake-IP TTL 由 600 秒调整为 60 秒,MosDNS 对旧映射的陈旧复用窗口也调整为 60 秒。

📌 升级提醒

  • 同步提议需要用户确认:本地修改会先保存;用户可选择同步或仅保留本地修改。接受提议表示确认同步选择,目标服务仍需使用提议载荷执行对应写入。
  • 来源发生变化时需重新生成提议:同步提议创建后,如果来源配置或规则发生变化,接受操作会因版本不匹配被拒绝。
  • 核心切换清理存在执行条件:只有旧核心处于运行状态且其本地控制器可访问时,才会执行原生 Fake-IP 清理;控制器不可访问时会跳过该步骤并继续切换。
  • 版本信息更新为 2.1.5:后端、Web 界面和桌面端显示的版本号同步更新。
beta-2.1.3 · 2026-10-24 18:20 · Beta 版

🎉 本次亮点

  • 修复 Clash 状态死锁与热重载响应
  • 修复 Clash 订阅切换服务中断

🐛 问题修复

  • 修复 Clash 状态死锁与热重载响应
  • 修复 Clash 订阅切换服务中断

📌 升级提醒

  • 从 2026-10-24T06:28:15Z 之后的 3 个提交中整理;当前使用提交标题与正文要点生成规则摘要,未经过 AI 语义归纳或运行验证
beta-2.1.2 · 2026-10-24 13:25 · Beta 版

🎉 本次亮点

  • 修正网络测试夹具格式
  • 修复多网卡核心切换并升级版本
  • 修复 Clash 订阅切换崩溃
  • 修复配置数据库同步与启动覆盖问题

✨ 功能增强

  • 修正网络测试夹具格式

🐛 问题修复

  • 修复多网卡核心切换并升级版本
  • 修复 Clash 订阅切换崩溃
  • 修复配置数据库同步与启动覆盖问题

📌 升级提醒

  • 从 2026-10-22T23:38:44Z 之后的 4 个提交中整理;当前使用提交标题与正文要点生成规则摘要,未经过 AI 语义归纳或运行验证
beta-2.1.1 · 2026-10-22 16:54 · Beta 版

🎉 本次亮点

  • 新增组件卸载能力
  • 升级 Go 至 1.27.3 修复中间证书信任漏洞 / Upgrade Go to 1.27.3 for CVE-2026-111943
  • 修正未安装组件安装操作文案
  • 修复 macOS 本地构建与路径兼容
  • 新增托管组件下载能力
  • 修复未安装组件状态显示

🆕 新增功能

  • 新增组件卸载能力
  • 新增托管组件下载能力

✨ 功能增强

  • 修正未安装组件安装操作文案
  • 完善 macOS WireGuard 后端校验 / Validate macOS WireGuard backend installs
  • 移除组件独立下载功能
  • 完善网络组件卸载流程 / Complete networking component uninstall flow
  • 收紧组件下载大小限制并完善文档 / Harden component download limits and docs
  • 清理前端文件末尾空白 / Clean frontend trailing whitespace

🐛 问题修复

  • 修复 macOS 本地构建与路径兼容
  • 修复未安装组件状态显示
  • 修复 macOS Tailscale 托管更新
  • 修复 macvlan 地址回放与桥接网卡筛选
  • 修复 WireGuard 修复进度与无包管理器处理
  • 修复 macOS WireGuard 按需安装依赖 / Install only missing macOS WireGuard packages
  • 修复 macOS WireGuard 依赖修复

🛡️ 安全加固

  • 升级 Go 至 1.27.3 修复中间证书信任漏洞 / Upgrade Go to 1.27.3 for CVE-2026-111943
  • 修复 Go 中间证书信任漏洞 / Upgrade Go for CVE-2026-111943

📌 升级提醒

  • 从 2026-10-21T07:32:25Z 之后的 18 个提交中整理;当前使用提交标题与正文要点生成规则摘要,未经过 AI 语义归纳或运行验证
beta-2.1.0 · 2026-10-21 15:12 · Beta 版

🎉 本次亮点

  • 补充 Setup Fake-IP 初始化回归测试
  • 修复 Setup Fake-IP 默认值与提交
  • 修复 TUN Fake-IP 失败回滚
  • 修复 EasyTier macOS 架构更新
  • 修复 macvlan 地址解析误过滤 / Preserve real macvlan addresses in resolver
  • 修复无更新时的清单误报

✨ 功能增强

  • 补充 Setup Fake-IP 初始化回归测试

🐛 问题修复

  • 修复 Setup Fake-IP 默认值与提交
  • 修复 TUN Fake-IP 失败回滚
  • 修复 EasyTier macOS 架构更新
  • 修复 macvlan 地址解析误过滤 / Preserve real macvlan addresses in resolver
  • 修复无更新时的清单误报
  • 修复多接口 Fake-IP 与静态容器地址
  • 阻止 macOS 下载错误的 Tailscale 架构 / Block incompatible Tailscale downloads on macOS

📌 升级提醒

  • 从 2026-10-21T02:48:14Z 之后的 9 个提交中整理;当前使用提交标题与正文要点生成规则摘要,未经过 AI 语义归纳或运行验证
beta-2.0.9 · 2026-10-21 10:05 · Beta 版

🎉 本次亮点

  • 完善 FakeIP 接口校验与 UniFi 诊断 / Complete FakeIP interface validation and UniFi diagnostics
  • 修复桌面启动时自动同步 MSM 服务 / Sync bundled MSM service on desktop startup
  • 修复 beta 服务版本解析与桌面更新超时
  • 修复 FakeIP 重启回放并完善 UniFi 文档 / Replay FakeIP on restart and document UniFi setup
  • 修复备份空间错误本地化 / Localize backup capacity failures
  • 修复 FakeIP/UniFi 网络一致性与诊断

✨ 功能增强

  • 完善 FakeIP 接口校验与 UniFi 诊断 / Complete FakeIP interface validation and UniFi diagnostics
  • 修正默认 IPv6 FakeIP 并完善 UniFi 文档 / Use compliant default IPv6 FakeIP and update UniFi docs

🐛 问题修复

  • 修复桌面启动时自动同步 MSM 服务 / Sync bundled MSM service on desktop startup
  • 修复 beta 服务版本解析与桌面更新超时
  • 修复 FakeIP 重启回放并完善 UniFi 文档 / Replay FakeIP on restart and document UniFi setup
  • 修复备份空间错误本地化 / Localize backup capacity failures
  • 修复 FakeIP/UniFi 网络一致性与诊断
  • 完成无签名 macOS 在线更新链路 / complete unsigned macOS desktop updates

📌 升级提醒

  • 从 2026-10-18T22:46:07Z 之后的 10 个提交中整理;当前使用提交标题与正文要点生成规则摘要,未经过 AI 语义归纳或运行验证
  • 规则摘要未采用可能重放历史的合并提交说明;这部分变化需要结合两个发布版本的净差异核对
beta-2.0.8 · 2026-10-18 22:59 · Beta 版

🎉 本次亮点

  • test(backend): 在完成通知前释放部署锁 / signal completion after releasing the deployment lock
  • 统一全局网络设置与失败恢复 / synchronize global network settings and recovery
  • 完善内核管理与网络修复并升级至 2.0.8
  • 修复 macOS 更新与服务生命周期 / repair macOS updates and service lifecycle
  • 修复 DNS 状态与服务安装路径
  • 强化 TUN 就绪与 PD 回程 / harden TUN readiness and PD return paths

✨ 功能增强

  • test(backend): 在完成通知前释放部署锁 / signal completion after releasing the deployment lock
  • test(frontend): 隔离图标页面初始化 / isolate icon page hydration fixtures

🐛 问题修复

  • 统一全局网络设置与失败恢复 / synchronize global network settings and recovery
  • 完善内核管理与网络修复并升级至 2.0.8
  • 修复 macOS 更新与服务生命周期 / repair macOS updates and service lifecycle
  • 修复 DNS 状态与服务安装路径
  • 强化 TUN 就绪与 PD 回程 / harden TUN readiness and PD return paths
  • 恢复备份时应用 TUN 兼容修复
  • 修复 TUN 路由冲突与 LAN IPv6 回程
  • 补齐DNS TCP端口映射 / publish TCP ports for DNS fallback
  • 避免启动覆盖自定义上游 / preserve custom DNS upstreams during startup recovery
  • 保留连续升级的自定义分流规则 / preserve custom rules across consecutive upgrades
  • 同步 Apple 资源白名单 / sync Apple asset whitelist for upgrades
  • test(frontend): 修复 Node 26 图标测试兼容性

📌 升级提醒

  • 从 2026-10-13T02:18:47Z 之后的 14 个提交中整理;当前使用提交标题与正文要点生成规则摘要,未经过 AI 语义归纳或运行验证
beta-2.0.7 · 2026-10-13 09:40 · Beta 版

🎉 本次亮点

  • 版本升级至 2.0.7
  • 兼容旧证书空字段的启动迁移 / Preserve legacy NULL fields during certificate secret migration

✨ 功能增强

  • 版本升级至 2.0.7

🐛 问题修复

  • 兼容旧证书空字段的启动迁移 / Preserve legacy NULL fields during certificate secret migration

📌 升级提醒

  • 从 2026-10-12T14:25:53Z 之后的 2 个提交中整理;当前使用提交标题与正文要点生成规则摘要,未经过 AI 语义归纳或运行验证
beta-2.0.6 · 2026-10-12 21:44 · Beta 版

🎉 本次亮点

  • harden updates and add persistent tasks and multi-file stacks / 完善安全升级、持久任务与多文件应用栈
  • 统一受管子进程的直接执行与身份校验 / Run managed children directly with verified arguments
  • migrate cache WAL sync defaults / 升级主缓存 WAL 同步默认值
  • compact rotating IPv6 addresses / 优化轮换 IPv6 地址显示
  • recover interrupted launches safely / 安全恢复中断的服务启动
  • 修复布尔默认值覆盖导致 IPv6 单栈变双栈的问题,启动时修正旧任务地址族开关;修复 Cloudflare、华为云规则编辑的 Zone ID 混用,并防止同步覆盖编辑配置。新增数据库、服务、API、界面与真实网络链路回归验证

🆕 新增功能

  • harden updates and add persistent tasks and multi-file stacks / 完善安全升级、持久任务与多文件应用栈
  • recover interrupted launches safely / 安全恢复中断的服务启动
  • complete compose lifecycle planning and task integration / 完善 Compose 生命周期预检与任务化管理
  • add opt-in systemd process supervision / 增加可选 systemd 进程托管
  • add opt-in systemd supervision and accurate metrics / 新增可选 systemd 托管与准确资源指标
  • journal CLI control operations / 持久记录命令行进程操作
  • unify local control and guard process groups
  • 内嵌 WireGuard 手机回家配置并发布 2.0.0 / embed WireGuard mobile home access and release 2.0.0
  • add bulk deletion for custom nodes / 增加自定义节点批量删除

✨ 功能增强

  • 统一受管子进程的直接执行与身份校验 / Run managed children directly with verified arguments
  • test: 隔离 CI 权限与 SQLite 连接环境 / Isolate CI permissions and SQLite connection fixtures
  • test: 隔离 WireGuard 权限用例的命令路径 / Isolate command lookup in WireGuard privilege tests
  • unify pure-Go driver and builds / 统一纯 Go 数据库驱动与构建
  • publish Docker images from wiki workflows / 统一由 Wiki 工作流发布 Docker 镜像
  • prepare 2.0.6 and sync API version metadata / 准备 2.0.6 发布并同步 API 版本元数据
  • test: stabilize regression checks and align browser flows / 稳定回归检查并更新浏览器测试流程
  • update Go indirect dependencies / 补齐 Go 间接依赖升级
  • upgrade dependencies and verify local services / 升级依赖并验证本地开发服务
  • 升级 Go、前端与 Tauri 第三方依赖 / Upgrade Go, frontend, and Tauri dependencies
  • 完善 Docker Center 对照设计与开发验收 / document Docker Center design and validation
  • 实现 macOS 桌面应用与服务联动更新 / Implement macOS desktop and service updates
  • 修正前端回归测试预期 / Align frontend regression test expectations
  • bump MSM version to 2.0.4 / 升级 MSM 版本至 2.0.4
  • remove dead code and stale docs / 清理无效代码与过期文档
  • 增加组件批量检查更新
  • 补齐组件更新渠道切换 / Complete component update channel switching
  • 调整 Sing-Box 渠道选择布局 / Align Sing-Box channel controls with Clash
  • 补充 Sing-Box 渠道选择
  • 更新已发布子节点镜像示例
  • 同步前端、Tauri、后端嵌入版本和 OpenAPI 文档版本

⚡ 性能优化

  • migrate cache WAL sync defaults / 升级主缓存 WAL 同步默认值
  • align audit byte-budget batching default / 同步审计按字节预算合批默认值
  • 拆分按需运行时并降低常驻内存 / Isolate optional runtimes and reduce resident memory
  • 降低后台巡检与接口文档内存开销 / Reduce background checks and API documentation memory
  • migrate write defaults and track refresh stages / 升级写入默认值并跟踪刷新阶段
  • align buffered audit defaults / 同步审计缓冲默认配置

🐛 问题修复

  • compact rotating IPv6 addresses / 优化轮换 IPv6 地址显示
  • 修复布尔默认值覆盖导致 IPv6 单栈变双栈的问题,启动时修正旧任务地址族开关;修复 Cloudflare、华为云规则编辑的 Zone ID 混用,并防止同步覆盖编辑配置。新增数据库、服务、API、界面与真实网络链路回归验证
  • persistently warn on unhealthy selected network interface / 持续提示选定网卡异常
  • 修复 Docker 任务空值判断并完善后端静态检查 / Handle missing Docker updates and satisfy backend lint
  • 修复 EasyTier Web 设备身份和配置服务器管理
  • honor IPv6-only rules and restore editing / 修复 IPv6 单栈同步和规则编辑
  • safely reuse wildcard certificates in publish workflows / 修复一键发布泛域名证书复用与校验
  • preserve rule provider indentation / 修复规则集保存的缩进错误
  • sync upstream configuration fixes / 合并上游配置修复
  • discover scheduled rebuilds from idle / 空闲页面自动发现定时重建
  • migrate audit defaults and expose refresh stages / 升级审计默认值并显示刷新阶段
  • declare background DNS sources compatibly / 兼容声明后台 DNS 来源
  • 修复 macOS 全量 Go 测试环境隔离
  • manage external compose lifecycle / 修复外部 Compose 生命周期管理
  • expose task activity and stopped file browsing / 修复 Docker 任务与停止容器文件浏览
  • test(docker): add browser acceptance and fix node lifecycle / 增加浏览器验收并修复节点生命周期
  • 修复桌面更新正式版与测试版查询
  • 预备远程启动缓存并避免登录 Shell / Stage remote bootstrap data and avoid login shell
  • 补全应用更新入口 / Expose desktop update controls
  • 修复桌面更新权限并验证本机升级
  • 修复 root 运行时缓存与 macOS CLI 测试
  • 修复 Clash 空代理组与测速显示
  • 修复代理核心启动超时诊断 / Preserve proxy startup failure details
  • stabilize Docker Agent tunnels and standalone image / 修复子节点隧道并独立发布镜像
  • 避免故障时误判初始化并限制网卡轮询 / Preserve setup state and bound interface checks
  • 延长单条 Geosite 规则更新等待 / Allow slow single-source refresh
  • 避免无变化的 IPv6 保存重启 MosDNS / Skip unnecessary MosDNS restart
  • use system DNS for GitHub checks and quiet idle setup polls / 修复更新检查 DNS 与空闲任务轮询
  • handle empty inline provider sections / 修复空行内订阅区块保存失败
  • repair legacy Sing-Box provider on upgrade / 修复旧版升级时 Sing-Box 订阅占位符
  • honor DNS opt-out during initialization / 修复初始化时自动 DNS 关闭失效
  • remove process backend selector / 移除进程托管方式选择
  • recover managed services after failed restart / 修复重启失败后的托管服务恢复
  • freeze unowned unknown runtimes / 冻结归属不明的托管进程
  • 修复缺失 children 文件时的托管进程内存统计
  • 修复组件更新代理与 GitHub 请求
  • 允许无配置的 Sing-Box 更新 / allow Sing-Box updates without a config
  • identify ARM SoC models / 修复 ARM 处理器型号识别
  • stop readiness probes from generating queries / 修复 DNS 就绪探测产生查询
  • refresh managed memory totals / 修复托管内存总计刷新
  • prevent stale runtime snapshots / 防止组网运行状态快照过期
  • preserve Tailscale update during browser auth / 浏览器授权时保留 Tailscale 更新
  • 修复托管进程生命周期与实例控制
  • 修复运行时缓存与进程回收
  • 修复验证基线与文档版本
  • 修复 WireGuard 局域网转发规则
  • 修复 Tailscale 启动超时状态识别
  • 修复 Sing-Box 渠道选择显示与初始化保存
  • 修复 Sing-Box 渠道切换
  • 按稳定与测试分支发布 / Route releases by stable and testing branches
  • Revert "修复 Sing-Box 最新配置迁移
  • 修复 Sing-Box 最新配置迁移
  • 补齐桌面包的开源声明资源 / Include complete third-party notices in desktop bundles
  • 修复 WireGuard 专项测试超时处理
  • 修复直连迁移误写用户分组 / Preserve case-sensitive direct policy groups
  • 统一 CLI/daemon 控制权,验证进程组归属并阻止异常退出后的重复启动

📌 升级提醒

  • 从本次 100 个提交中整理;当前使用提交标题与正文要点生成规则摘要,未经过 AI 语义归纳或运行验证
beta-2.0.5 · 2026-09-29 15:00 · Beta 版

🎉 本次亮点

  • 桌面应用与服务联动更新:macOS 桌面版集成 Tauri 自动更新,安装新包重启后自动同步随包的 MSM 服务二进制;若检测到已安装服务版本高于安装包,将阻止降级以保护系统稳定性。用户无需手动分别更新应用界面与后台服务,降低版本错配风险。
  • 空代理组配置保护:当删除或禁用操作会导致 Clash 代理组变为空时,后端直接拒绝请求并返回 MIHOMO_PROXY_GROUP_EMPTY 错误,配置文件保持原状。避免生成无效配置导致核心启动失败或路由规则失效。
  • Sing-box 订阅启动缓存:远程订阅和规则集下载后自动缓存在本地,网络不可用时复用已有缓存启动服务;缓存按 URL 哈希区分,内容无效时自动丢弃。减少因订阅源暂时不可用导致的服务中断。
  • 延迟显示更稳定:节点卡片和代理组预览采用最近 3 次有效测速的中位数,并过滤超过 60 分钟的过期记录;单次测速尖峰不会导致延迟颜色突变。用户看到的延迟更能反映真实网络状况。
  • 服务更新原子化:macOS Launchd 服务安装升级为“写入临时文件 + 原子重命名”模式,更新失败或中断时旧二进制保持完整。避免服务更新中途断电导致系统服务损坏无法启动。
  • 启动诊断更清晰:代理核心就绪检查区分进程重启和间歇性探测失败,超时错误包含最近一次失败原因及连续稳定时间要求。帮助用户快速定位是配置问题还是网络波动。

🆕 新增功能

  • 桌面更新入口:应用设置页和启动向导新增桌面更新检查、安装和服务同步按钮,区分未发布清单和已是最新状态;更新进度在界面实时显示。
  • Sing-box 规则集缓存:远程规则集支持 initial_path 本地缓存,格式自动识别为 SRS 二进制或 JSON 源文件;缓存文件权限严格限制为 0600。
  • 批量测速并发控制:代理组测试和订阅健康检查引入并发数限制(默认 3),避免大量并发请求导致网络拥塞或 API 限流。
  • 桌面更新构建工具链:新增双架构签名发布脚本,支持 arm64 和 x86_64 构建、签名验证及 Release 资产上传。

✨ 功能增强

  • Clash 配置补丁保留锚点和注释:更新 proxies 段时智能保留 YAML 锚点 (&) 和行尾注释,避免手动编辑的配置细节被覆盖。
  • root 缓存路径独立:Unix 上以 root 身份运行时,缓存目录强制使用 root 账户的 home,不受 sudo 继承的 HOME 或 XDG_CACHE_HOME 环境变量影响。
  • 进程管理不加载登录配置:托管进程启动命令由 /bin/sh -lc 调整为 /bin/sh -c,避免意外加载 .profile 等登录 Shell 配置文件导致环境异常。
  • Docker Agent 镜像标签更新:前端文档中 Docker Agent 镜像引用从 msmbox/msm:agent- 规范为 msmbox/msm-agent:latest。

🐛 问题修复

  • 空代理组导致配置损坏:修复删除组内最后一个节点或订阅时写入空配置的逻辑,现改为拒绝操作并返回明确错误码,确保配置文件完整性。
  • 服务更新损坏二进制:修复旧版本直接覆盖 /usr/local/bin/msm 可能导致文件截断的问题,现采用原子替换机制,失败时自动回滚。
  • 延迟显示受单次尖峰影响:修复旧版本仅取最后一次测速结果导致偶发超时显示红色的问题,现改用中位数算法并剔除过期数据。
  • root 运行时缓存路径错误:修复 sudo 环境下错误使用调用用户缓存目录导致的权限问题,现正确解析 root 账户 home。
  • 启动检查丢失失败细节:修复超时错误信息模糊的问题,现明确区分进程重启事件与探测失败原因。
  • 测速并发无限制:修复代理组测试可能同时发起大量请求的问题,现限制并发数以保护网络和 API 稳定性。
  • 桌面应用与服务版本错配:修复桌面应用更新后服务仍为旧版本的问题,现应用重启后自动校验并同步随包服务。

⚠️ 兼容性变更

  • macOS 桌面更新需重新安装:已安装的旧桌面版本不包含 Tauri updater 组件,需手动下载安装一次新版桌面包;之后方可通过界面完成后续自动更新。
  • Docker Agent 镜像标签变更:Docker 节点页面显示的 Agent 镜像标签已变更,现有部署不受影响,新部署建议使用新标签 msmbox/msm-agent:latest。

📌 升级提醒

  • macOS Gatekeeper 提示:当前桌面应用使用 ad-hoc 签名,首次从浏览器下载 DMG 后需复制到 /Applications 再启动;如被系统拦截,请在“隐私与安全性”中允许打开。应用内更新虽经签名验证,但若 macOS 再次拦截更新后的应用,仍需用户手动允许。
  • 桌面更新清单依赖:桌面更新检查依赖 GitHub Release 中的 msm-desktop-latest.json 清单文件,若该文件未发布或内容无效,界面将提示“桌面更新清单不可用”。
  • Sing-box 缓存目录:新增 .msm-bootstrap 缓存目录位于配置目录下的 singbox 子目录,手动清理配置时如需保留启动缓存请勿误删该目录。
  • 版本同步:前端、Tauri、后端嵌入版本已同步至 2.0.5,OpenAPI 文档版本已相应更新。
beta-2.0.4 · 2026-09-26 14:22 · Beta 版

🎉 本次亮点

  • Docker Agent 镜像独立发布:Agent 镜像迁移至 msmbox/msm-agent 独立仓库,安装命令默认拉取 latest 标签,不再强制绑定主程序版本号,简化升级流程。
  • 节点隧道会话一致性保障:反向隧道连接引入会话 ID 校验与连接池重置机制,Agent 重连时自动清理旧连接,避免多会话状态冲突。
  • 隧道空闲连接稳定性提升:调整控制端隧道服务端超时策略,移除激进的空闲超时设置,防止在调度前意外关闭已建立的反向连接。

✨ 功能增强

  • Docker Agent 镜像源调整:独立 Agent 镜像不再从 msmbox/msm 仓库发布,改为从 msmbox/msm-agent 仓库拉取;前端生成的安装命令已更新为新的镜像地址。
  • 节点隧道注册逻辑优化:隧道注册表增加会话 ID 跟踪,当检测到新会话 ID 时自动重置连接池并关闭旧连接,确保控制端与当前活跃 Agent 会话一致。
  • 安装示例路径规范化:Docker Agent 安装命令中的 TLS 证书挂载路径从 /path/to/agent-tls 调整为 $PWD/tls,更符合本地直接运行的操作习惯。

🐛 问题修复

  • 隧道空闲连接意外断开:修复了控制端隧道服务端因默认超时设置导致空闲连接被提前关闭的问题,确保连接池中的隧道在调度前保持可用。
  • 多会话连接状态不一致:修复了 Agent 重连后旧连接未被及时清理可能导致的状态冲突问题,现在新会话建立时会主动驱逐旧连接。

📌 升级提醒

  • Docker Agent 升级路径:独立 Agent 镜像已迁移至 msmbox/msm-agent 仓库,现有用户升级或重新安装时需使用新的镜像地址;控制端升级至 2.0.4 后建议核对 Agent 兼容性。
  • TLS 证书挂载路径:手动运行 Docker Agent 时,请确保证书目录挂载路径与新生成的命令一致(默认指向当前目录的 tls/ 文件夹)。
  • 版本号更新:本次发布版本号从 2.0.3 升级至 2.0.4,涵盖后端、前端及桌面端组件。
beta-2.0.3 · 2026-09-25 21:16 · Beta 版

🎉 本次亮点

  • 网卡健康状态实时告警:新增界面横幅与诊断接口,当选定网卡断开、缺失或路由不一致时主动提示,管理员可直达设置页修改。
  • MosDNS 配置更新更稳健:保存未变化的 IPv6 配置不再触发服务重启,就绪等待时间延长至 60 秒,减少不必要的中断与失败。
  • 组件更新网络策略简化:更新检查与下载改用系统默认 DNS 解析,移除自定义 DNS 回退逻辑,行为更符合系统预期。
  • 配置任务轮询逻辑调整:空闲状态下查询配置任务返回空值而非错误,前端轮询逻辑更稳定,区分空闲与异常状态。
  • Geosite 规则更新超时延长:单条规则刷新等待时间放宽,适应慢速网络环境下的更新请求,前端与后端超时均已调整。

🆕 新增功能

  • 选定网卡健康诊断接口:新增 /api/v1/setup/interface-health 接口,返回网卡状态(缺失、断开、无地址、路由不一致等)及当前默认路由信息,需登录访问。
  • 网络接口状态字段:网络接口信息增加 up 和 running 状态字段,设置页下拉列表可直观显示网卡是否断开。

✨ 功能增强

  • 配置任务查询响应调整:/operations/current 接口在无活跃任务时返回 200 OK 且 data 为 null,便于前端区分空闲与错误状态。
  • 组件更新与检查网络解析策略:更新客户端与 GitHub 检查改用系统默认传输配置,直连模式下不再强制指定备用 DNS 服务器。

🐛 问题修复

  • MosDNS 配置更新与就绪等待逻辑:修复保存未变化的 IPv6 设置时误触发 MosDNS 服务重启的问题,并将就绪等待超时从 15 秒延长至 60 秒。
  • Geosite 规则更新超时:修复单条规则刷新在慢速响应下容易超时的问题,后端等待时间与前端请求超时均已放宽。
  • 初始化状态检查错误处理:修复数据库异常时初始化检查未返回明确错误状态的问题,避免误导用户或触发不必要的恢复流程。

📌 升级提醒

  • 版本号升级至 2.0.3。
  • 网卡健康状态横幅仅用于诊断提示,不会自动切换网卡或重配路由,需用户手动调整设置。
  • 配置任务查询接口空闲时返回 null,旧版客户端若严格校验数据类型可能需适配。
beta-2.0.2 · 2026-09-25 13:39 · Beta 版

🎉 本次亮点

  • 托管服务崩溃存活:Linux 下支持 systemd 托管模式,MSM 异常退出时托管服务不中断,恢复后自动核验并接管原进程。
  • 进程控制权统一:CLI 与后台守护进程通过锁机制协调,防止多实例冲突操作,离线 CLI 需获取控制权锁方可管理。
  • 初始化 DNS 更保守:未明确授权时默认不修改宿主 DNS,网络规则应用失败后仍保持关闭状态,避免配置残留。
  • 资源指标更准确:服务状态新增采样可用标识与 cgroup 内存数据,采样失败时明确显示不可用而非零值。

🆕 新增功能

  • systemd 进程托管后端:Linux 环境下支持将托管服务配置为 systemd 模式,利用 cgroup v2 实现更精准的进程组管理与资源统计。
  • CLI 操作记录查询:新增 msm operation <ID> 命令,支持查询异步进程控制请求的执行阶段与结果。

✨ 功能增强

  • 服务状态 API 字段扩展:GET /api/v1/services 返回新增 metrics_available、cgroup_memory 及 backend 字段,前端据此调整资源展示逻辑。
  • 初始化 DNS 开关逻辑:POST /api/v1/setup/initialize 的 auto_set_dns 默认为关闭,且会在网络配置失败时持久化关闭状态,需显式传递 true 才开启。
  • 组件下载代理策略:EasyTier 与 Tailscale 更新检查优先使用系统设置的组件下载代理,无效配置将报错而非静默回退直连。

🐛 问题修复

  • Sing-Box 旧版占位符清理:升级时自动移除未订阅模板中的旧版 provider 占位符,避免配置冲突。
  • Clash 空订阅区块保存:修复 proxy-providers 为空行内映射(如 {})时保存失败的问题,支持规范化处理。
  • 重启失败服务恢复:优化 MSM 自身重启逻辑,若重启前准备失败,支持恢复已停止的托管服务至原状态。
  • 进程组状态核验:修复根进程退出但子进程组仍存活时状态误报为停止的问题,此类情况将标记为 UNKNOWN 并保留 DNS 租约。
  • Sing-Box 无配置更新:允许在服务停止且配置文件缺失时执行 Sing-Box 核心更新,避免阻塞升级流程。
  • 初始化 DNS 关闭失效:修复初始化请求中未传递 DNS 开关时可能误开启自动修改宿主 DNS 的问题。

📌 升级提醒

  • 版本号:后端与前端版本均升级至 2.0.2。
  • API 兼容性:服务状态响应结构变更,旧客户端需适配 metrics_available 等新字段;初始化接口 autoSetDNS 字段仍兼容但推荐使用 auto_set_dns。
  • 进程管理:Linux 用户若遇到服务状态显示 UNKNOWN,通常表示进程组归属未确认,需手动停止或等待系统核验完成。
beta-2.0.0 · 2026-09-23 23:09 · Beta 版

🎉 本次亮点

  • WireGuard 嵌入手机回家配置:生成 Clash 或 Sing-Box 手机配置时可将 WireGuard 作为可选回家节点嵌入 REMOTE-HOME 组,手机只需运行一个代理客户端 TUN 即可同时使用代理和 WireGuard 回家通道;仍会额外交付原始 WireGuard 配置文件供独立使用。
  • ARM 设备显示准确 SoC 型号:在 Linux ARM/ARM64 设备上读取设备树信息,将通用核心型号(如 Cortex-A53)补充为具体 SoC 型号(如 MediaTek MT7987A、Rockchip RK3588),硬件信息更精确。
  • IPv6 地址状态清晰标识:仪表盘网络地址列表支持显示"临时"和"已弃用"标签,帮助识别 IPv6 隐私轮换地址和即将失效的地址;超过 2 个地址时自动折叠,点击展开查看完整列表。
  • DNS 就绪检查不再产生查询:服务启动时检查 DNS 端口就绪状态改为 TCP 连接探测,不再发送实际 DNS 查询请求,减少不必要的网络流量。

🆕 新增功能

  • ARM SoC 型号识别:后端新增 CPU 型号解析模块,支持读取 /sys/firmware/devicetree/base/compatible 或 /proc/device-tree/compatible,识别 Allwinner、Amlogic、Broadcom、NXP、Marvell、MediaTek、NVIDIA、Qualcomm、Rockchip、Samsung 等厂商的 SoC 型号,在通用核心型号基础上补充具体芯片信息。
  • WireGuard 结构化配置 API:Enrollment 接口新增 wireguard 字段,返回包含私钥、地址、DNS、MTU、服务器、端口、公钥、预共享密钥、允许 IP 和保活间隔的结构化对象,移动端无需解析 INI 格式即可直接使用。

✨ 功能增强

  • 移动配置支持嵌入 WireGuard 回家通道:创建手机配置包时,若同时选择代理配置和 WireGuard 网络服务,系统会先创建 WireGuard 成员并将结构化配置嵌入 Clash/Sing-Box 配置文件,作为 REMOTE-HOME 组内的可选回家节点;若嵌入配置生成失败,会自动清理已创建的 WireGuard 成员,避免残留无效配置。
  • 网络地址列表支持折叠展开:设备信息组件中,当同一接口有超过 2 个 IP 地址时默认折叠显示,用户可点击展开查看完整列表,收起后恢复紧凑视图,长地址列表更易浏览。
  • IPv6 地址按稳定性排序:公共 IPv6 地址按稳定性优先排序,稳定地址排在临时地址之前,已弃用地址排在最后,方便用户识别推荐使用的地址。
  • WireGuard 端点解析支持 IPv6 格式:客户端配置生成时正确解析 [2001:db8::10]:17711 格式的 IPv6 端点,拆分为服务器地址和端口。

🐛 问题修复

  • DNS 就绪探测不发送查询:修复 DNS 服务就绪检查会发送实际 DNS 查询的问题,改为使用 TCP 连接探测端口监听状态,避免启动过程中产生额外 DNS 流量。
  • 单服务状态刷新不影响全局缓存:修复单个服务状态刷新会导致全部服务状态缓存过期时间重置的问题,改为按服务名独立管理缓存过期时间,减少不必要的重复查询。

📌 升级提醒

  • 版本号升级至 2.0.0:本次发布将版本号从 1.5.3 升级至 2.0.0,反映 WireGuard 嵌入配置等功能变更。
beta-1.5.3 · 2026-09-22 16:11 · Beta 版

🎉 本次亮点

  • 自定义节点支持批量删除:在节点编辑器中新增多选面板,可一次性移除多个无用配置,清理列表更高效。
  • Tailscale 更新遇认证不再回退:组件升级后若因需要浏览器登录而重启失败,将保留新版本而非还原,避免重复更新。
  • 组网状态快照禁用缓存:后端接口与前端请求均增加防缓存标记,确保页面显示的在线状态与实时数据一致。

🆕 新增功能

  • Clash 节点批量管理:自定义节点编辑器新增批量操作面板,支持分享链接与 YAML 两种模式下的多选与确认删除。

🐛 问题修复

  • 防止组网快照数据过期:Networking API 响应头增加 no-store 指令,解决因缓存导致的状态显示滞后问题。
  • 修正 Tailscale 更新回滚逻辑:识别“需要登录”错误为预期状态,在此情况下停止更新回滚,确保升级成果保留。
beta-1.5.2 · 2026-09-21 09:57 · Beta 版

🎉 本次亮点

  • 重构服务连接界面并深化反代集成
  • 绑定 API 令牌用户上下文
  • 优化紧凑卡片图文比例
  • 拆分按需运行时并降低常驻内存 / Isolate optional runtimes and reduce resident memory
  • 支持查看已保存的 GitHub Token / reveal saved GitHub credentials
  • 清理 Clash 无效订阅提供器

🆕 新增功能

  • 重构服务连接界面并深化反代集成
  • 重构 Docker 管理工作台与更新能力
  • 自动交接系统 DNS 并预检服务端口 / hand off host DNS and preflight listeners
  • 支持 procd 并保护现有网络规则
  • 完善系统诊断与结果准确性
  • 支持组件自动与连续字号调节
  • 打磨界面与导航交互 / polish console UI and navigation
  • 增加 GitHub Token 凭据与限流重试

✨ 功能增强

  • 优化紧凑卡片图文比例
  • 恢复仪表盘线稿风格并统一组件细节
  • 统一仪表盘全局字号设置
  • 合并字体与高分辨率适配优化 / Merge responsive typography improvements
  • 优化多分辨率字号与组件排版
  • 合入界面与仪表盘优化 / integrate console and dashboard polish
  • 统一 Docker 管理界面与 Compose 入口
  • 增加组件批量检查更新
  • 补齐组件更新渠道切换 / Complete component update channel switching
  • 调整 Sing-Box 渠道选择布局 / Align Sing-Box channel controls with Clash
  • 补充 Sing-Box 渠道选择
  • 将当前三排布局设为仪表盘默认 / Adopt current three-row dashboard layout as default
  • 恢复并补齐独立服务组件
  • 合并最新 dev 后端更新 / Merge latest dev backend updates
  • 放宽仪表盘组件最小宽度并适配窄卡 / Allow single-column widgets and adapt narrow layouts
  • 完善矮卡片信息展示 / Refine content fit in short dashboard cards
  • 简化仪表盘组件视觉与响应布局 / Simplify dashboard visuals and responsive layouts
  • 合并最新 dev 并保留组件字号设置 / Merge latest dev with widget font settings
  • 删除运行资源统计说明
  • 恢复改造前 dev 的原版图表
  • 合并仪表盘图形设计 / Merge dashboard visual redesign
  • 同步最新 dev 服务更新 / Integrate latest dev service updates
  • 重设计仪表盘组件视觉与数据图形
  • 同步 dev 字体适配更新 / integrate dev typography updates
  • 对齐 dev 开发约定与界面术语 / align dev workflow and UI terminology
  • 同步 1.3.9 版本元数据 / sync 1.3.9 version metadata
  • 同步最新 dev / merge latest dev
  • 隔离临时 Vite 验证缓存 / isolate temporary Vite validation caches
  • 保持排行细条主题色一致 / Preserve theme hue in ranking bars

⚡ 性能优化

  • 拆分按需运行时并降低常驻内存 / Isolate optional runtimes and reduce resident memory
  • 降低后台巡检与接口文档内存开销 / Reduce background checks and API documentation memory

🐛 问题修复

  • 支持查看已保存的 GitHub Token / reveal saved GitHub credentials
  • 清理 Clash 无效订阅提供器
  • 统一使用 msm9527/mosdns 发布并动态校验 / Use msm9527/mosdns releases with dynamic verification
  • 统一 IPv6 公网地址检测 / align IPv6 public address detection
  • 合并 Docker 管理重构与审查修复 / merge Docker UI redesign and review fixes
  • 修复托管进程生命周期与实例控制
  • 修复运行时缓存与进程回收
  • 修复验证基线与文档版本
  • 修复 WireGuard 局域网转发规则
  • 修复 Tailscale 启动超时状态识别
  • 修复 Sing-Box 渠道选择显示与初始化保存
  • 修复 Sing-Box 渠道切换
  • 按稳定与测试分支发布 / Route releases by stable and testing branches
  • Revert "修复 Sing-Box 最新配置迁移
  • 修复 Sing-Box 最新配置迁移
  • 修复客户端全量搜索 / search clients across all pages
  • 兼容浏览器默认图标请求 / serve MSM logo for default favicon requests
  • 修复时区、更新检查和 SSE 断连
  • 先取消更新再等待调度器 / cancel updates before joining schedulers
  • 修复自动组切换误报 502 / handle unsupported automatic group selections
  • 修复页面重试与开发依赖缓存 / recover page errors and revalidate dev dependencies
  • 修复 HTTPS 切换和证书管理 / stabilize HTTPS switching and certificate management
  • 修复双核心观测与查询取消
  • 修复代理任务恢复与配置并发稳定性
  • 修复代理核心切换与服务稳定性
  • 修复 Cloudflare HTTPS 入口与实时连接
  • 修复配置应用的反代超时与进度恢复
  • 修复三种组网服务的成员状态与统计展示
  • 修复组网输入并完善三引擎高级设置
  • 合并 dev 最新服务修复 / Merge latest dev service fixes
  • 修复 Tailscale 更新探测和 EOF 重试
  • 修复小组件阻断页面滚动
  • 修复 nftables 策略接管与切换并补充说明
  • 修复服务卡片底部内容遮挡
  • 修复 Sing-Box IPv6 开关与 DNS 入口同步
  • 修复 setup IPv6 联动与 MosDNS 开关恢复
  • 修复 IPv6 DNS、Fake-IP 和透明代理全链路
  • 合并最新 dev 并保留仪表盘修复 / Integrate latest dev with dashboard fixes
  • 按启用入口启动反代并释放空闲端口 / run gateway only for enabled listeners
  • 恢复趋势图样式并修复组件截断
  • 联动组件开关与进程启停
  • 完善组件缩放与布局保存 / refine widget resizing and layout persistence
  • 完善 IPv4 与 IPv6 透明代理链路 / harden IPv4 and IPv6 transparent proxy paths
  • 保持 IPv6 RA 默认路由 / preserve IPv6 RA default routes
  • 清理失效会话并停止授权轮询
  • 恢复 macvlan 校验并修正镜像时区
  • 阻止 MSM 下载旧版更新
  • 修复 GitHub 图标代理的内网代理冲突
  • 兼容旧配置时间戳并恢复核心切换
  • 修复 WireGuard 专项测试超时处理
  • 让反代列表适配字号缩放 / scale proxy layout breakpoints with typography
  • 统一共享控件、紧凑设置工作区和移动导航,修复侧栏宽度保存及标签页键盘操作

🛡️ 安全加固

  • 绑定 API 令牌用户上下文

📌 升级提醒

  • 从本次 100 个提交中整理;当前使用提交标题与正文要点生成规则摘要,未经过 AI 语义归纳或运行验证
beta-1.5.1 · 2026-09-20 16:47 · Beta 版

🎉 本次亮点

  • 增加组件批量检查更新
  • 修复 WireGuard 局域网转发规则
  • 修复 Tailscale 启动超时状态识别
  • 修复 Sing-Box 渠道选择显示与初始化保存
  • 修复 Sing-Box 渠道切换
  • 按稳定与测试分支发布 / Route releases by stable and testing branches

✨ 功能增强

  • 增加组件批量检查更新
  • 补齐组件更新渠道切换 / Complete component update channel switching
  • 调整 Sing-Box 渠道选择布局 / Align Sing-Box channel controls with Clash
  • 补充 Sing-Box 渠道选择

🐛 问题修复

  • 修复 WireGuard 局域网转发规则
  • 修复 Tailscale 启动超时状态识别
  • 修复 Sing-Box 渠道选择显示与初始化保存
  • 修复 Sing-Box 渠道切换
  • 按稳定与测试分支发布 / Route releases by stable and testing branches
  • Revert "修复 Sing-Box 最新配置迁移
  • 修复 Sing-Box 最新配置迁移
  • 修复 WireGuard 专项测试超时处理

📌 升级提醒

  • 从 2026-09-19T22:33:38Z 之后的 13 个提交中整理;当前使用提交标题与正文要点生成规则摘要,未经过 AI 语义归纳或运行验证
beta-1.4.9 · 2026-09-19 21:41 · Beta 版

🎉 本次亮点

  • 统一使用 msm9527/mosdns 发布并动态校验 / Use msm9527/mosdns releases with dynamic verification
  • 修复客户端全量搜索 / search clients across all pages

🐛 问题修复

  • 统一使用 msm9527/mosdns 发布并动态校验 / Use msm9527/mosdns releases with dynamic verification
  • 修复客户端全量搜索 / search clients across all pages

📌 升级提醒

  • 从 2026-09-09T22:48:36Z 之后的 2 个提交中整理;当前使用提交标题与正文要点生成规则摘要,未经过 AI 语义归纳或运行验证
beta-1.4.8 · 2026-09-13 15:21 · Beta 版

🎉 本次亮点

  • OpenWrt 设备原生支持:新增 procd 服务管理器与系统 DNS 自动交接模块,路由器部署无需手动配置 systemd;服务安装命令可自动识别 OpenWrt 环境并恢复 DNS。
  • 系统诊断一页掌握:全新诊断工作区整合配置、端口、权限、磁盘等检查项,问题定位无需查看日志文件;结果按健康/警告/严重分级展示。
  • HTTPS 证书托管上线:支持绑定已签发的托管证书,设置页可直接选择可用证书;过期、待签发证书自动过滤,避免误选。
  • 代理切换更可靠:核心切换与服务启动增加就绪等待与互斥锁,避免并发配置导致的状态不一致;前端显示“进行中”而非虚假成功。
  • GitHub Token 可查看:设置页支持查看已保存的 Token 明文(需管理员权限),便于核对或迁移;请求经速率限制且不记录日志。

🆕 新增功能

  • OpenWrt/procd 服务管理:新增 procd 服务管理器实现,支持 OpenWrt 设备的服务安装、启动与开机自启;CLI 命令帮助文本更新,service install 支持 --manager=procd 参数。
  • 系统 DNS 自动交接:新增 hostdns 模块,在服务启动时接管系统 DNS 配置,服务停止时自动恢复原设置;包含端口预检机制,启动前检查端口占用并给出明确错误。
  • 系统诊断工作区:新增 /api/v1/system/diagnostics 接口,返回配置目录、配置文件、依赖、端口、磁盘、权限六项检查结果;前端新增 SystemDiagnosticsWorkspace 页面,支持展开查看详细证据与端口占用列表。
  • HTTPS 托管证书管理:新增 httpscert 服务模块,支持证书验证、持久化与运行时加载;设置页新增 managed 模式,可列出并选择已签发的可用证书。
  • GitHub Token 查看接口:新增 /api/v1/settings/github-token/reveal 接口,管理员可获取已保存 Token 明文;前端 GitHubTokenDialog 支持显示与复制。
  • 代理服务就绪检查:新增 service_proxy_readiness 与 mihomo_service_readiness 模块,服务启动后等待配置生效与端口监听稳定;前端 ServiceWidget 与 ProxyShell 显示“进行中”状态而非立即标记成功。

✨ 功能增强

  • 代理控制器并发保护:Clash/SingBox 配置修改、代理选择、服务生命周期等接口增加互斥锁,并发请求返回 409 冲突而非覆盖配置。
  • SSE 连接管理优化:新增 SSE 断开与截止时间处理,客户端断开后及时释放服务端资源;Token 变更时忽略旧会话的延迟检查。
  • 服务启动反馈改进:服务启动操作增加 wait 参数与超时设置,返回 pending 状态时前端显示提示信息而非成功 toast。
  • 时区设置更稳健:时区处理逻辑先验证 MSM 设置再尝试主机变更,无效时区保留进程设置;OpenWrt 无 host zoneinfo 时不报错。

⚡ 性能优化

  • HTTP 客户端连接复用:后端 HTTP 工具类共享 Transport 连接池,轮询客户端不再为每次请求创建新连接;本地请求不共享凭据避免污染。
  • 开发缓存隔离:Vite 临时验证服务使用独立 cacheDir,不与运行中开发服务共用依赖预编译缓存;测试结束时仅清理自己的临时目录。

🐛 问题修复

  • 代理组切换误报 502:代理控制器对不支持自动选择的代理组返回明确错误而非 502;前端 ProxyNodeCard 在无手动选择时保留延迟测试入口。
  • 页面加载失败无法恢复:前端错误边界支持 chunk 加载错误一键重载;初始快照失败时自动重试而非永久空白。
  • 端口诊断误报冲突:修复未知占用状态被标记为 conflict 的问题,保留 unknown 状态供用户判断。
  • 浏览器默认图标请求:后端将 /favicon.ico 请求重定向到 MSM logo,避免 404 日志噪音。

📌 升级提醒

  • 版本号:后端与前端版本均从 1.4.7 升级至 1.4.8,Docker 镜像标签同步更新。
  • OpenWrt 部署:OpenWrt 设备首次安装需使用 msm service install --manager=procd 或自动检测 procd;服务停止时会自动恢复原 DNS 配置。
  • 系统诊断权限:/api/v1/system/diagnostics 接口需要 operator 或 admin 权限,viewer 角色无法访问。
  • GitHub Token 查看:/api/v1/settings/github-token/reveal 接口仅管理员可用,请求受速率限制(10 次/分钟)且不记录 Token 明文日志。
beta-1.4.7 · 2026-09-08 11:00 · Beta 版

🎉 本次亮点

  • 修复 Cloudflare HTTPS 入口与实时连接
  • 修复配置应用的反代超时与进度恢复
  • 修复三种组网服务的成员状态与统计展示

🐛 问题修复

  • 修复 Cloudflare HTTPS 入口与实时连接
  • 修复配置应用的反代超时与进度恢复
  • 修复三种组网服务的成员状态与统计展示

📌 升级提醒

  • 从 2026-09-07T11:56:16Z 之后的 4 个提交中整理;当前使用提交标题与正文要点生成规则摘要,未经过 AI 语义归纳或运行验证
beta-1.4.5 · 2026-09-07 19:00 · Beta 版

🎉 本次亮点

  • 反向代理连接配置重构:统一入口端口与监听端口设置,支持 HTTPS 自动选择 443 端口,简化发布流程并减少配置错误。
  • 仪表盘组件字号自适应:新增全局字体缩放调节功能,自动适配不同尺寸小组件,提升高分辨率屏幕下的可读性与布局美观度。
  • 三引擎组网高级设置完善:Tailscale、WireGuard 和 EasyTier 均支持完整高级参数配置,包括出口节点、Keepalive 间隔和客户端 MTU,满足复杂网络需求。

✨ 功能增强

  • 反向代理传输层选项支持 HTTP/2 上游:在反代规则中可指定上游连接使用 HTTP/2 协议,优化后端通信性能与兼容性。
  • Tailscale 组网支持出口节点与偏好设置:可在配置中指定设备作为出口节点,并通过 exit_node 字段启用其他节点的出口路由。
  • WireGuard 客户端配置支持 MTU 与 Keepalive:新增对 WireGuard 客户端 mtu 和 persistent_keepalive 的独立控制,提升连接稳定性。
  • nftables 透明代理策略更精确:IPv6 流量处理逻辑优化,避免误拦截本地链路地址,增强双栈环境下的可靠性。
  • Clash 和 Sing-Box IPv6 FakeIP 模式增强测试覆盖:增加集成测试验证 UDP 查询与隧道过渡场景,确保核心功能稳定。

⚡ 性能优化

  • 边缘网关运行时内存限制继承宿主配置:若设置了 GOMEMLIMIT 环境变量,则子进程自动继承该限制,防止资源超用。
  • DNS 查询趋势图表渲染性能提升:通过精简 DOM 结构和样式计算,加快大数据量下趋势图的加载与交互响应速度。

🐛 问题修复

  • 修复 Setup 页面 IPv6 与 MosDNS 开关状态不同步问题:确保切换 IPv6 或禁用 MosDNS 后配置正确保存并生效,避免运行时错乱。
  • 解决 nftables 政策变更后未重新应用的问题:当仅修改代理策略而无需重启时,系统将主动重载网络配置以使更改立即生效。
  • 修复 Tailscale 更新探测失败导致安装中断的问题:改进版本探测逻辑,正确处理 EOF 和临时网络错误,提高下载鲁棒性。
  • 修正 Docker 容器长错误信息遮挡操作按钮的问题:调整 UI 溢出策略,允许内容滚动查看,保障关键控件始终可访问。
  • 修复仪表盘小屏模式下组件无法横向滚动的问题:引入专用滚动容器,确保窄屏设备上多列组件仍可完整浏览。
  • 解决反向代理草稿校验时传输设置未重置的问题:更新 API 调用逻辑,明确发送空值以清除旧配置,避免残留影响新规则。
  • 修复 Clash 小组件高度塌陷导致内容被裁剪的问题:优化 CSS 布局约束,保证所有指标行正常显示且不重叠。
  • 修正服务卡片底部提示信息与操作栏重叠的问题:调整间距与层级,确保“设置待同步”等状态提示清晰可见。
  • 修复 DNS 上游统计条目过多时布局错位的问题:采用弹性换行设计,保持紧凑同时防止溢出容器边界。
  • 解决硬件信息中零利用率与不可用状态混淆的问题:区分实际为 0 的读数与未采集数据,提供更准确的状态反馈。
  • 修复用户界面搜索框焦点行为异常的问题:点击输入框外部区域不再意外触发聚焦,改善交互一致性。
  • 修正 Edge 网关状态卡在“正在修复”但实际已停止的问题:准确识别手动关闭状态,正确显示为空闲而非持续尝试恢复。

🛡️ 安全加固

  • 增强 WireGuard 防火墙规则生成安全性:在构建转发策略前进行 CIDR 格式校验,防止非法输入引发配置错误或潜在绕过。

📌 升级提醒

  • 版本号已从 1.4.2 升级至 1.4.5,包含多项前后端协同变更,请确保客户端与服务端同步更新以获得完整功能体验。
beta-1.4.2 · 2026-09-06 17:05 · Beta 版

🎉 本次亮点

  • IPv6 Fake-IP 路由支持:启用 IPv6 时自动为本机 Fake-IP 流量创建本地路由,停用或切换时自动清理;无原生 IPv6 默认路由时也能正常转发 IPv6 代理流量。
  • 防火墙规则按地址族隔离:nftables 规则与集合现在根据 IPv4/IPv6 启用状态分别生成;单栈配置不再生成另一地址族的冗余规则,逻辑更清晰。
  • 内核参数自动兼容:TUN 模式自动调整 IPv4 反向路径过滤为宽松模式,TProxy 模式关闭源地址校验标记;IPv6 RA 配置尊重用户现有设置,避免覆盖静态网络选择。
  • IPv6 公网地址检测更准确:检测服务与仪表盘使用同一套地址分类,仅将物理接口上的公网 IPv6 地址显示为"IPv6 地址”,排除 ULA 或隧道私有地址。
  • Clash 核心绕过标记统一:模板与运行时配置将 routing-mark 统一调整为 17,与非 TUN 模式的默认绕过标记保持一致;TUN 模式下自动移除该配置项。

🆕 新增功能

  • IPv6 Fake-IP 本地路由管理:支持为配置的 IPv6 Fake-IP 网段创建指向 lo 的本地路由,并在健康检查中验证其存在性;仅管理 MSM 创建的路由,不影响管理员手动配置。
  • DNS 端口自定义放行:nftables 规则支持 AllowDNS 与 DNSPorts 配置,可自定义放行的 DNS 端口;禁用时不生成 UDP 53 放行规则,避免与本机 MosDNS 监听冲突。

✨ 功能增强

  • nftables 规则生成逻辑优化:所有 mangle、nat、tproxy 规则根据 IPv4.Enable 与 IPv6.Enable 分别生成;停用的地址族不再生成对应集合与规则文本。
  • 网络配置校验更严格:增加对 mode 与 proxy_policy 的枚举校验,监听端口范围限制为 1-65535;tproxy/redirect 模式要求至少启用 IPv4 或 IPv6 之一。
  • IPv6 启用范围细化:启用 IPv6 时改为按指定接口与 lo 分别启用,不再全局修改 disable_ipv6;健康检查增加对接口与 lo 的 IPv6 启用状态验证。
  • nftables 集合元素去重:自动移除被更大前缀覆盖的集合元素,避免规则冗余;重复地址自动去重。

🐛 问题修复

  • 停用地址族规则残留:IPv4 或 IPv6 禁用时,对应 fwmark 规则、本地默认路由、Fake-IP 路由现在会被清理;之前仅跳过设置,可能导致残留规则干扰。
  • IPv6 RA 配置被强制覆盖:启用 IPv6 转发时,accept_ra=0 的用户配置现在会被保留;之前可能将静态网络选择的禁用设置覆盖为 1 或 2。
  • IPv4 反向路径过滤导致丢包:TUN 模式启用 IPv4 时,接口 rp_filter 自动设为 2(宽松模式);之前严格模式可能导致非对称路由流量被丢弃。
  • TProxy 模式源地址校验冲突:TProxy 模式启用 IPv4 时,src_valid_mark 自动设为 0,避免 TProxy 标记后的包在反向查找时被判定为无效源。
  • Clash 配置 routing-mark 不一致:模板文件与运行时配置统一为 17;之前模板为 1,与非 TUN 模式默认绕过标记不一致。
  • IPv6 地址检测显示私有地址:检测服务之前可能将 ULA 或隧道接口的 IPv6 地址显示为公网地址;现在与仪表盘使用同一套分类,仅公网地址填入结果字段。
  • 路由监控遗漏 IPv6 Fake-IP:路由删除检测增加对 IPv6 Fake-IP 网段的匹配,识别并处理 IPv6 Fake-IP 路由删除事件。

📌 升级提醒

  • 版本号更新:后端、前端、桌面端版本号从 1.4.1 升至 1.4.2;Docker 镜像标签同步更新。
  • Linux 透明代理模式内核参数调整:TUN 模式升级后首次启动会自动配置 rp_filter 与 src_valid_mark,如有自定义需求请在配置应用后复核;TProxy 模式需确认 src_valid_mark=0 符合您的网络策略。
  • IPv6 静态网络用户注意:若您手动禁用 IPv6 RA(accept_ra=0),升级后该设置会被保留;若之前依赖系统自动获取默认路由,请确认上游路由器仍发送 RA。
  • API 文档版本同步:OpenAPI 文档与生成脚本版本号更新为 1.4.2,本地生成文档时请使用新版本参数。
beta-1.4.1 · 2026-09-06 11:00 · Beta 版

🎉 本次亮点

  • Docker 管理焕新,Compose 入口合一:部署、模板、YAML 校验、详情和日志集中到同一个工作区,管理容器与应用栈更连贯。
  • 资源状态,一眼读懂:容器卡片、端口映射、CPU / RAM 指标与镜像更新状态统一梳理,关键数据更容易找到。
  • macvlan 创建前先体检:恢复独立参数校验,可先检查网卡、子网、网关和 IP 范围,再决定是否创建网络。
  • 令牌有归属,会话不空转:API Token 关联实际用户,失效登录及时清理,补齐身份校验与前端状态联动。
  • 升级链路补齐防护:拒绝下载同版或旧版更新,清理 Clash 无效订阅残留,降低升级过程中的配置干扰。

🎉 重磅功能

  • Docker 管理重构,Compose 工作流统一:保留 Docker 二级导航,默认进入容器页;Compose 部署、模板、YAML 校验、详情和日志统一到“应用栈”工作区,减少重复入口与来回切换。

✨ 功能增强

  • 容器卡片与列表更好用:保留视图切换;卡片复选框在悬停、键盘聚焦或选中时显示,触屏设备直接显示,兼顾紧凑布局与多选操作。
  • 端口映射按需展开:点击折叠区域即可查看全部映射,映射较多时仍能保持卡片清晰。
  • 资源指标口径更明确:CPU 无采样时显示“—”,RAM 同时展示用量与上限;网络、磁盘区分双向累计量,单侧数据缺失时保留空位,避免收发或读写数据串位,以及与实时速率混淆。
  • 镜像更新状态更清楚:明确区分“可更新、最新、不支持、未检查”,检查与刷新按钮增加执行中状态,操作反馈更直观。
  • 更新策略分层展示:“保留旧容器”等配置收纳到高级设置,常用操作与进阶配置各有位置。
  • 资源工作区视觉统一:节点、容器、镜像、网络、存储、应用栈、事件和系统信息采用一致的页头、资源布局与响应式样式。
  • 事件搜索覆盖更多线索:可对已加载事件的动作、操作者、类型及属性键和值进行关键词搜索,查找项目名、容器名等线索更方便。
  • 更新记录不再只显示前 8 条:取消前端额外截断,展示接口返回的更新记录(当前最多 50 条);任务进度为 0% 时,进度条也从零开始显示。
  • 资源表格更易阅读和识别:镜像、网络、存储等资源表格补充列标题语义,并直接显示“操作”列标题,兼顾视觉浏览与屏幕阅读器使用。
  • 节点编辑信息更贴合连接方式:本地节点的编辑抽屉不再显示远程连接地址项;远程节点保留该信息,缺少地址时明确显示“—”。

🐛 问题修复

  • 恢复 macvlan 独立校验:网络创建弹窗可展开检查父网卡、子网、网关及 IP 范围,仅校验、不创建;参数或管理目标变化后清除旧结果,避免把先前的校验结论用于新配置。
  • 修正镜像创建时间:优先按 Docker 时间戳的数字时区偏移解析,避免 CST 等缩写产生歧义;相对时间和未知格式保留原值。
  • 失效登录不再反复触发状态变更:刷新令牌失败后进入统一未授权处理,清理本地会话;重复清理不再反复广播登录变化,停止无效授权轮询。
  • 下载前再次校验版本:没有更新、目标版本为空、目标版本等于或低于当前版本时拒绝下载,避免缓存状态或手动请求触发旧版下载。
  • 修复 GitHub 图标请求与内网代理冲突:官方 GitHub API 使用兼容环境代理的传输路径;其他远程地址保留安全拨号检查。
  • 清理 Clash 无效订阅残留:升级时按已保存的订阅配置重新整理提供器,移除无效占位与不支持的 URL,同时保留有效的自定义提供器;配置未变化时不重复写入。
  • 应用栈改名后重新校验:名称规范化为小写并检查格式;修改名称后清除旧 YAML 校验结果,避免沿用先前校验状态直接部署。

🛡️ 安全加固

  • API Token 绑定实际用户:认证上下文记录所属用户身份,所属用户无效或停用时拒绝认证;兼容可明确识别归属的历史令牌。
  • 模板部署补齐权限与重复点击保护:只读用户不能发起部署,已有部署执行时禁用其他部署入口,降低误操作风险。

📌 升级提醒

  • Compose 入口调整:旧 /docker/compose 地址自动跳转到 /docker/stacks;外部项目整栈操作仍受既有权限与能力限制。
  • 历史令牌检查:若旧 API Token 的所属用户已停用或无法识别,升级后会被拒绝;请检查令牌归属及用户状态。
  • 本次记录覆盖 beta-1.3.9 → beta-1.4.1 的 10 个提交。Beta 版请先在测试环境验证,升级前备份配置与应用栈定义。
beta-1.3.9 · 2026-09-06 00:12 · Beta 版

新增 / 优化

  • 增加 GitHub Token 凭据与限流重试机制
  • 完善 EasyTier 配置、TOML 同步及 TUN 诊断
  • 新增 Docker 更新自动化管理与安全队列
  • 支持外部 Compose 容器检查与安全重建更新
  • 重构 Docker 管理工作台并统一资源卡片体验

问题修复

  • 兼容旧配置时间戳并恢复核心切换逻辑
  • 防御 Docker 更新空响应及构建类型错误
  • 修复目标选择器浮层溢出与容器卡片布局
  • 区分 Docker 引擎离线与空环境状态显示
  • 补齐生命周期数据并增强并发执行保护

注意事项

  • Docker 更新自动化需满足授权许可要求
  • EasyTier 支持安全的密码查看交互
beta-1.0.14 · 2026-03-31 16:29 · Beta 版

新增 / 优化

  • 统一 MosDNS 恢复写操作重试策略
  • 调整组件更新 GitHub 下载优先级

问题修复

  • 修复 MosDNS 未启用列表插件回写失败
  • 修复许可证重激活因本地材料损坏失败
  • 修复 MosDNS 列表插件就绪前的回写问题

注意事项

  • 0.x 升级 1.x 必须重置或重装 DNS 服务

⚠️ 使用说明 ​

  1. Beta 版标签格式:beta-x.x.x
  2. Docker 标签格式:msmbox/msm:beta-x.x.x 与 msmbox/msm:beta-latest
  3. 若需稳定环境,请使用稳定版发布
  4. 请仅在自有或已获授权的环境中测试,并在安装前阅读使用与合规

一键安装 ​

bash
# 使用 curl(sudo)
curl -fsSL https://raw.githubusercontent.com/msm9527/msm-wiki/main/install_beta.sh | sudo bash
# root 用户
curl -fsSL https://raw.githubusercontent.com/msm9527/msm-wiki/main/install_beta.sh | bash

# 或使用 wget(sudo)
wget -qO- https://raw.githubusercontent.com/msm9527/msm-wiki/main/install_beta.sh | sudo bash
# root 用户
wget -qO- https://raw.githubusercontent.com/msm9527/msm-wiki/main/install_beta.sh | bash

国内加速(可选)

如果直连 GitHub 较慢,推荐直接使用 Beta 国内镜像脚本直链:

bash
# Beta 国内镜像脚本(等价于 install_beta_cn.sh)
# curl(sudo)
curl -fsSL https://msm.19930520.xyz/dl/beta/install.sh | sudo bash
# root 用户
curl -fsSL https://msm.19930520.xyz/dl/beta/install.sh | bash

# wget(sudo)
wget -qO- https://msm.19930520.xyz/dl/beta/install.sh | sudo bash
# root 用户
wget -qO- https://msm.19930520.xyz/dl/beta/install.sh | bash

https://msm.19930520.xyz/dl/beta/install.sh 为 Beta 国内镜像脚本直链,和仓库中的 install_beta_cn.sh 同步。

系统自带工具小贴士:Debian/Ubuntu/Alpine 最小镜像通常预装 wget 而不一定有 curl;CentOS/RHEL/Fedora 常见预装 curl;macOS 预装 curl。缺少对应工具时可先用包管理器安装(如 apt-get install curl 或 yum install wget)。

🧭 Beta 测试范围 ​

查看 dev 分支累计测试重点(不等同于本版新增)

以下能力已经进入 dev,欢迎测试反馈。当前 Beta 版本与具体发布内容,以本页最新发布卡和 GitHub Release 为准。

  • 统一代理服务强化跨 Clash / Sing-Box 安全切换、配置迁移、网络恢复和就绪验证
  • 远程回家扩展为 Shadowsocks、VLESS、Trojan、AnyTLS、Hysteria2、TUIC v5 六种协议
  • EasyTier、Tailscale / Headscale、WireGuard 三个自建私网服务可多选并存
  • 网络工具与 Docker 管理重构为运维控制台,并强化查看者 / 操作员权限边界
  • Cloudflare Tunnel 支持同一 Tunnel 多条跨 Zone 路由,并可发布本机或局域网中的多个 Web 服务
  • 域名服务内置受管反向代理运行时,完善 DDNS、证书、反向代理、访问日志和运行时修复
  • 配置写入增强注释与字段顺序保留,系统网络增加 DNS / FakeIP 自愈
  • 授权页收敛支持与社群入口,自助撤销要求授权邮箱和授权码,并移除 IP 激活备选路径
  • 仪表盘与进程管理增加 MSM 自身 / 托管合计资源口径、网卡与双栈地址,并优化实时图表性能
  • 强化组件升级、MSM 更新预检、手工停止意图和主机重启后的托管服务自动恢复

本 Wiki 的功能专题按当前 dev 界面维护;稳定版中看不到某个入口时,请先核对版本,而不是按文档强行调用新接口。