Skip to content

🚀 MSM beta-2.0.5(Beta 版)

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 29 Sep 07:22
· 53 commits to main since this release
8948db8

📦 MSM beta-2.0.5

Build Status
Version
Platform

Beta 版每日自动构建 · 包含最新代码更新


✨ 本次更新

🎉 本次亮点(Highlights)

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

🆕 新增功能(Added)

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

✨ 功能增强(Changed)

  • 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。

🐛 问题修复(Fixed)

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

⚠️ 兼容性变更(Deprecated)

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

📌 升级提醒(Notes)

  • 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.5
发布通道 beta
源仓库 msm9527/msm
构建分支 dev 🌿
源提交 fd34ca5
构建时间 2026-09-29 15:07:32 CST ⏰
🎯 最新提交详情

docs: 完善 Docker Center 对照设计与开发验收 / document Docker Center design and validation


💾 下载安装

🖥️ 命令行版本(CLI)

Linux 平台
架构 文件 说明
amd64 msm-beta-2.0.5-linux-amd64.tar.gz 标准版本(推荐)
amd64-v3 msm-beta-2.0.5-linux-amd64-v3.tar.gz 优化版(需 AVX2)
amd64-musl msm-beta-2.0.5-linux-amd64-musl.tar.gz Alpine Linux
amd64-musl-v3 msm-beta-2.0.5-linux-amd64-musl-v3.tar.gz Alpine 优化版
arm64 msm-beta-2.0.5-linux-arm64.tar.gz ARM 64位
arm64-musl msm-beta-2.0.5-linux-arm64-musl.tar.gz ARM Alpine
armv7 msm-beta-2.0.5-linux-armv7.tar.gz ARM 32位 (v7)
armv6 msm-beta-2.0.5-linux-armv6.tar.gz ARM 32位 (v6)

💡 提示: amd64-v3 版本针对较新的 CPU 进行了优化(需要支持 AVX、AVX2 等指令集),性能更好但兼容性较低。如果不确定,请使用标准的 amd64 版本。

📡 OpenWrt 原生安装包(IPK / APK + LuCI)

OpenWrt 24.10 及以前使用 IPK(opkg),25.12 及以后使用 APK(apk v3)。选择与设备包架构匹配的 msm 包,再安装同版本 luci-app-msm 插件。

安装、架构选择与校验说明

下载 OpenWrt 软件包(x86_64 / ARM64 / ARMv7 / ARMv6)
文件 格式
luci-app-msm-2.0.5_beta-r3_all.apk apk
luci-app-msm_2.0.5_beta-r3_all.ipk ipk
msm-2.0.5_beta-r3_x86_64.apk apk
msm_2.0.5_beta-r3_x86_64.ipk ipk
msm-2.0.5_beta-r3_aarch64_cortex-a53.apk apk
msm-2.0.5_beta-r3_aarch64_cortex-a72.apk apk
msm-2.0.5_beta-r3_aarch64_generic.apk apk
msm_2.0.5_beta-r3_aarch64_cortex-a53.ipk ipk
msm_2.0.5_beta-r3_aarch64_cortex-a72.ipk ipk
msm_2.0.5_beta-r3_aarch64_generic.ipk ipk
msm-2.0.5_beta-r3_arm_arm1176jzf-s_vfp.apk apk
msm_2.0.5_beta-r3_arm_arm1176jzf-s_vfp.ipk ipk
msm-2.0.5_beta-r3_arm_cortex-a15_neon-vfpv4.apk apk
msm-2.0.5_beta-r3_arm_cortex-a7_neon-vfpv4.apk apk
msm-2.0.5_beta-r3_arm_cortex-a9_neon.apk apk
msm-2.0.5_beta-r3_arm_cortex-a9_vfpv3-d16.apk apk
msm_2.0.5_beta-r3_arm_cortex-a15_neon-vfpv4.ipk ipk
msm_2.0.5_beta-r3_arm_cortex-a7_neon-vfpv4.ipk ipk
msm_2.0.5_beta-r3_arm_cortex-a9_neon.ipk ipk
msm_2.0.5_beta-r3_arm_cortex-a9_vfpv3-d16.ipk ipk

🧩 派网应用版本(APX)

PanaBit / 派网
架构 文件 说明
amd64 msm-beta-2.0.5-linux-amd64-panabit.apx 派网 x86_64 安装包
arm64 msm-beta-2.0.5-linux-arm64-panabit.apx 派网 ARM64 安装包

说明:

  1. .apx 安装后会在派网页面中提供 MSM 控制入口
  2. 实际管理界面由派网入口页跳转到 MSM 自身 Web 控制台
  3. 如果派网设备已有服务占用目标端口,请先处理端口冲突
macOS 平台
架构 文件 说明
Intel msm-beta-2.0.5-darwin-amd64.tar.gz Intel 芯片 Mac
Apple Silicon msm-beta-2.0.5-darwin-arm64.tar.gz M1/M2/M3 芯片

🖼️ 桌面应用版本(Desktop)

macOS 桌面应用
架构 文件 说明
Intel msm-desktop-beta-2.0.5-darwin-amd64.dmg Intel 芯片 Mac
Apple Silicon msm-desktop-beta-2.0.5-darwin-arm64.dmg M1/M2/M3 芯片

安装步骤:

  1. 下载对应架构的 DMG 文件
  2. 双击 DMG 文件,将应用拖入 Applications 文件夹
  3. 首次打开时,如果遇到"无法验证开发者"提示:
    • 打开"系统设置" → "隐私与安全性"
    • 点击"仍要打开"按钮
  4. 由于应用未经过 Apple 公证,macOS 可能拦截首次打开,或提示"文件已损坏/无法打开"。可执行以下命令解除隔离属性:
    • /usr/bin/xattr -cr "/Applications/msm-desktop.app"
    • 该命令仅用于处理 Gatekeeper/隔离属性拦截;发布流程已校验包内后端签名和可执行性。如果执行后仍无法安装服务,请下载最新版本并反馈错误日志。

🚀 快速安装

OpenWrt 请使用上方的原生软件包,按 OpenWrt 安装指南 操作。

一键安装脚本(Linux / macOS)

curl -fsSL https://raw.githubusercontent.com/msm9527/msm-wiki/main/install_beta.sh | sudo bash

🔐 完整性校验

  • 校验清单:SHA256SUMS
  • CLI 发布包使用加固版构建,启动时会校验内嵌官方 SHA-256;若二进制被篡改会拒绝运行

手动安装(以 Linux amd64 为例)

# 下载
wget https://github.com/msm9527/msm-wiki/releases/download/beta-2.0.5/msm-beta-2.0.5-linux-amd64.tar.gz

# 解压
tar -xzf msm-beta-2.0.5-linux-amd64.tar.gz

# 安装
sudo mv msm /usr/local/bin/msm
sudo chmod +x /usr/local/bin/msm

# 验证
msm --version

Docker 安装

# 拉取镜像
docker pull msmbox/msm:beta-2.0.5

# 运行容器
docker run -d \
  --name msm \
  -p 7777:7777 \
  -v /opt/msm:/opt/msm \
  msmbox/msm:beta-2.0.5

⚖️ 使用与合规

MSM 是用于管理用户自有或已获授权设备的自托管管理平台,不提供代理节点、订阅或违法内容。请勿用于未授权访问、侵权或其他违法活动。


📚 文档与支持


🤖 由 GitHub Actions 自动构建

GitHub
Documentation
Docker