ClashBar

更新日志

ClashBar 各版本的功能、优化与修复记录,数据来自仓库根目录 CHANGELOG.md。

以下内容由构建时解析仓库根目录 CHANGELOG.md 自动生成。版本号可跳转到对应 GitHub Release。

筛选
  1. v0.3.6最新3 条更新

    本次更新是针对 v0.3.5 的 系统代理 Helper 安装修复:修复从 `.dmg` 下载安装的场景下,管理员授权装入的 Helper 二进制与 LaunchDaemon plist 仍带 `com.apple.quarantine` 隔离属性、被系统以「Launch Constraint Violation / Refusing to execute quarantined file」拒绝加载,导致「Helper 已授权但系统代理开关开了不生效」的问题;同时修正安装脚本吞掉 `bootstrap` / `kickstart` 失败却照样写入「已安装」版本标记、使坏状态无法自动重试的缺陷。Helper 版本号一并升到 2,老的坏安装会被强制重装恢复。

    优化改进2

    • 安装失败不再写入成功标记:安装脚本在 `set -e` 下把 `launchctl bootstrap`(失败时先 `bootout` 再重试一次)与 `kickstart` 改为硬失败,版本标记 `echo` 放在最后一步——任何一步加载失败都会以非零退出并把 `stderr` 原文透传回 App,不再写入版本文件,保证下次启动能重新触发安装恢复,而不是被永久锁死在「已安装但不生效」的状态。
    • 安装现状检查纳入隔离属性:`installedHelperIsCurrent()` 除比对版本、校验二进制可执行与 plist 存在外,新增对两个目标文件 `com.apple.quarantine` 属性的检查;只要任一文件仍带隔离属性即视为「未正确安装」,自动重新走授权安装流程。

    修复问题1

    • Helper 安装后仍带隔离属性导致系统代理不生效:修复 v0.3.5 中经管理员授权装入 `/Library/PrivilegedHelperTools/com.clashbar.helper` 与 `/Library/LaunchDaemons/com.clashbar.helper.plist` 的文件仍残留 `com.apple.quarantine` 的问题。根因是由带隔离标记的 `.app`(下载安装场景)创建的文件会被内核重新盖上隔离属性,仅靠 `cp -X` 不拷贝源 xattr 并不足够;现在拷贝后显式 `xattr -c` + `xattr -d com.apple.quarantine` 清除隔离属性,并在 `bootstrap` 前校验,若仍残留则直接失败退出,不再让被系统拒绝加载的 Helper 静默留下「已安装」标记。
  2. v0.3.57 条更新

    本次更新聚焦 系统代理 Helper 安装方式重构与 TUN 协议栈记忆:系统代理 Helper 从 `SMAppService` 登录项方式改为「管理员授权直装」——首次开启系统代理输入一次管理员密码,Helper 即被安装到系统目录 `/Library/PrivilegedHelperTools`,之后更新 App 不再失效、无需重新批准后台项目;同时 TUN 协议栈选择改为持久记忆,退出 / 重启 App、重启或启停内核后都会自动恢复到上次选择的栈,而不再回落 `mixed`。此外状态栏图标改为离屏合成单张模板图,渲染路径更简洁;资源包定位与图标加载逻辑进一步收敛。

  3. v0.3.411 条更新

    本次更新在 架构瘦身与窗口行为收敛 的基础上,补齐了一批日常可感知的体验改进:TUN 协议栈支持双击直接切换(含新的 `mips` 栈选项)、日志面板新增等级切换、状态栏流量曲线保留后台历史、远程订阅内容未变化时跳过重载。工程侧删除了 Repositories 与 UseCases 两层「单一实现」的间接抽象,把逻辑收敛回 Services 与 AppViewModel,减少约 500 行冗余胶水代码而不改变外部行为;同时新增窗口抑制逻辑,彻底禁用 macOS 的窗口状态恢复,避免这个纯菜单栏 App 在启动或系统恢复会话后弹出多余的空白窗口。

  4. v0.3.314 条更新

    本次更新集中在 内核日志洪泛治理与菜单栏快捷键可用性:修复 mihomo TUN 句柄失效后日志刷屏导致 ClashBar 内存涨到 3.2 GB、CPU 占用 230% 的问题,在日志管道源头加入限流与重复折叠;同时修复菜单命令状态冻结(`⌘E` 永久灰掉)和大写快捷键被隐式附加 `⇧` 的问题,补齐 `⌃⌘1/2/3` 模式切换,并为所有快捷键操作补上状态栏横幅反馈。此外菜单栏图标在 TUN 模式下有了独立形态,代理页新增延迟历史显示开关,文档站也上线了自动生成的更新日志页面。

  5. v0.3.25 条更新

    本次更新集中在 延迟趋势可视化与官方文档站上线:节点延迟从「单次结果」升级为保留最近 4 次样本,代理组列表与节点弹窗以信号条形式展示近期趋势;本地测速与 API/提供者历史会合并保留,刷新后不再轻易丢掉刚测出的结果。同时新增完整的 ClashBar 文档站(快速开始、功能总览、排障等),并重写 README 入口与站内链接。

  6. v0.3.110 条更新

    本次更新集中在 代理组图标展示与长期运行稳定性:代理组现在可展示 Mihomo 配置返回的远程图标,并通过内存与磁盘缓存减少重复下载;同时重构配置文件监听、网络恢复、远程主机探测、日志写入与菜单栏状态刷新,提升配置编辑、网络切换和应用退出等场景下的可靠性与响应效率。

  7. v0.3.04 条更新

    本次更新集中在 Geo 数据库一键更新与延迟显示、菜单栏交互细节打磨:System 维护区新增「更新 Geo 数据库」按钮,内核运行时可直接调用 mihomo `/upgrade/geo` 接口刷新 GeoIP / GeoSite 数据,并带进行中 / 成功 / 失败状态反馈与日志,无需重启内核或手动替换数据库文件;代理组路由行与节点弹窗的延迟徽章改为「迷你色块 + 等宽数字」呈现,纵向对比更整齐、可读性更好,超时节点直接显示「超时」文案而不再展示无意义的 0;顶部品牌图标也变为可点击入口,一键打开项目主页。

  8. v0.2.95 条更新

    本次更新集中在 规则页面的筛选检索体验与菜单栏快捷键重构:分流(Rules)页面新增按类型 / 策略筛选、关键字搜索与按策略分组折叠展示,分组状态本地持久化,规则数量再多也能快速定位;菜单栏命令菜单整合为统一的「快捷操作」菜单,把系统代理、TUN、复制代理命令、重载配置等常用动作集中并补齐快捷键。同时把规则保留上限大幅提升以适配大型规则集,并修复状态栏 M/s 量级速率文本被截断的问题。

  9. v0.2.85 条更新

    本次更新集中在 日志文件体积治理、软链接配置的完整支持、配置校验报错体验与 UI 主题统一:磁盘日志改为基于大小的滚动归档(单文件 10MB、保留 5 份),彻底告别无限膨胀;软链接配置现在能正确出现在列表中、用自身目录作为内核工作目录并参与外部改动检测;配置校验失败弹窗支持滚动查看长报错、一键复制详情,并针对 GEO 相关错误给出排查提示;同时把全局 UI 收敛到统一主题常量与系统原生配色。

  10. v0.2.78 条更新

    本次更新集中在 日志管理、订阅配置验证、配置文件软链接支持与 macOS 26.5.1 兼容性修复:新增可配置的日志容量设置,默认无限制,用户可根据需要选择 1K 到 50K 条限制;订阅更新现在会验证配置内容,拒绝过期提示等非法内容,避免内核崩溃和日志爆炸;配置目录支持软链接指向外部配置文件,方便跨设备同步;同时修复 macOS 26.5.1+ 菜单栏图标不可见的问题,并优化菜单栏显示逻辑。

  11. v0.2.66 条更新

    本次更新集中在 菜单栏窗口固定、Proxy 页面操作密度与流量曲线显示稳定性:Header 新增固定按钮,可让主窗口在切换应用或点击外部时继续保持显示;Proxy Providers 区域支持折叠并记住状态,代理组标题也补上了快捷延迟测试入口;同时流量 Sparkline 改为固定 60 点滑动窗口,避免短序列被拉满整段宽度导致趋势判断失真。

  12. v0.2.53 条更新

    本次更新集中在 Connections 页面偏好持久化与 Mac 休眠唤醒后的 TUN 句柄失效问题:连接列表现在会记住传输协议过滤器和排序方式,重新打开菜单或重启应用后不再回到默认视图;同时修正 Mac 休眠断网触发停服时的 TUN 运行态关闭顺序,先关闭运行中的 TUN 再停止内核,避免唤醒后 Mihomo 继续读取已被 macOS 释放的旧 TUN / UDP Socket 句柄并刷出 `socket operation on non-socket` 错误。

  13. v0.2.43 条更新

    本次更新集中修复了 断网场景下的 WebSocket 重连风暴:网络断开后会立即取消所有流轮询,并在流协调器的重连判定中加入离线保护,避免 mihomo 在无效连接上持续读写触发日志风暴;同时整理了菜单栏视图的代码结构,提升可读性与后续维护效率。

  14. v0.2.318 条更新

    本次更新主要围绕 Wi-Fi 场景下的配置自动切换、控制器 WebUI 直达、系统代理绕过规则与状态一致性 展开:现在可以在 Proxy 菜单开启基于当前 Wi-Fi(SSID)的配置自动切换,并把当前网络直接绑定到指定配置;Header 也新增了一键打开控制器 WebUI 的入口,若配置中声明了 `external-ui-url` / `external-ui-name` 会优先打开对应界面,否则也会自动回退到可直接使用的 MetaCubeXD 初始化链接;同时,System 页面新增本地系统代理绕过规则管理,支持编辑、恢复默认并在系统代理重应用时持续保留。除此之外,本次还补上了 `GLOBAL` 代理组在不同模式下的显示一致性、系统代理 Helper 的预热/校验/恢复链路,以及 WebUI 链接跟随控制端变化同步更新等一批细节修复。

  15. v0.2.28 条更新

    本次更新主要围绕 远程配置订阅、Proxy 节点延迟探测与远程目标状态一致性 展开:现在可以把远程配置当作订阅来管理,支持自动更新、手动刷新、复制订阅链接与删除清理;Proxy 页面补上节点级延迟测试和更明确的终端代理命令目标;同时重做远程机器管理面板,并修复远程切换后的速率显示、离线切换保护和核心模式持久化等问题。

  16. v0.2.113 条更新

    本次更新主要围绕 远程机器管理、菜单栏交互重构与系统代理恢复链路 展开:新增远程控制端管理与本地/远程快速切换,Proxy、Rules、Connections、Logs、System 等页面会围绕当前目标自动切换;同时重做顶部模式/标签分段控件、代理详情与连接列表排版,并加强系统代理 Helper 的健康检查、恢复与提示,让多端点场景下的操作更清晰、状态更可信。

  17. v0.2.09 条更新

    本次更新主要聚焦在 菜单栏交互稳定性与性能修复:重点解决代理分组悬停时 CPU 异常飙高、Popover 悬停判定不稳、System 页面提示条布局跳动,以及 TUN 与系统代理状态在恢复场景下不同步的问题;同时继续优化活动数据缓存和界面细节,让整体菜单栏体验更顺滑。

  18. v0.1.95 条更新

    本次更新集中修正了 状态栏显示稳定性:速度文本改为模板图像渲染,减少频繁重绘;同时修复状态栏宽度与弹出面板高度在切换场景下容易抖动、跳变的问题,让菜单栏体验更稳。

  19. v0.1.86 条更新

    本次更新集中在 代理页面体验提升:新增 Proxy Group 排序切换(延迟排序 / 原始顺序),重新设计了代理订阅行的信息展示;同时修复了多显示器下状态栏图标不跟随系统变暗的问题,并加固了 Helper XPC 认证安全性。

  20. v0.1.74 条更新

    本次更新重点补上了 系统代理状态恢复 这块一直该做但没做干净的事情:重启应用后不再莫名掉代理;同时顺手把 `System` 页快捷键和启动后的分组延迟探测补齐,让常用操作更顺手。

  21. v0.1.65 条更新

    本次更新重点把 Mihomo 内核升级 直接做进了菜单栏底部,运行中的用户无需再手动折腾;同时补齐了升级结果反馈、版本刷新与新版检测时机,减少“点了没反应”和版本信息滞后的问题。