macOS 安装 Clash 提示无法打开或已损坏:网络扩展与钥匙串权限处理
macOS 安装 Clash 客户端常遇到「无法打开」「已损坏」或网络扩展授权失败,本文按系统版本梳理安全性设置、网络扩展与钥匙串的完整处理步骤。
在 macOS 上安装 Clash 系客户端(ClashX、ClashX Meta、Clash Verge Rev、Clash Nyanpasu 等),首次启动最常见的三类拦截分别来自系统的三个不同层级:Gatekeeper 的公证检查、网络扩展的授权流程、钥匙串的访问控制。三类问题的弹窗文案相似,处理路径完全不同,混用命令往往越修越乱。
本文按「先定位层级、再按系统版本找入口」的顺序整理完整处理步骤,覆盖 macOS 13 Ventura 及之后的「系统设置」路径,并给出 macOS 12 Monterey 及更早版本「系统偏好设置」的对照入口。
报错定位:三种弹窗对应三层机制
多数 Clash 客户端由社区开发者维护,未走 Apple 付费开发者签名与公证流程,或分发包在二次打包后签名失效,系统因此要求用户手动完成一次放行确认。先用弹窗原文对照下表,确定当前卡在哪一层,再跳到对应章节处理。
| 弹窗文案 | 所属层级 | 处理入口 |
|---|---|---|
| 「已损坏,无法打开。你应该将它移到废纸篓」 | 下载隔离属性 | 终端移除 quarantine(第二节) |
| 「无法打开,因为无法验证开发者」/「Apple 无法检查其是否包含恶意软件」 | Gatekeeper 公证检查 | 右键打开或「仍要打开」(第三节) |
| 「想过滤网络内容」/「已阻止载入系统软件」,增强模式点不亮 | 网络扩展授权 | 系统设置三处放行(第四节) |
| 启动时反复弹「想要使用钥匙串中的机密信息」 | 钥匙串访问控制 | 始终允许或修复钥匙串(第五节) |
四类报错可以叠加出现:先解决「打不开」,再解决「开了但增强模式不生效」,最后处理「每次启动都要输密码」。按本文顺序执行即可,不需要跳步。
「已损坏,无法打开」:移除下载隔离属性
通过浏览器或聊天工具下载的 dmg、zip 文件,系统会自动附加 com.apple.quarantine 扩展属性。带该属性的应用在签名校验失败时,弹窗文案就是「已损坏」。处理方式是删除这个属性,而不是反复重新下载——重新下载的包依然带隔离属性,结果相同。
- 将应用从 dmg 拖入「应用程序」文件夹,确认最终路径为
/Applications/ClashX.app(以实际应用名为准)。 - 打开「终端」(启动台 → 其他 → 终端)。
- 执行下方命令,输入登录密码(输入过程无回显,属正常现象)后回车。
sudo xattr -rd com.apple.quarantine /Applications/ClashX.app参数含义:-r 递归处理 app 包内全部文件,-d 删除指定属性。路径含空格时用英文引号包裹整个路径;也可以在命令末尾留一个空格,然后把应用图标从访达直接拖进终端窗口,路径会自动补全,避免手打出错。
注意
该命令的作用是跳过 Gatekeeper 对这一个应用的检查,只对从官方 GitHub 仓库或可信渠道获取的安装包执行;来源不明的安装包请直接删除,不要放行。
「无法验证开发者」:Gatekeeper 一次性放行
这类弹窗比「已损坏」温和,系统自带一次性放行入口,不需要命令行。两种方法任选其一。
方法一(推荐):在访达中找到应用,按住 Control 点按图标(或双指点按),选择「打开」;此时弹窗中会多出「打开」按钮,点击后系统记住本次选择,之后双击图标即可正常启动。
方法二:应用刚被拦截的约一小时内,打开「系统设置 → 隐私与安全性」,向下滚动到「安全性」区域,会出现「已阻止使用 xxx」的提示,点按「仍要打开」并输入密码确认。
版本对照:macOS 13 Ventura 及之后,入口在「系统设置 → 隐私与安全性」;macOS 12 Monterey 及更早,入口在「系统偏好设置 → 安全性与隐私 → 通用」,需先点按窗口左下角锁形图标解锁,才能点「仍要打开」。
不建议的做法
部分旧教程建议执行 sudo spctl --master-disable 开启「任何来源」。该操作会关闭整机 Gatekeeper,之后所有新下载的应用都不再经过检查,影响面过大。逐应用放行已能覆盖全部使用场景,不建议修改全局开关。
网络扩展授权:增强模式与 TUN 模式
ClashX Meta 的「增强模式」与 mihomo 系客户端的 TUN 模式,本质都是安装一个系统级网络扩展来接管整机流量。macOS 对这类扩展强制要求用户显式授权,首次启用时会依次出现两种系统弹窗:
- 「"xxx"想过滤网络内容」:内容筛选器授权,点「允许」。
- 「已阻止载入来自开发者 xxx 的系统软件」:系统扩展加载授权,需要到设置里点「允许」。
macOS 13 及之后,三处授权入口分别核对:
- 「系统设置 → 网络 → 筛选条件」:确认客户端对应的筛选器开关处于打开状态;首次弹窗误点过「不允许」的条目,在这里重新打开。
- 「系统设置 → 通用 → 登录项与扩展 → 网络扩展」:确认客户端扩展已启用。
- 「系统设置 → 隐私与安全性 → 安全性」:出现「已阻止」提示时点「允许」,部分系统版本要求重启 Mac 后生效。
授权完成后仍不生效的处理顺序:从菜单栏图标完全退出客户端再启动;在客户端设置里先关闭再开启增强模式或 TUN 开关;检查是否与其他代理工具的网络扩展并存——同一时刻只能有一套 TUN 设备生效,冲突时后启动的一方会失败。
TUN 模式的价值在于不依赖系统代理设置,可以接管不遵守系统代理的应用流量(部分命令行工具、游戏客户端、沙盒应用)。日常网页访问只开系统代理即可,需要整机接管时再启用增强模式或 TUN。
钥匙串反复弹窗:授权写入与登录钥匙串修复
客户端设置系统代理、安装特权帮助工具、读取订阅中的节点凭据时,都需要访问登录钥匙串。弹窗「xxx 想要使用您存储在钥匙串中的机密信息」属于正常流程,点「始终允许」一次即可;如果每次启动都弹,说明授权没有写入钥匙串。
- 弹窗中输入登录密码,点按「始终允许」——不是「允许」,后者只对当前这一次进程有效。
- 仍然反复弹窗:打开「钥匙串访问」,左侧选「登录」钥匙串,搜索客户端名称,双击对应条目,切到「访问控制」标签,选择「允许所有应用程序访问此项目」,或把客户端加入「总是允许」列表。
- 修改过 macOS 登录密码后出现全系统连环弹窗:登录钥匙串密码与账户密码已不同步。打开钥匙串访问,菜单栏「钥匙串访问 → 设置 → 还原默认钥匙串」,重建后钥匙串密码与登录密码自动对齐。
操作前确认
「还原默认钥匙串」会清空该钥匙串中保存的全部密码与凭据(网站密码、Wi-Fi 密码等),操作前确认重要凭据已另行备份,或可从 iCloud 钥匙串恢复。
另外,应用每次更新后签名标识可能变化,旧的「始终允许」记录随之失效,更新后第一次启动再授权一次属于预期行为,不是故障。
架构选错:Apple 芯片与 Intel 安装包
「已损坏」的另一类高频原因是安装包架构选错。点按屏幕左上角 菜单 →「关于本机」:「芯片」一栏显示 Apple M 系列的是 arm64 机型,显示 Intel 的是 x86_64 机型。Apple 芯片机型应下载名称含 arm64 或 universal 的包,Intel 机型选 x86_64。
Apple 芯片机器确需运行 Intel 版客户端时,先安装 Rosetta 2 转译层:
softwareupdate --install-rosetta --agree-to-license主流客户端(ClashX Meta、Clash Verge Rev、Clash Nyanpasu)均提供双架构分发,直接选对应架构的原生包,比依赖转译更稳定,资源占用也更低。
安装后的验证清单
- 菜单栏出现客户端图标,能打开面板、能看到节点列表。
- 终端执行
scutil --proxy,确认HTTPEnable为 1、HTTPPort为客户端端口(ClashX 默认 7890,Clash Verge Rev 默认 7897)。 - 执行
lsof -nP -iTCP:7890 -sTCP:LISTEN(端口按实际修改),确认客户端进程正在监听。 - 导入订阅链接,代理模式选「规则」,浏览器访问外站验证连通性。
- 开启增强模式或 TUN 后,用一个不走系统代理的应用做二次验证。
以上每步都通过,说明三层权限全部就位。后续遇到订阅更新、规则分流、局域网共享等问题,可继续查阅站内教程与名词解释页面。
DOWNLINK READY
下载 Clash 客户端
macOS arm64 与 x86_64 双架构客户端,以及 Windows、Linux、Android 版本,均可在下载页按平台获取。