Skip to content

Releases

v0.2.2 (弹窗界面紧凑化重构与精致自适应)

Choose a tag to compare

@Jolly-J Jolly-J released this 25 Oct 08:07

🚀 Mihomo Monitor v0.2.2

专为 macOS 打造的「纯代理流量监控」与「原生系统性能分析」状态栏应用。

本版本针对此前弹窗界面横向留白过宽的问题,对主窗口尺寸及所有子视图进行了紧凑化重构,将弹窗宽度精确缩减约 1/3,同时重构了各卡片、导航条与排行列表在窄宽度下的自适应布局,消除冗余空白,视觉更贴合 macOS 状态栏微件的精致原生风格。


📦 资产下载


✨ 核心更新亮点 (Highlights)

1. 🎨 弹窗主尺寸缩减与留白消除
  • 弹窗主容器宽度由 440pt 缩小为 300pt(缩减约 31.8%),横向边缘内边距由 16pt 调整为 12pt,彻底消除原来横向空旷的空白感。
2. ⚡ 仪表盘卡片紧凑自适应
  • 去除顶部状态栏累计流量固定的 74pt 占位,改为紧凑流畅的动态宽度,杜绝小窗口下的挤压与溢出。
  • 实时上下行卡片标题精简为“实时下载 / 实时上传”,字号优化为 19pt,并加入单行保护与最小缩放因子。
  • 系统监控 CPU 负载与物理内存卡片底部标签同步优化,单行自适应平稳展示。
3. 🎯 导航分段选择条对齐
  • 代理流量 Tab 栏(应用 / 域名 / 节点 / 活跃)与时间范围(今天 / 近7天 / 全部)优化为紧凑胶囊标签,在 300pt 宽度下单行齐平从容并列。
  • 系统监控导航栏高度统一对齐为 27pt,排序标签更精炼。
4. 📊 列表排行项统一两端对齐
  • 节点排行(ProxyTrafficRow)底部指标重构为左右两端对齐,与应用排行(AppTrafficRow)保持高度统一规范,避免长文本折行。

💡 关于首次打开与开发者提示:
纯个人业余爱好开源项目,未购买昂贵的苹果开发者证书。首次打开若提示「无法验证开发者」:
请在系统「设置」->「隐私与安全性」中点击「仍要打开」,或在访达中右键点击应用选择「打开」即可。100% 本地纯净运行,零网络外传!

v0.2.1 (持久化幂等安全、端点退避重试与可见性驱动)

Choose a tag to compare

@Jolly-J Jolly-J released this 21 Oct 09:00

🚀 Mihomo Monitor v0.2.1

专为 macOS 打造的「纯代理流量监控」与「原生系统性能分析」状态栏应用。

本版本聚焦底层健壮性、流量计量的精准性与极端边界场景的数据安全,全面升级 Actor 并发隔离、连接水位幂等去重、跨日守恒分摊与退出落盘保障,并引入包含 7 组 36 项断言的回归测试套件。


📦 资产下载

• MihomoMonitor-v0.2.1.dmg(DMG 镜像安装包,推荐,双击拖入 Applications 即可使用)
• MihomoMonitor-v0.2.1.zip(绿色免安装版)
• MihomoMonitor-macOS.dmg(最新通用安装包软链)


✨ 核心更新亮点 (Highlights)

1. 🛡️ 流量持久化幂等安全与跨日守恒
  • 连接幂等检查点:引入 TrafficCheckpoint,结合连接核心 ID 与原始 startToken 联合构建防碰撞唯一键,写入 traffic_checkpoints 水位表,彻底杜绝重启、重放或采样乱序导致的流量重复累计。
  • 跨午夜/夏令时流量守恒分配:长连接跨日时通过 splitByDay 算法按时间跨度比例将上下行用量分摊到对应日期,整数余数归入最后一天,保持流量严格守恒。
  • 批量原子事务与异常整批回滚:采样维持约 1.5 秒,磁盘批量事务每 15 秒(或跨日、或退出)集中提交一次;写入失败立即整批回滚并保留待写数据,杜绝数据虚增或丢失。
  • 异步退出协议与防丢保护:AppDelegate 实现 applicationShouldTerminate 异步退出流程,等待在途轮询结束并排空内存缓冲区;若数据库写入失败弹出警示并取消退出。
2. ⚡ 服务端点自适应重探测与 Actor 隔离
  • 核心采集器升级为 Swift 原生 actor:TrafficTracker 与 MihomoClient 升级为 actor 串行隔离,彻底杜绝数据竞态。
  • 端点自适应重探测与指数退避:解决“先启动监控、后启动代理”时端点锁定无法恢复的问题;连接失败时按 1s、2s、4s……最高 30s 自动指数退避重探测所有候选端点(Socket 与 HTTP),并在 UI 悬浮提示具体故障原因。
3. 🎯 界面可见性感知与查询防抖
  • 原生窗口可见性感知(PanelVisibilityObserver):基于 AppKit 底层 occlusionState 感知菜单栏窗口的真实显示与遮挡,解决 macOS MenuBarExtra 窗口收起时不触发 SwiftUI onDisappear 的问题,面板隐藏时自动暂停数据库轮询。
  • 域名搜索移入 SQL 筛选层:改为在数据库层先按 host 进行 LIKE ? 模糊匹配后再取前 50 条,解决前端截断导致无法搜索到第 51 个域名的缺陷;配备 250ms 输入防抖。
  • ViewModel 版本代号(Generation)防竞态:快速切换标签或时间区间时,自动废弃旧请求的慢查询结果,绝不覆盖当前最新状态。
  • 应用图标有界短时负缓存:AppIconProvider 引入 TTL 为 60 秒的有界负缓存(上限 512 条),大幅降低不存在图标的高频查找开销,同时允许新安装的应用及时被识别。
4. 🧪 完备的回归自动化测试
  • 新增 Tests/RegressionTests.swift 与 Tests/run-regressions.sh,覆盖跨日守恒、幂等去重、事务回滚、域名搜索及断线重连等 7 大测试组共 36 条断言,全部自动化通过。

💡 关于首次打开与开发者提示:
纯个人业余爱好开源项目,未购买昂贵的苹果开发者证书。首次打开若提示「无法验证开发者」:
请在系统「设置」->「隐私与安全性」中点击「仍要打开」,或在访达中右键点击应用选择「打开」即可。100% 本地纯净运行,零网络外传!

v0.2.0 (系统性能监控、MVVM 模块化与工程规范升级)

Choose a tag to compare

@Jolly-J Jolly-J released this 21 Oct 07:35

🚀 Mihomo Monitor v0.2.0

专为 macOS 打造的「纯代理流量监控」与「原生系统性能分析」状态栏应用。

只要走代理,统统看得清!自动过滤国内直连,常驻 Mac 菜单栏,清晰记录各个应用程序、浏览器、终端脚本以及各类 AI 软件消耗的上传与下载流量;并内置纯原生 macOS 系统性能监控。


📦 资产下载

• MihomoMonitor-v0.2.0.dmg(DMG 镜像安装包,推荐,双击拖入 Applications 即可使用)
• MihomoMonitor-v0.2.0.zip(绿色免安装版)
• MihomoMonitor-macOS.dmg(最新通用安装包软链)


✨ 核心更新亮点 (Highlights)

1. 🖥️ 全新「系统监控」工作模式
  • 全局指标卡片:实时展示全核归一化 CPU 绝对利用率(精准位于 0% ~ 100%)、物理内存真实用量(如 18.2 GB / 36.0 GB)、电池电量与活跃进程总数。
  • 高耗能进程排行榜:支持在 CPU 算力与内存占用两维度间切换,带有应用原生图标与 PID 显示。
  • 平滑重感动效:排名发生变化时,接入丝滑的 .easeInOut 弹性平滑位移与占比进度条过渡动画。
  • 纯原生 Darwin C 极低能耗:基于系统底层 host_statistics64、libproc、mach_absolute_time 与 IOKit.ps 采集,零子进程开销(无 ps / top 开销);仅在切入时采样,切出即挂起,极致省电。
2. 🏗️ 轻量 MVVM 模块化重构
  • 彻底拆解单体 1,157 行 ContentView.swift,物理隔离为 Features/ProxyTraffic 与 Features/SystemMonitor。
  • 业务状态机独立拆分为 @MainActor 隔离的 TrafficViewModel 与 SystemMonitorViewModel。
  • 优化模式切换器交互,扩展点击热区(Hit Testing),解决空白区域无法点击切换的问题。
3. 🛡️ 持久化与并发安全性增强
  • SQLite 字符串绑定全面升级为 SQLITE_TRANSIENT,杜绝野指针生命周期隐患。
  • 解耦公共调度方法与底层私有查询,彻底消除数据库串行队列递归死锁隐患。
  • 激活启动时的超期日志滚动清理(cleanOldLogs(retentionDays: 3)),控制本地存储体积。
4. 📚 落地全套工程架构规范与代码注释
  • 在各层级全面落地 AGENTS.md 架构指引。
  • 全量 28 个 Swift 源文件统一增加标准化结构抬头注释。

💡 关于首次打开与开发者提示:
纯个人业余爱好开源项目,未购买昂贵的苹果开发者证书。首次打开若提示「无法验证开发者」:
请在系统「设置」->「隐私与安全性」中点击「仍要打开」,或在访达中右键点击应用选择「打开」即可。100% 本地纯净运行,零网络外传!

v0.1-beta (首个开源测试版)

Pre-release

Choose a tag to compare

@Jolly-J Jolly-J released this 14 Oct 06:31

🚀 Mihomo Monitor v0.1-beta

专为 macOS 打造的「纯代理」流量监控与应用账本。

只要走代理,统统看得清! 自动过滤国内直连,常驻 Mac 菜单栏,清晰记录各个应用程序、浏览器、终端脚本以及各类 AI 软件消耗的上传与下载流量。

📦 资产下载

✨ 核心亮点

  • 只统计代理流量:自动过滤国内直连与 Reject,100% 专注出海代理账本;
  • 全应用自动归因:无论是各类浏览器、日常出海软件、终端命令行,还是 AI 编程工具与 Agent,全部自动反查进程并匹配原生图标;
  • 域名与节点透视:网站与 API 消耗排行、机场节点分流占比、实时活跃连接动态掌控;
  • 本地持久化:SQLite WAL 本地存储,断电不丢失,隐私 100% 本地;
  • macOS 原生体验:SwiftUI 菜单栏常驻,苹果级平滑等宽数字滚轮动效。

💡 提示:纯个人业余爱好项目未购买苹果开发者证书,初次打开请在系统「设置」->「隐私与安全性」中点击「仍要打开」。