Repository navigation
Releases: iwvw/Momomi
Release list
v0.8.12
延迟测速
新增「只测 TCP 延迟」开关
设置 → 延迟测试 → 只测 TCP 延迟。
开启后不再经内核发 HTTP 请求,而是直接对节点的 server:port 建一次 TCP 连接,
只量握手耗时。数字比默认模式小(少了 TLS 握手与节点到目标站的链路),
适合快速判断线路通不通。
- hysteria / hysteria2 / tuic 这类只有 UDP 端口的节点无法测 TCP,会自动回退到默认测速
- 节点地址从
runtime.yaml读取(内核/proxies接口不返回 server/port),按文件时间戳缓存
批量测速更稳、更准
- 并发不再固定 50,改为
min(设置值, 目标数),目标数 ≤20 时上限 10。
之前对 5 个节点开 50 并发,同一节点读数会在 56ms 与 178ms 之间跳 - 「全部测速」只测真实节点:策略组(手动/稳定/漏网等)和 REJECT/PASS 不再参与,
它们没有自己的地址,测了必然超时。DIRECT 保留(有真实路径可量) - 组的延迟直接沿用其
now指向的节点,不再单独发请求
实测(5 节点 + DIRECT):修复前伦敦 3/3 失败、ARM 读数虚低到 56ms;
修复后 6 轮全部成功,波动收敛到 ±16ms。
测速结果跨面板统一
新增全局 DelayCache,主面板与迷你面板共用同一份结果:
- 在迷你面板测的速,主面板立刻同步,反之亦然
- 组的延迟沿
now链递归继承(「稳定」→「手动」→ 具体节点),
嵌套组成员也会显示数字而不是「—」
之前两个面板各自持有独立实例,测速结果互不可见,这是「迷你面板有数字、
主面板显示 —」的根因。
订阅
新增「经代理拉取订阅」开关
设置 → 订阅与下载 → 经代理拉取订阅,默认开启。
- 开启:经代理拉取(内核运行时用混合端口,否则沿用系统代理)
- 关闭:完全直连,连系统代理也不借用
适用于订阅站被当前代理挡住、或代理本身连不上订阅站的情况。
切换后立即生效,不需要重启(内部会重建 HttpClient,因为代理对象在构造时绑定)。
迷你面板
新增「迷你面板自动收起」
设置 → 启动 → 迷你面板自动收起。
可选:不自动收起(默认)/ 5 / 10 / 15 / 30 / 60 秒。
行为是「鼠标离开后计时」:
- 鼠标停在面板上不计时
- 移出面板开始倒计时
- 倒计时中移回来立即取消
- 打开节点下拉框时不收起,选完重新计时
说明
- 「只测 TCP 延迟」量的是到节点入口的握手耗时,不能替代默认的 URL 测速。
节点入口握手很快、实际转发很慢的情况完全存在。 - 部分节点(如某些 NLB 入口)对并发连接敏感,批量测速时可能偶发超时,
点它单独重测即可。这是节点侧限制,不是客户端问题。
产物下载
点击文件名即可下载。
合并版(自包含,解压即用,无需预装运行时)
| 文件 | 类型 | 大小 | 说明 |
|---|---|---|---|
Momomi-0.8.12-x64-setup.exe |
x64 安装包 | 45.8 MB | 推荐。一键安装,可选开机自启与桌面快捷方式 |
Momomi-0.8.12-x64-portable.zip |
x64 便携版 | 67.2 MB | 解压即用,无需安装 |
Momomi-0.8.12-x64-full-setup.exe |
x64 完整版 安装包 | 70.4 MB | 内置内核 + 地理数据库,开箱即用 |
Momomi-0.8.12-x64-full.zip |
x64 完整版 便携包 | 107.1 MB | 内置内核 + 地理数据库,解压即用 |
Momomi-0.8.12-arm64-portable.zip |
ARM64 便携版 | 65.9 MB | ARM64 设备(如骁龙本) |
Momomi-0.8.12-arm64-full.zip |
ARM64 完整版 便携包 | 103.7 MB | ARM64 设备,内置内核 + 地理数据库 |
MSIX(x64)
| 文件 | 类型 | 大小 | 说明 |
|---|---|---|---|
Momomi-0.8.12.0-x64.msix |
x64 MSIX 包 | 66.4 MB | MSIX 打包形态,功能与安装版一致;安装前需先信任证书 |
momomi-signing.cer |
签名证书(公钥) | 0.0 MB | 自签名证书,安装 MSIX 前需导入「受信任人」存储 |
安装前先信任证书(会弹一次 UAC),再安装:
certutil -addstore -f TrustedPeople momomi-signing.cer
Add-AppxPackage .\Momomi-0.8.12.0-x64.msixMSIX 版数据目录固定为
%LOCALAPPDATA%\Momomi,不支持应用内覆盖式自更新,升级请安装新的 MSIX 包。
分离版(框架依赖,体积最小,需预装运行时)
分离版仅提供 x64,须先安装运行环境方可运行,安装包在运行环境缺失时会给出下载提示。
| 文件 | 类型 | 大小 | 说明 |
|---|---|---|---|
Momomi-0.8.12-x64-sep-setup.exe |
x64 安装包 | 10.4 MB | 一键安装;安装时检测运行环境并提示 |
Momomi-0.8.12-x64-sep.zip |
x64 便携版 | 13.9 MB | 解压即用,需自备运行环境 |
Momomi-0.8.12-x64-full-sep-setup.exe |
x64 完整版 安装包 | 35.0 MB | 内置内核 + 地理数据库,需自备运行环境 |
Momomi-0.8.12-x64-full-sep.zip |
x64 完整版 便携包 | 53.8 MB | 内置内核 + 地理数据库,需自备运行环境 |
运行环境要求
须预先安装下列两个运行时,均为 x64 架构,缺一不可:
| 运行时 | 所需版本 | 下载地址 |
|---|---|---|
| Windows App Runtime | 2.4 或更高(2.x) | WindowsAppRuntimeInstall-x64.exe |
| .NET 运行时 | 10.0 | .NET 10 下载 |
- 本应用基于 Windows App SDK 2.4 构建,Windows App Runtime 需 2.4 或更高的 2.x 版本,推荐直接安装上表的 2.4。
- .NET 请选择 「.NET 运行时」(组件名
Microsoft.NETCore.App),而非「.NET 桌面运行时」或「ASP.NET Core 运行时」,版本 10.0.x。 - 安装完成后可执行下列命令核对,两条均应有输出:
dotnet --list-runtimes | Select-String 'Microsoft.NETCore.App 10\.'
Get-AppxPackage Microsoft.WindowsAppRuntime.2 | Select-Object Name, Version若运行环境已按上表装齐仍无法启动,建议改用合并版(自带全部运行时,无需预装)。
版本选择建议
| 使用场景 | 推荐版本 |
|---|---|
| 一般用户 | 合并版 x64 安装包(自带运行时,安装即用) |
| 追求最小体积,且已装 .NET 10 与 Windows App Runtime 2.4 | 分离版(较合并版小约 100 MB) |
| 网络可正常访问 GitHub | 精简版(内核按需下载,体积更小) |
| 访问 GitHub 不便 / 需开箱即用 | 完整版(内置 mihomo 内核与全部地理数据库) |
| ARM64 设备(如骁龙本) | 合并版 ARM64 便携包 |
注意事项
- 管理员权限:主程序以管理员身份运行以支持 TUN。UAC 为默认级别时,每次启动会弹出一次授权提示。
- 分离版运行环境:须预先安装 Windows App Runtime 2.4(x64)与 .NET 运行时 10.0(x64),安装器会检测并在缺失时给出下载地址,详见上方「分离版」章节。
- 端口 7890 冲突:若同时运行 clash-party 等占用 7890 端口的程序,Momomi 的混合端口将绑定失败,请在设置中改用其他端口(如 7897)。
- 代码签名:安装包未做代码签名,Windows SmartScreen 可能提示「未知发布者」,选择「仍要运行」即可。
v0.8.11
更新机制重做
这一版把「检查更新」从一段写死的启动轮询,重做成一个带策略的调度器,
并补齐了缺失的几个关键选项。参考的是 BetterScene 的实现。
新增 UpdateCoordinator
把「什么时候查、查到后做什么」从 App.xaml.cs 的轮询循环里抽出来,集中管理:
- 启动时检查一次(可关),之后按设定间隔复查
- 记录上次检查时间,避免重启后立刻又打一次 GitHub API
- 支持「跳过此版本」:跳过后后台检查不再提示该版本,手动检查仍会显示
- 支持「自动下载并安装」:查到新版本直接更新并重启,不再询问
- 支持「不显示通知」:只更新顶栏胶囊,不弹托盘气泡
原来的实现只支持「开关自动检查」,间隔写死 6 小时,也没有跳过版本与自动安装。
顶栏胶囊
- 点击后的对话框现在会显示这一版的更新说明(自动截断到约 600 字,
去掉产物下载表格那类与「要不要更新」无关的内容) - 新增「跳过此版本」按钮,跳过即收起胶囊
- 自动安装失败时胶囊会恢复成可点击状态,不再永远卡在「正在更新到 vX」
托盘通知
发现新版本、自动安装开始时各弹一条气泡;开着专注助手时不打扰
(respectQuietTime)。「仅迷你面板」模式下没有主窗口可弹,状态会保留下来,
等主窗口打开时补显示。
设置页「版本与更新」新增
| 选项 | 说明 |
|---|---|
| 启动时检查 | 程序启动后立即查一次 |
| 自动下载并安装 | 查到就更新,不再询问 |
| 不显示通知 | 只更新胶囊,不弹气泡 |
| 检查频率 | 1 / 3 / 6 / 12 / 24 / 72 小时 |
| 跳过此版本 | 显示当前跳过的版本,可「跳过」或「恢复提示」 |
说明
- 更新说明来自 GitHub Release 的
body,国内网络下如果取不到说明,
对话框会退化为只显示版本号,不影响更新本身。 - 「跳过此版本」记录在本地设置里,换版本号后会重新提示。
- 自动下载并安装默认关闭;开启后更新期间代理会短暂中断。
产物下载
点击文件名即可下载。
合并版(自包含,解压即用,无需预装运行时)
| 文件 | 类型 | 大小 | 说明 |
|---|---|---|---|
Momomi-0.8.11-x64-setup.exe |
x64 安装包 | 45.8 MB | 推荐。一键安装,可选开机自启与桌面快捷方式 |
Momomi-0.8.11-x64-portable.zip |
x64 便携版 | 67.2 MB | 解压即用,无需安装 |
Momomi-0.8.11-x64-full-setup.exe |
x64 完整版 安装包 | 70.4 MB | 内置内核 + 地理数据库,开箱即用 |
Momomi-0.8.11-x64-full.zip |
x64 完整版 便携包 | 107.1 MB | 内置内核 + 地理数据库,解压即用 |
Momomi-0.8.11-arm64-portable.zip |
ARM64 便携版 | 65.9 MB | ARM64 设备(如骁龙本) |
Momomi-0.8.11-arm64-full.zip |
ARM64 完整版 便携包 | 103.6 MB | ARM64 设备,内置内核 + 地理数据库 |
MSIX(x64)
| 文件 | 类型 | 大小 | 说明 |
|---|---|---|---|
Momomi-0.8.11.0-x64.msix |
x64 MSIX 包 | 66.4 MB | MSIX 打包形态,功能与安装版一致;安装前需先信任证书 |
momomi-signing.cer |
签名证书(公钥) | 0.0 MB | 自签名证书,安装 MSIX 前需导入「受信任人」存储 |
安装前先信任证书(会弹一次 UAC),再安装:
certutil -addstore -f TrustedPeople momomi-signing.cer
Add-AppxPackage .\Momomi-0.8.11.0-x64.msixMSIX 版数据目录固定为
%LOCALAPPDATA%\Momomi,不支持应用内覆盖式自更新,升级请安装新的 MSIX 包。
分离版(框架依赖,体积最小,需预装运行时)
分离版仅提供 x64,须先安装运行环境方可运行,安装包在运行环境缺失时会给出下载提示。
| 文件 | 类型 | 大小 | 说明 |
|---|---|---|---|
Momomi-0.8.11-x64-sep-setup.exe |
x64 安装包 | 10.4 MB | 一键安装;安装时检测运行环境并提示 |
Momomi-0.8.11-x64-sep.zip |
x64 便携版 | 13.9 MB | 解压即用,需自备运行环境 |
Momomi-0.8.11-x64-full-sep-setup.exe |
x64 完整版 安装包 | 35.0 MB | 内置内核 + 地理数据库,需自备运行环境 |
Momomi-0.8.11-x64-full-sep.zip |
x64 完整版 便携包 | 53.8 MB | 内置内核 + 地理数据库,需自备运行环境 |
运行环境要求
须预先安装下列两个运行时,均为 x64 架构,缺一不可:
| 运行时 | 所需版本 | 下载地址 |
|---|---|---|
| Windows App Runtime | 2.4 或更高(2.x) | WindowsAppRuntimeInstall-x64.exe |
| .NET 运行时 | 10.0 | .NET 10 下载 |
- 本应用基于 Windows App SDK 2.4 构建,Windows App Runtime 需 2.4 或更高的 2.x 版本,推荐直接安装上表的 2.4。
- .NET 请选择 「.NET 运行时」(组件名
Microsoft.NETCore.App),而非「.NET 桌面运行时」或「ASP.NET Core 运行时」,版本 10.0.x。 - 安装完成后可执行下列命令核对,两条均应有输出:
dotnet --list-runtimes | Select-String 'Microsoft.NETCore.App 10\.'
Get-AppxPackage Microsoft.WindowsAppRuntime.2 | Select-Object Name, Version若运行环境已按上表装齐仍无法启动,建议改用合并版(自带全部运行时,无需预装)。
版本选择建议
| 使用场景 | 推荐版本 |
|---|---|
| 一般用户 | 合并版 x64 安装包(自带运行时,安装即用) |
| 追求最小体积,且已装 .NET 10 与 Windows App Runtime 2.4 | 分离版(较合并版小约 100 MB) |
| 网络可正常访问 GitHub | 精简版(内核按需下载,体积更小) |
| 访问 GitHub 不便 / 需开箱即用 | 完整版(内置 mihomo 内核与全部地理数据库) |
| ARM64 设备(如骁龙本) | 合并版 ARM64 便携包 |
注意事项
- 管理员权限:主程序以管理员身份运行以支持 TUN。UAC 为默认级别时,每次启动会弹出一次授权提示。
- 分离版运行环境:须预先安装 Windows App Runtime 2.4(x64)与 .NET 运行时 10.0(x64),安装器会检测并在缺失时给出下载地址,详见上方「分离版」章节。
- 端口 7890 冲突:若同时运行 clash-party 等占用 7890 端口的程序,Momomi 的混合端口将绑定失败,请在设置中改用其他端口(如 7897)。
- 代码签名:安装包未做代码签名,Windows SmartScreen 可能提示「未知发布者」,选择「仍要运行」即可。
v0.8.10
优化
测速明显变快
原来的做法是每个节点固定测 3 次取最小值,并发只有 8。100 个节点的组最坏要排队十几轮,
每轮都可能等满 3 秒超时,用户得盯着转圈十几秒。
- 每个节点只发一次请求,把省下的时间换成并发(默认 8 → 50,上限 128)。
单点重测随时可以点,不影响「先快速扫一眼谁快」的主流程。 - 只在「快速失败」时补测一次(耗时 < 500 ms)。瞬时连接失败——比如内核刚重载完
连接被拒——仍能自动纠正,而真正挂掉的节点不会白等第二轮超时。 - 给内核调用加了墙钟上限(超时 + 1 秒)。内核异常时不返回,不会一直占着并发名额
把整批卡死。 - 内核配置固定写
unified-delay: true:测速时扣掉 TCP/TLS 握手耗时,报出的数字
更接近实际使用体验,也不再比其他客户端大一截。
实测(7 个节点,含 1 个超时节点):整批 3.09 秒完成,几乎全部耗时都来自那个
注定超时的节点。改造前同样的节点要 12 秒以上。
测速结果分批出现,界面不再卡顿
原来每个节点的结果都单独跨线程推一次 UI 更新,节点多时界面被这些更新拖住,
看起来比实际更慢。现在每 200 ms 合并一批写入,数字会陆续出现;
排序统一留到整批测完再做,列表不会每 200 ms 重排一次把节点甩来甩去。
后台常驻内存大幅下降
托盘常驻时工作集经常挂在一两百兆,但真正在用的只有几兆——差额几乎全是
WinUI / D3D 的原生内存:交换链后备缓冲、着色器缓存、字形与纹理。这些页
即使窗口已经隐藏也一直留在进程里,GC 完全碰不到。
- 新增
WorkingSetTrimmer,在窗口隐藏、迷你面板收起后把工作集交还系统,
再打开只多几次缺页,首帧无感。 - 带活跃来源跟踪:主窗口、迷你面板各自独立登记,任一窗口在渲染时不会触发回收;
窗口开着但静止超过 1 分钟同样允许回收。 - 回收有 20 秒最小间隔,连续快速开合不会反复丢弃刚读回来的页。
实测记录(data/app.log):多次从 50–277 MB 回收到 1–6 MB。
说明
- 测速默认并发从 8 提到 50。如果你的网络对大并发敏感(例如路由器连接数吃紧),
可在「设置 → 延迟测试 → 并发数」调低。 - 单次测量取代了「3 次取最小」,数字可能比之前略大几十毫秒。这属于正常的
单次采样差异,不代表节点变差;点单个节点可立即重测。 - 工作集回收发生在窗口隐藏之后约 1.2 秒,任务管理器里看到的内存下降会稍有延迟。
产物下载
点击文件名即可下载。
合并版(自包含,解压即用,无需预装运行时)
| 文件 | 类型 | 大小 | 说明 |
|---|---|---|---|
Momomi-0.8.10-x64-setup.exe |
x64 安装包 | 45.8 MB | 推荐。一键安装,可选开机自启与桌面快捷方式 |
Momomi-0.8.10-x64-portable.zip |
x64 便携版 | 67.2 MB | 解压即用,无需安装 |
Momomi-0.8.10-x64-full-setup.exe |
x64 完整版 安装包 | 70.4 MB | 内置内核 + 地理数据库,开箱即用 |
Momomi-0.8.10-x64-full.zip |
x64 完整版 便携包 | 107.1 MB | 内置内核 + 地理数据库,解压即用 |
Momomi-0.8.10-arm64-portable.zip |
ARM64 便携版 | 65.9 MB | ARM64 设备(如骁龙本) |
Momomi-0.8.10-arm64-full.zip |
ARM64 完整版 便携包 | 103.6 MB | ARM64 设备,内置内核 + 地理数据库 |
MSIX(x64)
| 文件 | 类型 | 大小 | 说明 |
|---|---|---|---|
Momomi-0.8.10.0-x64.msix |
x64 MSIX 包 | 66.3 MB | MSIX 打包形态,功能与安装版一致;安装前需先信任证书 |
momomi-signing.cer |
签名证书(公钥) | 0.0 MB | 自签名证书,安装 MSIX 前需导入「受信任人」存储 |
安装前先信任证书(会弹一次 UAC),再安装:
certutil -addstore -f TrustedPeople momomi-signing.cer
Add-AppxPackage .\Momomi-0.8.10.0-x64.msixMSIX 版数据目录固定为
%LOCALAPPDATA%\Momomi,不支持应用内覆盖式自更新,升级请安装新的 MSIX 包。
分离版(框架依赖,体积最小,需预装运行时)
分离版仅提供 x64,须先安装运行环境方可运行,安装包在运行环境缺失时会给出下载提示。
| 文件 | 类型 | 大小 | 说明 |
|---|---|---|---|
Momomi-0.8.10-x64-sep-setup.exe |
x64 安装包 | 10.4 MB | 一键安装;安装时检测运行环境并提示 |
Momomi-0.8.10-x64-sep.zip |
x64 便携版 | 13.9 MB | 解压即用,需自备运行环境 |
Momomi-0.8.10-x64-full-sep-setup.exe |
x64 完整版 安装包 | 35.0 MB | 内置内核 + 地理数据库,需自备运行环境 |
Momomi-0.8.10-x64-full-sep.zip |
x64 完整版 便携包 | 53.8 MB | 内置内核 + 地理数据库,需自备运行环境 |
运行环境要求
须预先安装下列两个运行时,均为 x64 架构,缺一不可:
| 运行时 | 所需版本 | 下载地址 |
|---|---|---|
| Windows App Runtime | 2.4 或更高(2.x) | WindowsAppRuntimeInstall-x64.exe |
| .NET 运行时 | 10.0 | .NET 10 下载 |
- 本应用基于 Windows App SDK 2.4 构建,Windows App Runtime 需 2.4 或更高的 2.x 版本,推荐直接安装上表的 2.4。
- .NET 请选择 「.NET 运行时」(组件名
Microsoft.NETCore.App),而非「.NET 桌面运行时」或「ASP.NET Core 运行时」,版本 10.0.x。 - 安装完成后可执行下列命令核对,两条均应有输出:
dotnet --list-runtimes | Select-String 'Microsoft.NETCore.App 10\.'
Get-AppxPackage Microsoft.WindowsAppRuntime.2 | Select-Object Name, Version若运行环境已按上表装齐仍无法启动,建议改用合并版(自带全部运行时,无需预装)。
版本选择建议
| 使用场景 | 推荐版本 |
|---|---|
| 一般用户 | 合并版 x64 安装包(自带运行时,安装即用) |
| 追求最小体积,且已装 .NET 10 与 Windows App Runtime 2.4 | 分离版(较合并版小约 100 MB) |
| 网络可正常访问 GitHub | 精简版(内核按需下载,体积更小) |
| 访问 GitHub 不便 / 需开箱即用 | 完整版(内置 mihomo 内核与全部地理数据库) |
| ARM64 设备(如骁龙本) | 合并版 ARM64 便携包 |
注意事项
- 管理员权限:主程序以管理员身份运行以支持 TUN。UAC 为默认级别时,每次启动会弹出一次授权提示。
- 分离版运行环境:须预先安装 Windows App Runtime 2.4(x64)与 .NET 运行时 10.0(x64),安装器会检测并在缺失时给出下载地址,详见上方「分离版」章节。
- 端口 7890 冲突:若同时运行 clash-party 等占用 7890 端口的程序,Momomi 的混合端口将绑定失败,请在设置中改用其他端口(如 7897)。
- 代码签名:安装包未做代码签名,Windows SmartScreen 可能提示「未知发布者」,选择「仍要运行」即可。
v0.8.9
修复
- 顶栏「可更新」胶囊的边框锯齿:胶囊此前把
Background与CornerRadius直接设在Button上,而 Button 模板内部是ContentPresenter包一层Border,背景与圆角落在不同 visual 上,圆角边缘就会出现接缝与毛刺(microsoft-ui-xaml#9454)。现在 Button 自身透明无边框、只作点击载体,圆角背景改由内部单个Grid承载,与项目里卡片容器的做法保持一致。 - 胶囊文字颜色异常:下载过程中用了
IsEnabled = false表示「进行中」,而 WinUI 的禁用态会由模板覆盖Background与文字前景色,胶囊因此变成灰底暗字,看起来像样式坏了。改为用代码里的进行中标志位拦截重复点击,不再动IsEnabled。同时把前景色从TextOnAccentFillColorPrimaryBrush改为固定白色——该主题资源在部分主题组合下会解析成黑色,在 accent 底色上几乎不可读。 - 胶囊被拉伸过宽:
Button在StackPanel中默认被拉伸,文字两侧出现大片留白。现在显式左对齐,宽度随内容收缩。 - 下载进行中若再次触发更新检查广播,不再覆盖胶囊上的进度文案。
说明
这一版只调整顶栏胶囊的呈现与交互,不改变更新逻辑本身(启动后查一次、之后每 6 小时复查)。
产物下载
点击文件名即可下载。
合并版(自包含,解压即用,无需预装运行时)
| 文件 | 类型 | 大小 | 说明 |
|---|---|---|---|
Momomi-0.8.9-x64-setup.exe |
x64 安装包 | 45.8 MB | 推荐。一键安装,可选开机自启与桌面快捷方式 |
Momomi-0.8.9-x64-portable.zip |
x64 便携版 | 67.2 MB | 解压即用,无需安装 |
Momomi-0.8.9-x64-full-setup.exe |
x64 完整版 安装包 | 70.4 MB | 内置内核 + 地理数据库,开箱即用 |
Momomi-0.8.9-x64-full.zip |
x64 完整版 便携包 | 107.1 MB | 内置内核 + 地理数据库,解压即用 |
Momomi-0.8.9-arm64-portable.zip |
ARM64 便携版 | 65.9 MB | ARM64 设备(如骁龙本) |
Momomi-0.8.9-arm64-full.zip |
ARM64 完整版 便携包 | 103.6 MB | ARM64 设备,内置内核 + 地理数据库 |
MSIX(x64)
| 文件 | 类型 | 大小 | 说明 |
|---|---|---|---|
Momomi-0.8.9.0-x64.msix |
x64 MSIX 包 | 66.3 MB | MSIX 打包形态,功能与安装版一致;安装前需先信任证书 |
momomi-signing.cer |
签名证书(公钥) | 0.0 MB | 自签名证书,安装 MSIX 前需导入「受信任人」存储 |
安装前先信任证书(会弹一次 UAC),再安装:
certutil -addstore -f TrustedPeople momomi-signing.cer
Add-AppxPackage .\Momomi-0.8.9.0-x64.msixMSIX 版数据目录固定为
%LOCALAPPDATA%\Momomi,不支持应用内覆盖式自更新,升级请安装新的 MSIX 包。
分离版(框架依赖,体积最小,需预装运行时)
分离版仅提供 x64,须先安装运行环境方可运行,安装包在运行环境缺失时会给出下载提示。
| 文件 | 类型 | 大小 | 说明 |
|---|---|---|---|
Momomi-0.8.9-x64-sep-setup.exe |
x64 安装包 | 10.4 MB | 一键安装;安装时检测运行环境并提示 |
Momomi-0.8.9-x64-sep.zip |
x64 便携版 | 13.9 MB | 解压即用,需自备运行环境 |
Momomi-0.8.9-x64-full-sep-setup.exe |
x64 完整版 安装包 | 35.0 MB | 内置内核 + 地理数据库,需自备运行环境 |
Momomi-0.8.9-x64-full-sep.zip |
x64 完整版 便携包 | 53.7 MB | 内置内核 + 地理数据库,需自备运行环境 |
运行环境要求
须预先安装下列两个运行时,均为 x64 架构,缺一不可:
| 运行时 | 所需版本 | 下载地址 |
|---|---|---|
| Windows App Runtime | 2.4 或更高(2.x) | WindowsAppRuntimeInstall-x64.exe |
| .NET 运行时 | 10.0 | .NET 10 下载 |
- 本应用基于 Windows App SDK 2.4 构建,Windows App Runtime 需 2.4 或更高的 2.x 版本,推荐直接安装上表的 2.4。
- .NET 请选择 「.NET 运行时」(组件名
Microsoft.NETCore.App),而非「.NET 桌面运行时」或「ASP.NET Core 运行时」,版本 10.0.x。 - 安装完成后可执行下列命令核对,两条均应有输出:
dotnet --list-runtimes | Select-String 'Microsoft.NETCore.App 10\.'
Get-AppxPackage Microsoft.WindowsAppRuntime.2 | Select-Object Name, Version若运行环境已按上表装齐仍无法启动,建议改用合并版(自带全部运行时,无需预装)。
版本选择建议
| 使用场景 | 推荐版本 |
|---|---|
| 一般用户 | 合并版 x64 安装包(自带运行时,安装即用) |
| 追求最小体积,且已装 .NET 10 与 Windows App Runtime 2.4 | 分离版(较合并版小约 100 MB) |
| 网络可正常访问 GitHub | 精简版(内核按需下载,体积更小) |
| 访问 GitHub 不便 / 需开箱即用 | 完整版(内置 mihomo 内核与全部地理数据库) |
| ARM64 设备(如骁龙本) | 合并版 ARM64 便携包 |
注意事项
- 管理员权限:主程序以管理员身份运行以支持 TUN。UAC 为默认级别时,每次启动会弹出一次授权提示。
- 分离版运行环境:须预先安装 Windows App Runtime 2.4(x64)与 .NET 运行时 10.0(x64),安装器会检测并在缺失时给出下载地址,详见上方「分离版」章节。
- 端口 7890 冲突:若同时运行 clash-party 等占用 7890 端口的程序,Momomi 的混合端口将绑定失败,请在设置中改用其他端口(如 7897)。
- 代码签名:安装包未做代码签名,Windows SmartScreen 可能提示「未知发布者」,选择「仍要运行」即可。
v0.8.8
fix: v0.8.8 修复编辑器保存后不关闭、订阅 YAML 里的 emoji 不显示
保存不退出编辑框
- ProfilesViewModel.SaveEditorAsync 保存成功后只改了 StatusText,
而 StatusText 显示在页面副标题上、被编辑弹窗整个盖住,
用户看到的就是「点了保存毫无反应」 - 现在:保存成功收起编辑器;保存失败/异常在弹窗内用 InfoBar 显示原因
(原来的失败提示同样被弹窗遮住) - 覆写页的编辑器有同样的毛病(保存后不关闭),一并修复
emoji 不显示
- 订阅文件里的 emoji 多为 "\U0001F1EC\U0001F1E7 伦敦" 形式
(YAML 序列化产物),「原始配置」标签页直接原样显示成一串反斜杠 - 显示层新增反转义(复用 YamlOverrideMerger.UnescapeUnicodeInDoubleQuoted,
改为 public);「运行时配置」预览本来就会反转义,行为保持一致 - 新增对称的 EscapeUnicodeInDoubleQuoted,保存时把 emoji 转回 \U 形式,
避免「打开一次再保存」把整份订阅的转义全部改写、diff 一片红 - 已用本机三个真实订阅验证:显示层出现真 emoji,回写后与原文件
逐字节一致(8509 / 9394 / 7043 字节均未变化)
产物下载
点击文件名即可下载。
合并版(自包含,解压即用,无需预装运行时)
| 文件 | 类型 | 大小 | 说明 |
|---|---|---|---|
Momomi-0.8.8-x64-setup.exe |
x64 安装包 | 45.8 MB | 推荐。一键安装,可选开机自启与桌面快捷方式 |
Momomi-0.8.8-x64-portable.zip |
x64 便携版 | 67.2 MB | 解压即用,无需安装 |
Momomi-0.8.8-x64-full-setup.exe |
x64 完整版 安装包 | 70.4 MB | 内置内核 + 地理数据库,开箱即用 |
Momomi-0.8.8-x64-full.zip |
x64 完整版 便携包 | 107.1 MB | 内置内核 + 地理数据库,解压即用 |
Momomi-0.8.8-arm64-portable.zip |
ARM64 便携版 | 65.9 MB | ARM64 设备(如骁龙本) |
Momomi-0.8.8-arm64-full.zip |
ARM64 完整版 便携包 | 103.6 MB | ARM64 设备,内置内核 + 地理数据库 |
MSIX(x64)
| 文件 | 类型 | 大小 | 说明 |
|---|---|---|---|
Momomi-0.8.8.0-x64.msix |
x64 MSIX 包 | 66.3 MB | MSIX 打包形态,功能与安装版一致;安装前需先信任证书 |
momomi-signing.cer |
签名证书(公钥) | 0.0 MB | 自签名证书,安装 MSIX 前需导入「受信任人」存储 |
安装前先信任证书(会弹一次 UAC),再安装:
certutil -addstore -f TrustedPeople momomi-signing.cer
Add-AppxPackage .\Momomi-0.8.8.0-x64.msixMSIX 版数据目录固定为
%LOCALAPPDATA%\Momomi,不支持应用内覆盖式自更新,升级请安装新的 MSIX 包。
分离版(框架依赖,体积最小,需预装运行时)
分离版仅提供 x64,须先安装运行环境方可运行,安装包在运行环境缺失时会给出下载提示。
| 文件 | 类型 | 大小 | 说明 |
|---|---|---|---|
Momomi-0.8.8-x64-sep-setup.exe |
x64 安装包 | 10.4 MB | 一键安装;安装时检测运行环境并提示 |
Momomi-0.8.8-x64-sep.zip |
x64 便携版 | 13.9 MB | 解压即用,需自备运行环境 |
Momomi-0.8.8-x64-full-sep-setup.exe |
x64 完整版 安装包 | 35.0 MB | 内置内核 + 地理数据库,需自备运行环境 |
Momomi-0.8.8-x64-full-sep.zip |
x64 完整版 便携包 | 53.7 MB | 内置内核 + 地理数据库,需自备运行环境 |
运行环境要求
须预先安装下列两个运行时,均为 x64 架构,缺一不可:
| 运行时 | 所需版本 | 下载地址 |
|---|---|---|
| Windows App Runtime | 2.4 或更高(2.x) | WindowsAppRuntimeInstall-x64.exe |
| .NET 运行时 | 10.0 | .NET 10 下载 |
- 本应用基于 Windows App SDK 2.4 构建,Windows App Runtime 需 2.4 或更高的 2.x 版本,推荐直接安装上表的 2.4。
- .NET 请选择 「.NET 运行时」(组件名
Microsoft.NETCore.App),而非「.NET 桌面运行时」或「ASP.NET Core 运行时」,版本 10.0.x。 - 安装完成后可执行下列命令核对,两条均应有输出:
dotnet --list-runtimes | Select-String 'Microsoft.NETCore.App 10\.'
Get-AppxPackage Microsoft.WindowsAppRuntime.2 | Select-Object Name, Version若运行环境已按上表装齐仍无法启动,建议改用合并版(自带全部运行时,无需预装)。
版本选择建议
| 使用场景 | 推荐版本 |
|---|---|
| 一般用户 | 合并版 x64 安装包(自带运行时,安装即用) |
| 追求最小体积,且已装 .NET 10 与 Windows App Runtime 2.4 | 分离版(较合并版小约 100 MB) |
| 网络可正常访问 GitHub | 精简版(内核按需下载,体积更小) |
| 访问 GitHub 不便 / 需开箱即用 | 完整版(内置 mihomo 内核与全部地理数据库) |
| ARM64 设备(如骁龙本) | 合并版 ARM64 便携包 |
注意事项
- 管理员权限:主程序以管理员身份运行以支持 TUN。UAC 为默认级别时,每次启动会弹出一次授权提示。
- 分离版运行环境:须预先安装 Windows App Runtime 2.4(x64)与 .NET 运行时 10.0(x64),安装器会检测并在缺失时给出下载地址,详见上方「分离版」章节。
- 端口 7890 冲突:若同时运行 clash-party 等占用 7890 端口的程序,Momomi 的混合端口将绑定失败,请在设置中改用其他端口(如 7897)。
- 代码签名:安装包未做代码签名,Windows SmartScreen 可能提示「未知发布者」,选择「仍要运行」即可。
v0.8.7
更新检查机制
之前
只在启动后 8 秒检查一次,而且结果只有设置页能读到:
- 没有定时轮询:
MomomiHost那个每小时定时器跑的是订阅刷新,与应用更新无关; - 一直开着不关的用户,除非手动进设置页点「检查更新」,否则永远不知道有新版本;
- 检查失败只写进
LastResult.Error,连日志都没有; - 一键更新只有设置页一个入口。
现在
启动后查一次,之后每 6 小时复查一次:
启动 → 延迟 8 秒(避开启动流量)
→ 检查
→ 等待 6 小时(可通过 ui.checkAppUpdateIntervalHours 调整,1–168)
→ 复查(每次复查前重读开关,关掉即停止)
GitHub API 未鉴权限额是 60 次/小时,每 6 小时一次完全在范围内。
顶栏「可更新」胶囊
版本号右边新增一个胶囊按钮,仅在有新版本时出现:
[🐱 Momomi] [v0.8.7] [● v0.8.8 可更新] ← 点击弹确认框
- 点击弹「发现新版本」确认框(显示当前版本、最新版本、以及"代理会短暂中断"的提示),
确认后下载并在胶囊上显示进度百分比,完成后自动重启并拉起内核; - 选择「稍后」则关闭对话框,胶囊保留,下次复查仍会提示;
- 顶栏整体是拖拽区,胶囊用
TitleBar.IsDragRegion="False"排除,可以正常点击; - MSIX 形态不显示(该形态不支持应用内自更新,需装新包);
- 设置页手动「检查更新」的结果也会同步到胶囊,两处不会不一致;
- 在设置里关掉「自动检查更新」时,胶囊立即清除,避免挂着一个不再复查的旧结果。
注意
- 便携版、安装版都支持一键更新(安装版走静默安装器,便携版走 robocopy 覆盖并排除
data\)。 - 更新期间会先停内核、系统代理与 TUN,重启后按「系统代理意图」自动恢复(0.8.6 起)。
- 若上次检查到更新后一直没升,胶囊会一直保留;升级完成后自然消失。
产物下载
点击文件名即可下载。
合并版(自包含,解压即用,无需预装运行时)
| 文件 | 类型 | 大小 | 说明 |
|---|---|---|---|
Momomi-0.8.7-x64-setup.exe |
x64 安装包 | 45.8 MB | 推荐。一键安装,可选开机自启与桌面快捷方式 |
Momomi-0.8.7-x64-portable.zip |
x64 便携版 | 67.2 MB | 解压即用,无需安装 |
Momomi-0.8.7-x64-full-setup.exe |
x64 完整版 安装包 | 70.4 MB | 内置内核 + 地理数据库,开箱即用 |
Momomi-0.8.7-x64-full.zip |
x64 完整版 便携包 | 107.1 MB | 内置内核 + 地理数据库,解压即用 |
Momomi-0.8.7-arm64-portable.zip |
ARM64 便携版 | 65.9 MB | ARM64 设备(如骁龙本) |
Momomi-0.8.7-arm64-full.zip |
ARM64 完整版 便携包 | 103.6 MB | ARM64 设备,内置内核 + 地理数据库 |
MSIX(x64)
| 文件 | 类型 | 大小 | 说明 |
|---|---|---|---|
Momomi-0.8.7.0-x64.msix |
x64 MSIX 包 | 66.3 MB | MSIX 打包形态,功能与安装版一致;安装前需先信任证书 |
momomi-signing.cer |
签名证书(公钥) | 0.0 MB | 自签名证书,安装 MSIX 前需导入「受信任人」存储 |
安装前先信任证书(会弹一次 UAC),再安装:
certutil -addstore -f TrustedPeople momomi-signing.cer
Add-AppxPackage .\Momomi-0.8.7.0-x64.msixMSIX 版数据目录固定为
%LOCALAPPDATA%\Momomi,不支持应用内覆盖式自更新,升级请安装新的 MSIX 包。
分离版(框架依赖,体积最小,需预装运行时)
分离版仅提供 x64,须先安装运行环境方可运行,安装包在运行环境缺失时会给出下载提示。
| 文件 | 类型 | 大小 | 说明 |
|---|---|---|---|
Momomi-0.8.7-x64-sep-setup.exe |
x64 安装包 | 10.4 MB | 一键安装;安装时检测运行环境并提示 |
Momomi-0.8.7-x64-sep.zip |
x64 便携版 | 13.9 MB | 解压即用,需自备运行环境 |
Momomi-0.8.7-x64-full-sep-setup.exe |
x64 完整版 安装包 | 35.0 MB | 内置内核 + 地理数据库,需自备运行环境 |
Momomi-0.8.7-x64-full-sep.zip |
x64 完整版 便携包 | 53.7 MB | 内置内核 + 地理数据库,需自备运行环境 |
运行环境要求
须预先安装下列两个运行时,均为 x64 架构,缺一不可:
| 运行时 | 所需版本 | 下载地址 |
|---|---|---|
| Windows App Runtime | 2.4 或更高(2.x) | WindowsAppRuntimeInstall-x64.exe |
| .NET 运行时 | 10.0 | .NET 10 下载 |
- 本应用基于 Windows App SDK 2.4 构建,Windows App Runtime 需 2.4 或更高的 2.x 版本,推荐直接安装上表的 2.4。
- .NET 请选择 「.NET 运行时」(组件名
Microsoft.NETCore.App),而非「.NET 桌面运行时」或「ASP.NET Core 运行时」,版本 10.0.x。 - 安装完成后可执行下列命令核对,两条均应有输出:
dotnet --list-runtimes | Select-String 'Microsoft.NETCore.App 10\.'
Get-AppxPackage Microsoft.WindowsAppRuntime.2 | Select-Object Name, Version若运行环境已按上表装齐仍无法启动,建议改用合并版(自带全部运行时,无需预装)。
版本选择建议
| 使用场景 | 推荐版本 |
|---|---|
| 一般用户 | 合并版 x64 安装包(自带运行时,安装即用) |
| 追求最小体积,且已装 .NET 10 与 Windows App Runtime 2.4 | 分离版(较合并版小约 100 MB) |
| 网络可正常访问 GitHub | 精简版(内核按需下载,体积更小) |
| 访问 GitHub 不便 / 需开箱即用 | 完整版(内置 mihomo 内核与全部地理数据库) |
| ARM64 设备(如骁龙本) | 合并版 ARM64 便携包 |
注意事项
- 管理员权限:主程序以管理员身份运行以支持 TUN。UAC 为默认级别时,每次启动会弹出一次授权提示。
- 分离版运行环境:须预先安装 Windows App Runtime 2.4(x64)与 .NET 运行时 10.0(x64),安装器会检测并在缺失时给出下载地址,详见上方「分离版」章节。
- 端口 7890 冲突:若同时运行 clash-party 等占用 7890 端口的程序,Momomi 的混合端口将绑定失败,请在设置中改用其他端口(如 7897)。
- 代码签名:安装包未做代码签名,Windows SmartScreen 可能提示「未知发布者」,选择「仍要运行」即可。
v0.8.6
feat: v0.8.6 系统代理状态跨启动保留
TUN 一直能保留(core.tun 落库),但系统代理只有「同一进程内重启内核」会恢复,
跨进程一律丢失:退出时无条件关掉代理,重启/升级后要手动再开一次;
崩溃后注册表还会残留指向已死端口的代理,等于整机断网。
- 新增 ui.systemProxyDesired 记录用户意图(与 core.tun 对称),
所有开/关入口(ModeSelector、设置页、内核重启恢复)都写入 - 启动内核【之前】处理:首次升级时按注册表现状补记意图,然后清掉
「指向自己端口但内核未运行」的残留代理(这种状态只会断网) - 内核就绪【之后】按意图恢复:manual 写回 127.0.0.1:port,PAC 启动本地服务器
- 关闭时只动「指向自己端口」的代理,绝不误关公司代理/其它客户端;
新增 IsOwnProxy/ClearOwnProxy,兼容 127.0.0.1、localhost、IPv6 回环、
http:// 前缀与 http=...;https=... 分协议写法 - SSID 暂停只临时关代理,不改意图,离开该网络后仍会恢复
- 顺带修复 SsidService 恢复时用错端口的问题(原用 DownloadProxy 端口,
可能指向另一个客户端);改用 core.mixedPort
产物下载
点击文件名即可下载。
合并版(自包含,解压即用,无需预装运行时)
| 文件 | 类型 | 大小 | 说明 |
|---|---|---|---|
Momomi-0.8.6-x64-setup.exe |
x64 安装包 | 45.8 MB | 推荐。一键安装,可选开机自启与桌面快捷方式 |
Momomi-0.8.6-x64-portable.zip |
x64 便携版 | 67.2 MB | 解压即用,无需安装 |
Momomi-0.8.6-x64-full-setup.exe |
x64 完整版 安装包 | 70.4 MB | 内置内核 + 地理数据库,开箱即用 |
Momomi-0.8.6-x64-full.zip |
x64 完整版 便携包 | 107.1 MB | 内置内核 + 地理数据库,解压即用 |
Momomi-0.8.6-arm64-portable.zip |
ARM64 便携版 | 65.9 MB | ARM64 设备(如骁龙本) |
Momomi-0.8.6-arm64-full.zip |
ARM64 完整版 便携包 | 103.6 MB | ARM64 设备,内置内核 + 地理数据库 |
MSIX(x64)
| 文件 | 类型 | 大小 | 说明 |
|---|---|---|---|
Momomi-0.8.6.0-x64.msix |
x64 MSIX 包 | 66.3 MB | MSIX 打包形态,功能与安装版一致;安装前需先信任证书 |
momomi-signing.cer |
签名证书(公钥) | 0.0 MB | 自签名证书,安装 MSIX 前需导入「受信任人」存储 |
安装前先信任证书(会弹一次 UAC),再安装:
certutil -addstore -f TrustedPeople momomi-signing.cer
Add-AppxPackage .\Momomi-0.8.6.0-x64.msixMSIX 版数据目录固定为
%LOCALAPPDATA%\Momomi,不支持应用内覆盖式自更新,升级请安装新的 MSIX 包。
分离版(框架依赖,体积最小,需预装运行时)
分离版仅提供 x64,须先安装运行环境方可运行,安装包在运行环境缺失时会给出下载提示。
| 文件 | 类型 | 大小 | 说明 |
|---|---|---|---|
Momomi-0.8.6-x64-sep-setup.exe |
x64 安装包 | 10.4 MB | 一键安装;安装时检测运行环境并提示 |
Momomi-0.8.6-x64-sep.zip |
x64 便携版 | 13.9 MB | 解压即用,需自备运行环境 |
Momomi-0.8.6-x64-full-sep-setup.exe |
x64 完整版 安装包 | 35.0 MB | 内置内核 + 地理数据库,需自备运行环境 |
Momomi-0.8.6-x64-full-sep.zip |
x64 完整版 便携包 | 53.7 MB | 内置内核 + 地理数据库,需自备运行环境 |
运行环境要求
须预先安装下列两个运行时,均为 x64 架构,缺一不可:
| 运行时 | 所需版本 | 下载地址 |
|---|---|---|
| Windows App Runtime | 2.4 或更高(2.x) | WindowsAppRuntimeInstall-x64.exe |
| .NET 运行时 | 10.0 | .NET 10 下载 |
- 本应用基于 Windows App SDK 2.4 构建,Windows App Runtime 需 2.4 或更高的 2.x 版本,推荐直接安装上表的 2.4。
- .NET 请选择 「.NET 运行时」(组件名
Microsoft.NETCore.App),而非「.NET 桌面运行时」或「ASP.NET Core 运行时」,版本 10.0.x。 - 安装完成后可执行下列命令核对,两条均应有输出:
dotnet --list-runtimes | Select-String 'Microsoft.NETCore.App 10\.'
Get-AppxPackage Microsoft.WindowsAppRuntime.2 | Select-Object Name, Version若运行环境已按上表装齐仍无法启动,建议改用合并版(自带全部运行时,无需预装)。
版本选择建议
| 使用场景 | 推荐版本 |
|---|---|
| 一般用户 | 合并版 x64 安装包(自带运行时,安装即用) |
| 追求最小体积,且已装 .NET 10 与 Windows App Runtime 2.4 | 分离版(较合并版小约 100 MB) |
| 网络可正常访问 GitHub | 精简版(内核按需下载,体积更小) |
| 访问 GitHub 不便 / 需开箱即用 | 完整版(内置 mihomo 内核与全部地理数据库) |
| ARM64 设备(如骁龙本) | 合并版 ARM64 便携包 |
注意事项
- 管理员权限:主程序以管理员身份运行以支持 TUN。UAC 为默认级别时,每次启动会弹出一次授权提示。
- 分离版运行环境:须预先安装 Windows App Runtime 2.4(x64)与 .NET 运行时 10.0(x64),安装器会检测并在缺失时给出下载地址,详见上方「分离版」章节。
- 端口 7890 冲突:若同时运行 clash-party 等占用 7890 端口的程序,Momomi 的混合端口将绑定失败,请在设置中改用其他端口(如 7897)。
- 代码签名:安装包未做代码签名,Windows SmartScreen 可能提示「未知发布者」,选择「仍要运行」即可。
v0.8.5
fix: v0.8.5 修复设置背景材质时的硬崩溃
本机 10-19(0.8.0)与 10-22(0.8.2)两次崩溃的 WER 报告完全一致:
combase.dll、异常码 0xc000027b(stowed exception)、偏移 0x5cf34。事件日志
里显示的 CoreMessagingXP.dll 只是宿主,真正的失败点是给 Window.SystemBackdrop
赋值——框架内部会去订阅 Content.ActualThemeChanged,而 Content 还没就绪时
(构造函数里、Activate 之前)会 E_INVALIDARG 并直接 RoFailFast,托管侧的
UnhandledException 完全接不到,所以 app-crash.log 里一个字都没有。
调用链与 microsoft-ui-xaml#8364 描述的一致。
- SystemBackdrop 赋值前先确认 Content 是 FrameworkElement 且已 Loaded;
未就绪时推迟,根元素 Loaded / Window Activated 时按「当前样式」重放 - 重放的是样式而不是记下来的实例:期间设置页改过样式也不会被旧对象覆盖
- 样式应用状态区分「已请求」与「已赋值成功」,被推迟时不会因样式相同而跳过
- 旧的 ApplyBackdrop() 与 InitializeBackdropStyleAsync 会对同一窗口连续
attach 两次 backdrop target,合并为单一入口 - 迷你面板同理:Panel 未 Loaded 时推迟到 Loaded 再赋值
- 赋值本身也包 try/catch,避免判断失误时异常冒到 UI 线程
产物下载
点击文件名即可下载。
合并版(自包含,解压即用,无需预装运行时)
| 文件 | 类型 | 大小 | 说明 |
|---|---|---|---|
Momomi-0.8.5-x64-setup.exe |
x64 安装包 | 45.8 MB | 推荐。一键安装,可选开机自启与桌面快捷方式 |
Momomi-0.8.5-x64-portable.zip |
x64 便携版 | 67.2 MB | 解压即用,无需安装 |
Momomi-0.8.5-x64-full-setup.exe |
x64 完整版 安装包 | 70.4 MB | 内置内核 + 地理数据库,开箱即用 |
Momomi-0.8.5-x64-full.zip |
x64 完整版 便携包 | 107.1 MB | 内置内核 + 地理数据库,解压即用 |
Momomi-0.8.5-arm64-portable.zip |
ARM64 便携版 | 65.9 MB | ARM64 设备(如骁龙本) |
Momomi-0.8.5-arm64-full.zip |
ARM64 完整版 便携包 | 103.6 MB | ARM64 设备,内置内核 + 地理数据库 |
MSIX(x64)
| 文件 | 类型 | 大小 | 说明 |
|---|---|---|---|
Momomi-0.8.5.0-x64.msix |
x64 MSIX 包 | 66.3 MB | MSIX 打包形态,功能与安装版一致;安装前需先信任证书 |
momomi-signing.cer |
签名证书(公钥) | 0.0 MB | 自签名证书,安装 MSIX 前需导入「受信任人」存储 |
安装前先信任证书(会弹一次 UAC),再安装:
certutil -addstore -f TrustedPeople momomi-signing.cer
Add-AppxPackage .\Momomi-0.8.5.0-x64.msixMSIX 版数据目录固定为
%LOCALAPPDATA%\Momomi,不支持应用内覆盖式自更新,升级请安装新的 MSIX 包。
分离版(框架依赖,体积最小,需预装运行时)
分离版仅提供 x64,须先安装运行环境方可运行,安装包在运行环境缺失时会给出下载提示。
| 文件 | 类型 | 大小 | 说明 |
|---|---|---|---|
Momomi-0.8.5-x64-sep-setup.exe |
x64 安装包 | 10.4 MB | 一键安装;安装时检测运行环境并提示 |
Momomi-0.8.5-x64-sep.zip |
x64 便携版 | 13.9 MB | 解压即用,需自备运行环境 |
Momomi-0.8.5-x64-full-sep-setup.exe |
x64 完整版 安装包 | 35.0 MB | 内置内核 + 地理数据库,需自备运行环境 |
Momomi-0.8.5-x64-full-sep.zip |
x64 完整版 便携包 | 53.7 MB | 内置内核 + 地理数据库,需自备运行环境 |
运行环境要求
须预先安装下列两个运行时,均为 x64 架构,缺一不可:
| 运行时 | 所需版本 | 下载地址 |
|---|---|---|
| Windows App Runtime | 2.4 或更高(2.x) | WindowsAppRuntimeInstall-x64.exe |
| .NET 运行时 | 10.0 | .NET 10 下载 |
- 本应用基于 Windows App SDK 2.4 构建,Windows App Runtime 需 2.4 或更高的 2.x 版本,推荐直接安装上表的 2.4。
- .NET 请选择 「.NET 运行时」(组件名
Microsoft.NETCore.App),而非「.NET 桌面运行时」或「ASP.NET Core 运行时」,版本 10.0.x。 - 安装完成后可执行下列命令核对,两条均应有输出:
dotnet --list-runtimes | Select-String 'Microsoft.NETCore.App 10\.'
Get-AppxPackage Microsoft.WindowsAppRuntime.2 | Select-Object Name, Version若运行环境已按上表装齐仍无法启动,建议改用合并版(自带全部运行时,无需预装)。
版本选择建议
| 使用场景 | 推荐版本 |
|---|---|
| 一般用户 | 合并版 x64 安装包(自带运行时,安装即用) |
| 追求最小体积,且已装 .NET 10 与 Windows App Runtime 2.4 | 分离版(较合并版小约 100 MB) |
| 网络可正常访问 GitHub | 精简版(内核按需下载,体积更小) |
| 访问 GitHub 不便 / 需开箱即用 | 完整版(内置 mihomo 内核与全部地理数据库) |
| ARM64 设备(如骁龙本) | 合并版 ARM64 便携包 |
注意事项
- 管理员权限:主程序以管理员身份运行以支持 TUN。UAC 为默认级别时,每次启动会弹出一次授权提示。
- 分离版运行环境:须预先安装 Windows App Runtime 2.4(x64)与 .NET 运行时 10.0(x64),安装器会检测并在缺失时给出下载地址,详见上方「分离版」章节。
- 端口 7890 冲突:若同时运行 clash-party 等占用 7890 端口的程序,Momomi 的混合端口将绑定失败,请在设置中改用其他端口(如 7897)。
- 代码签名:安装包未做代码签名,Windows SmartScreen 可能提示「未知发布者」,选择「仍要运行」即可。
v0.8.4
修复
这一版集中处理上一轮排查出的崩溃与泄漏点,都是能在代码或日志里直接定位的问题。
崩溃
- 内核启动失败时死锁,程序既起不来也退不掉:
CoreManager.StartAsync在持有启动锁的情况下又调用StopAsync去拿同一把锁(SemaphoreSlim不可重入),内核进程起来了但 API 连不上时就会永久等待。表现是「启动中」不动、之后再也起不来内核,退出时同样卡在这把锁上。现在把清理逻辑抽成不取锁的CleanupLockedAsync,两条路径复用。 - 退出时界面卡死:退出流程在 UI 线程上无限期同步等待内核停止;若内核正卡在启动等待中,程序看起来就像死机,只能强制结束,结果系统代理/TUN 残留、下次开机断网。现在加了 8 秒上限。
- 节点名含「旗帜 + 两个字素簇」时打开代理页即崩:
SplitIcon里elements[3]越界(🇺🇸 1这类名字正好触发IndexOutOfRangeException)。节点名来自订阅、完全不可控,因此定级为崩溃。 - 节点名被错误拆分:同一处逻辑对任何名字都无条件剥掉第一个字素簇,导致
DIRECT显示成图标D+ 名字IRECT,中文节点名也会丢失首字。现在只有国旗与 emoji 才会被识别为图标。 - 订阅
expire越界导致崩溃:DateTimeOffset.FromUnixTimeSeconds对超范围值直接抛ArgumentOutOfRangeException,而该调用发生在 DispatcherQueue 回调里。现在统一走安全格式化,越界按「长期有效」处理。 - 设置页跨线程改控件:
DispatchReload只保证进入时在 UI 线程,await LoadAsync()之后续体回到线程池,随后的SelectedIndex/IsOn赋值就成了跨线程操作(工作机app-crash.log里有 6 次0x8001010E实证)。现在整段 Reload 都调度到 UI 线程。 - 设置页读取失败直接崩:
SettingsViewModel.LoadAsync只有try/finally没有catch,而调用方OnNavigatedTo是async void。现在捕获并把原因显示在状态栏。 - 数据层初始化失败时静默崩溃:数据目录不可写、数据库被占用、磁盘满时,
AppHost初始化失败后仍继续创建主窗口(构造函数第一件事就是取 Host),启动即崩且无任何提示。现在弹出原生消息框说明原因与日志路径后退出。 - 异步弹窗重入崩溃:WinUI 同时只允许一个
ContentDialog,并发ShowAsync会抛异常,而调用点多为async void。新增DialogGuard统一守卫。 - 代理/规则页跨线程改绑定属性:
StateChanged多数来自线程池,而LoadAsync直接写StatusText/IsBusy。现在统一回到 DispatcherQueue。 - 启动时读取的主题设置从未生效:
ApplyThemeFromSettingsAsync在ConfigureAwait(false)之后访问Window.Content/AppBar,异常被外层吞掉。现在调度回 UI 线程执行。
内存与资源
- 最小化到托盘后 ViewModel 不解绑:
NavFrame.Content = null不会触发导航事件,各页OnNavigatedFrom里的Detach从未执行,每「呼出→收起」一次就多一份仍订阅着TrafficUpdated/ProxiesChanged的 ViewModel,继续每秒刷新、每次切节点重拉代理数据。新增IPageLifecycle,释放内容前显式解绑。 - 页面后退栈无界:界面上没有后退按钮,但
Frame会把访问过的每个页面都压在BackStack里强引用整棵可视化树。现在导航后清空。 - 每秒泄漏一份 JSON 缓冲:
MihomoApiClient的 8 个方法都拿到JsonDocument却不释放(/connections是每秒轮询),池化缓冲无法归还。现在全部using。 - 进程图标流不释放:
ProcessIconProvider里IRandomAccessStream从未释放,且SetSourceAsync是 fire-and-forget,using一退出流就没了,解码失败即空白图标。现在在ImageOpened/ImageFailed里统一收尾。 - 迷你窗口切换动画可致后台线程崩溃:
WindowSlider.Dispose不幂等,且Join超时后仍释放信号量,工作线程若正卡在WaitOne上会在后台线程抛ObjectDisposedException。现在幂等,并在 Join 超时时不释放。 - 窗口子类化委托被回收:
WindowChrome._subclassProc是 static,迷你窗口重建时会覆盖旧委托,旧窗口若尚未销毁,原生回调可能打到已释放的 thunk。现在按窗口句柄各存一份,关闭前解挂。
数据与一致性
- 没有覆写时 runtime.yaml 仍带
...结束标记:这条分支之前走Normalize(为了差异视图特意保留结束标记),而 mihomo 会把...当成「配置到此为止」,表现为内核不报错却没有任何代理。现在无条件走Apply。 - runtime.yaml 并发写:
RewriteRuntimeConfigAsync(TUN 热切换)未参与串行化,会和订阅刷新同时整份重写同一文件。现在共用同一把门,并改为临时文件 + 替换的原子写。 - SQLite 用共享缓存:共享缓存是表级锁,并发读写会立刻返回
SQLITE_LOCKED,而busy_timeout对它无效。改为默认私有缓存(WAL 下并发足够),并给写操作加了 BUSY/LOCKED 重试。 - 流量历史无界增长且区间首分钟丢失:
traffic_minute每分钟一行、从不清理(工作机已 3 万行),且写入用分钟精度、查询用"O"格式,字符串比较会漏掉区间第一分钟——手动「清空历史」时更会因此把整表删光。现在保留 30 天并每天清理一次,两侧格式统一。 - 订阅内容保存不做校验:编辑器里存进非法 YAML 后,之后任何一次「应用配置」都会抛异常,而部分调用方是
async void。现在保存前先校验,覆写预览也加了独立兜底。 - 代理组顺序反复解析整份配置:
ReadProxyGroupOrder在代理页/首页/迷你面板每次重建时都要读并解析 runtime.yaml。现在按「路径 + 修改时间 + 长度」缓存,并在后台线程解析。
其他
- 日志页的「级别」下拉没有设
SelectedValuePath,取到的是ComboBoxItem而非字符串,级别过滤实际上从未生效。
产物下载
点击文件名即可下载。
合并版(自包含,解压即用,无需预装运行时)
| 文件 | 类型 | 大小 | 说明 |
|---|---|---|---|
Momomi-0.8.4-x64-setup.exe |
x64 安装包 | 45.8 MB | 推荐。一键安装,可选开机自启与桌面快捷方式 |
Momomi-0.8.4-x64-portable.zip |
x64 便携版 | 67.2 MB | 解压即用,无需安装 |
Momomi-0.8.4-x64-full-setup.exe |
x64 完整版 安装包 | 70.4 MB | 内置内核 + 地理数据库,开箱即用 |
Momomi-0.8.4-x64-full.zip |
x64 完整版 便携包 | 107.0 MB | 内置内核 + 地理数据库,解压即用 |
Momomi-0.8.4-arm64-portable.zip |
ARM64 便携版 | 65.9 MB | ARM64 设备(如骁龙本) |
Momomi-0.8.4-arm64-full.zip |
ARM64 完整版 便携包 | 103.6 MB | ARM64 设备,内置内核 + 地理数据库 |
MSIX(x64)
| 文件 | 类型 | 大小 | 说明 |
|---|---|---|---|
Momomi-0.8.4.0-x64.msix |
x64 MSIX 包 | 66.3 MB | MSIX 打包形态,功能与安装版一致;安装前需先信任证书 |
momomi-signing.cer |
签名证书(公钥) | 0.0 MB | 自签名证书,安装 MSIX 前需导入「受信任人」存储 |
安装前先信任证书(会弹一次 UAC),再安装:
certutil -addstore -f TrustedPeople momomi-signing.cer
Add-AppxPackage .\Momomi-0.8.4.0-x64.msixMSIX 版数据目录固定为
%LOCALAPPDATA%\Momomi,不支持应用内覆盖式自更新,升级请安装新的 MSIX 包。
分离版(框架依赖,体积最小,需预装运行时)
分离版仅提供 x64,须先安装运行环境方可运行,安装包在运行环境缺失时会给出下载提示。
| 文件 | 类型 | 大小 | 说明 |
|---|---|---|---|
Momomi-0.8.4-x64-sep-setup.exe |
x64 安装包 | 10.4 MB | 一键安装;安装时检测运行环境并提示 |
Momomi-0.8.4-x64-sep.zip |
x64 便携版 | 13.9 MB | 解压即用,需自备运行环境 |
Momomi-0.8.4-x64-full-sep-setup.exe |
x64 完整版 安装包 | 34.9 MB | 内置内核 + 地理数据库,需自备运行环境 |
Momomi-0.8.4-x64-full-sep.zip |
x64 完整版 便携包 | 53.7 MB | 内置内核 + 地理数据库,需自备运行环境 |
运行环境要求
须预先安装下列两个运行时,均为 x64 架构,缺一不可:
| 运行时 | 所需版本 | 下载地址 |
|---|---|---|
| Windows App Runtime | 2.4 或更高(2.x) | WindowsAppRuntimeInstall-x64.exe |
| .NET 运行时 | 10.0 | .NET 10 下载 |
- 本应用基于 Windows App SDK 2.4 构建,Windows App Runtime 需 2.4 或更高的 2.x 版本,推荐直接安装上表的 2.4。
- .NET 请选择 「.NET 运行时」(组件名
Microsoft.NETCore.App),而非「.NET 桌面运行时」或「ASP.NET Core 运行时」,版本 10.0.x。 - 安装完成后可执行下列命令核对,两条均应有输出:
dotnet --list-runtimes | Select-String 'Microsoft.NETCore.App 10\.'
Get-AppxPackage Microsoft.WindowsAppRuntime.2 | Select-Object Name, Version若运行环境已按上表装齐仍无法启动,建议改用合并版(自带全部运行时,无需预装)。
版本选择建议
| 使用场景 | 推荐版本 |
|---|---|
| 一般用户 | 合并版 x64 安装包(自带运行时,安装即用) |
| 追求最小体积,且已装 .NET 10 与 Windows App Runtime 2.4 | 分离版(较合并版小约 100 MB) |
| 网络可正常访问 GitHub | 精简版(内核按需下载,体积更小) |
| 访问 GitHub 不便 / 需开箱即用 | 完整版(内置 mihomo 内核与全部地理数据库) |
| ARM64 设备(如骁龙本) | 合并版 ARM64 便携包 |
注意事项
- 管理员权限:主程序以管理员身份运行以支持 TUN。UAC 为默认级别时,每次启动会弹出一次授权提示。
- 分离版运行环境:须预先安装 Windows App Runtime 2.4(x64)与 .NET 运行时 10.0(x64),安装器会检测并在缺失时给出下载地址,详见上方「分离版」章节。
- 端口 7890 冲突:若同时运行 clash-party 等占用 7890 端口的程序,Momomi 的混合端口将绑定失败,请在设置中改用其他端口(如 7897)。
- 代码签名:安装包未做代码签名,Windows SmartScreen 可能提示「未知发布者」,选择「仍要运行」即可。
v0.8.3
修复
- 修复重启资源管理器后托盘图标不再出现:explorer 重启会清空通知区域,程序需要靠
TaskbarCreated广播重新把图标加回去。但主程序以管理员权限运行(High 完整性),而 explorer 是中完整性,这条广播能不能送到并不确定;H.NotifyIcon 2.5.0-beta.3 内部也没有调用ChangeWindowMessageFilterEx放行该消息。现在两条路一起补上:- 托盘图标创建后显式放行
TaskbarCreated,让库自带的恢复逻辑能真正触发; - 增加与消息无关的兜底:每 3 秒比对
Shell_TrayWnd的宿主进程,发现 explorer 换了就主动重建图标,并按当前状态把图标颜色、ToolTip 与菜单勾选一并恢复。
之前只能重启程序才能找回图标,现在 explorer 重启后约 3 秒内自动恢复。
- 托盘图标创建后显式放行
产物下载
点击文件名即可下载。
合并版(自包含,解压即用,无需预装运行时)
| 文件 | 类型 | 大小 | 说明 |
|---|---|---|---|
Momomi-0.8.3-x64-setup.exe |
x64 安装包 | 45.8 MB | 推荐。一键安装,可选开机自启与桌面快捷方式 |
Momomi-0.8.3-x64-portable.zip |
x64 便携版 | 67.2 MB | 解压即用,无需安装 |
Momomi-0.8.3-x64-full-setup.exe |
x64 完整版 安装包 | 70.4 MB | 内置内核 + 地理数据库,开箱即用 |
Momomi-0.8.3-x64-full.zip |
x64 完整版 便携包 | 107.0 MB | 内置内核 + 地理数据库,解压即用 |
Momomi-0.8.3-arm64-portable.zip |
ARM64 便携版 | 65.9 MB | ARM64 设备(如骁龙本) |
Momomi-0.8.3-arm64-full.zip |
ARM64 完整版 便携包 | 103.6 MB | ARM64 设备,内置内核 + 地理数据库 |
MSIX(x64)
| 文件 | 类型 | 大小 | 说明 |
|---|---|---|---|
Momomi-0.8.3.0-x64.msix |
x64 MSIX 包 | 66.3 MB | MSIX 打包形态,功能与安装版一致;安装前需先信任证书 |
momomi-signing.cer |
签名证书(公钥) | 0.0 MB | 自签名证书,安装 MSIX 前需导入「受信任人」存储 |
安装前先信任证书(会弹一次 UAC),再安装:
certutil -addstore -f TrustedPeople momomi-signing.cer
Add-AppxPackage .\Momomi-0.8.3.0-x64.msixMSIX 版数据目录固定为
%LOCALAPPDATA%\Momomi,不支持应用内覆盖式自更新,升级请安装新的 MSIX 包。
分离版(框架依赖,体积最小,需预装运行时)
分离版仅提供 x64,须先安装运行环境方可运行,安装包在运行环境缺失时会给出下载提示。
| 文件 | 类型 | 大小 | 说明 |
|---|---|---|---|
Momomi-0.8.3-x64-sep-setup.exe |
x64 安装包 | 10.4 MB | 一键安装;安装时检测运行环境并提示 |
Momomi-0.8.3-x64-sep.zip |
x64 便携版 | 13.9 MB | 解压即用,需自备运行环境 |
Momomi-0.8.3-x64-full-sep-setup.exe |
x64 完整版 安装包 | 34.9 MB | 内置内核 + 地理数据库,需自备运行环境 |
Momomi-0.8.3-x64-full-sep.zip |
x64 完整版 便携包 | 53.7 MB | 内置内核 + 地理数据库,需自备运行环境 |
运行环境要求
须预先安装下列两个运行时,均为 x64 架构,缺一不可:
| 运行时 | 所需版本 | 下载地址 |
|---|---|---|
| Windows App Runtime | 2.4 或更高(2.x) | WindowsAppRuntimeInstall-x64.exe |
| .NET 运行时 | 10.0 | .NET 10 下载 |
- 本应用基于 Windows App SDK 2.4 构建,Windows App Runtime 需 2.4 或更高的 2.x 版本,推荐直接安装上表的 2.4。
- .NET 请选择 「.NET 运行时」(组件名
Microsoft.NETCore.App),而非「.NET 桌面运行时」或「ASP.NET Core 运行时」,版本 10.0.x。 - 安装完成后可执行下列命令核对,两条均应有输出:
dotnet --list-runtimes | Select-String 'Microsoft.NETCore.App 10\.'
Get-AppxPackage Microsoft.WindowsAppRuntime.2 | Select-Object Name, Version若运行环境已按上表装齐仍无法启动,建议改用合并版(自带全部运行时,无需预装)。
版本选择建议
| 使用场景 | 推荐版本 |
|---|---|
| 一般用户 | 合并版 x64 安装包(自带运行时,安装即用) |
| 追求最小体积,且已装 .NET 10 与 Windows App Runtime 2.4 | 分离版(较合并版小约 100 MB) |
| 网络可正常访问 GitHub | 精简版(内核按需下载,体积更小) |
| 访问 GitHub 不便 / 需开箱即用 | 完整版(内置 mihomo 内核与全部地理数据库) |
| ARM64 设备(如骁龙本) | 合并版 ARM64 便携包 |
注意事项
- 管理员权限:主程序以管理员身份运行以支持 TUN。UAC 为默认级别时,每次启动会弹出一次授权提示。
- 分离版运行环境:须预先安装 Windows App Runtime 2.4(x64)与 .NET 运行时 10.0(x64),安装器会检测并在缺失时给出下载地址,详见上方「分离版」章节。
- 端口 7890 冲突:若同时运行 clash-party 等占用 7890 端口的程序,Momomi 的混合端口将绑定失败,请在设置中改用其他端口(如 7897)。
- 代码签名:安装包未做代码签名,Windows SmartScreen 可能提示「未知发布者」,选择「仍要运行」即可。