ClashMenu 是以macOS上裸核运行mihomo为目标的极简菜单栏客户端,基于 ClashBar 。
在不打开复杂主窗口的前提下,你可以在菜单栏中完成场景切换、配置管理、系统代理控制等常见操作,也可以打开zashboard获取详细信息和复杂操作。 ✨
具体项目说明请参考 ClashBar
本项目不直接提供构建物下载,请clone源码后自行构建。
Script/build.sh
默认根据本机环境进行构建,也可以看一下脚本说明,自定义架构(Apple Silicon/Intel)。
配置文件建议写法:
external-controller: 127.0.0.1:9090
secret: "your-secret"
external-ui: ui
#external-ui-name: zashboard
external-ui-url: "https://github.com/Zephyruso/zashboard/releases/latest/download/dist.zip"
ClashMenu没有打包任何Dashboard,所以配置文件中务必要写好external-ui-url,可任选自己喜欢的Dashboard。
控制面板按钮会尝试打开 http://127.0.0.1:9090/ui ,如果定义了external-ui-name,网页上会出现一个目录需要二次点击。
场景禁用时,可自行开关系统代理、启停内核、切换配置文件。场景自动/手动时,根据场景自动控制系统代理、启停内核等操作。
scenes:
- name: "在家"
description: "家庭网络,已经通过软路由实现代理"
triggers:
ssids:
- "home_5G"
- "home_2.4G"
- "home_2.4G_iot"
system-proxy: false
action: "stop"
- name: "学校"
description: "学校网络"
triggers:
ssids:
- "school_wifi"
system-proxy: true
action: "start"
config:
base_file: "clash.yaml"
overrides:
allow-lan: false
hosts:
"abc.com": "123.123.123.123"
- name: "公网"
description: "公共网络,需要全程开启代理"
triggers:
ssids:
- "*" # 匹配所有SSID
system-proxy: true
action: "start"
config:
base_file: "clash.yaml"
overrides:
allow-lan: false
mode: "rule"
- rules下的数组采用前插入
- rule-providers / proxy-providers:视为字典进行浅覆盖 (Shallow Update)。如果有同名 provider,新的覆盖旧的;如果有新 provide r,直接追加。
- 对于对于 proxies 和 proxy-groups,基于 name 主键的替换与追加策略
- 其它所有配置项全部采用浅覆盖,对于单个全局项如allow-lan直接覆盖,对于有嵌套项的全局项如dns,直接从根部全部覆盖,因此要求这 些配置项必须写完整。
断网、休眠自动停止内核,极为省电。
## ❓ 常见问题现象:应用首次启动被系统拦截。
原因:macOS Gatekeeper 对未公证应用的默认安全策略。
处理步骤
- 将应用放置到
/Applications/ClashMenu.app。 - 打开 系统设置 → 隐私与安全性,点击「仍要打开(Open Anyway)」。
- 若仍被拦截,可移除隔离标记后重试:
sudo xattr -r -d com.apple.quarantine /Applications/ClashMenu.app现象:点击系统代理开关后未生效或立即回退。
原因:通常与权限授权、Helper 状态或应用安装位置有关。
处理步骤
- 确认使用的是打包后的应用,并位于
/Applications。 - 在 macOS 系统设置中完成 ClashMenu 相关权限批准。
- 退出应用,重新启动,再次开启系统代理。如果还有问题则可能是特权助手存在问题,需要继续以下步骤:
- 移除ClashMenu
- 执行
sudo launchctl bootout system/com.clashmenu.helper卸载特权助手 - 重新安装ClashMenu
- 执行
log stream --style compact --predicate 'process == "com.clashmenu.helper"',然后开启系统代理,观察前述日志确定问题所在
- Telegram 社区:https://t.me/clashbars
- Issue / PR:欢迎提交功能建议、稳定性问题与文档修正。 💬
感谢所有参与贡献的开发者:
- 感谢 ClashBar 提供了原始的项目能力
- 感谢 OpenAI Codex 在需求拆解、工程实现与文档优化中的持续协作。 🤝
- 感谢 MetaCubeX/mihomo 提供稳定可靠的 Core 能力。
本项目采用 GPL-3.0 license,详见 LICENSE。





