Skip to content

🚀 MSM beta-2.1.9(Beta 版)

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 02 Nov 01:48
· 10 commits to main since this release
ce0adfe

📦 MSM beta-2.1.9

Build Status
Version
Platform

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


✨ 本次更新

🎉 本次亮点(Highlights)

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

🆕 新增功能(Added)

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

✨ 功能增强(Changed)

  • 代理核心 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 反代前校验证书选择、域名类型、监听端口和路由冲突条件,条件不满足时不应用配置。

⚠️ 兼容性变更(Deprecated)

  • 代理 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.9
发布通道 beta
源仓库 msm9527/msm
构建分支 dev 🌿
源提交 5ae70d7
构建时间 2026-11-02 09:26:47 CST ⏰
🎯 最新提交详情

优化受管反代与日志能力并升级版本 / Optimize managed edge and logging, bump version


💾 下载安装

🖥️ 命令行版本(CLI)

Linux 平台
架构 文件 说明
amd64 msm-beta-2.1.9-linux-amd64.tar.gz 标准版本(推荐)
amd64-v3 msm-beta-2.1.9-linux-amd64-v3.tar.gz 优化版(需 AVX2)
amd64-musl msm-beta-2.1.9-linux-amd64-musl.tar.gz Alpine Linux
amd64-musl-v3 msm-beta-2.1.9-linux-amd64-musl-v3.tar.gz Alpine 优化版
arm64 msm-beta-2.1.9-linux-arm64.tar.gz ARM 64位
arm64-musl msm-beta-2.1.9-linux-arm64-musl.tar.gz ARM Alpine
armv7 msm-beta-2.1.9-linux-armv7.tar.gz ARM 32位 (v7)
armv6 msm-beta-2.1.9-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.1.9_beta-r3_all.apk apk
luci-app-msm_2.1.9_beta-r3_all.ipk ipk
msm-2.1.9_beta-r3_x86_64.apk apk
msm_2.1.9_beta-r3_x86_64.ipk ipk
msm-2.1.9_beta-r3_aarch64_cortex-a53.apk apk
msm-2.1.9_beta-r3_aarch64_cortex-a72.apk apk
msm-2.1.9_beta-r3_aarch64_generic.apk apk
msm_2.1.9_beta-r3_aarch64_cortex-a53.ipk ipk
msm_2.1.9_beta-r3_aarch64_cortex-a72.ipk ipk
msm_2.1.9_beta-r3_aarch64_generic.ipk ipk
msm-2.1.9_beta-r3_arm_arm1176jzf-s_vfp.apk apk
msm_2.1.9_beta-r3_arm_arm1176jzf-s_vfp.ipk ipk
msm-2.1.9_beta-r3_arm_cortex-a15_neon-vfpv4.apk apk
msm-2.1.9_beta-r3_arm_cortex-a7_neon-vfpv4.apk apk
msm-2.1.9_beta-r3_arm_cortex-a9_neon.apk apk
msm-2.1.9_beta-r3_arm_cortex-a9_vfpv3-d16.apk apk
msm_2.1.9_beta-r3_arm_cortex-a15_neon-vfpv4.ipk ipk
msm_2.1.9_beta-r3_arm_cortex-a7_neon-vfpv4.ipk ipk
msm_2.1.9_beta-r3_arm_cortex-a9_neon.ipk ipk
msm_2.1.9_beta-r3_arm_cortex-a9_vfpv3-d16.ipk ipk

🧩 派网应用版本(APX)

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

说明:

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

🖼️ 桌面应用版本(Desktop)

macOS 桌面应用
架构 文件 说明
Intel msm-desktop-beta-2.1.9-darwin-amd64.dmg Intel 芯片 Mac
Apple Silicon msm-desktop-beta-2.1.9-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.1.9/msm-beta-2.1.9-linux-amd64.tar.gz

# 解压
tar -xzf msm-beta-2.1.9-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.1.9

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

⚖️ 使用与合规

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


📚 文档与支持


🤖 由 GitHub Actions 自动构建

GitHub
Documentation
Docker