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 扩展属性。带该属性的应用在签名校验失败时,弹窗文案就是「已损坏」。处理方式是删除这个属性,而不是反复重新下载——重新下载的包依然带隔离属性,结果相同。

  1. 将应用从 dmg 拖入「应用程序」文件夹,确认最终路径为 /Applications/ClashX.app(以实际应用名为准)。
  2. 打开「终端」(启动台 → 其他 → 终端)。
  3. 执行下方命令,输入登录密码(输入过程无回显,属正常现象)后回车。
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 及之后,三处授权入口分别核对:

  1. 「系统设置 → 网络 → 筛选条件」:确认客户端对应的筛选器开关处于打开状态;首次弹窗误点过「不允许」的条目,在这里重新打开。
  2. 「系统设置 → 通用 → 登录项与扩展 → 网络扩展」:确认客户端扩展已启用。
  3. 「系统设置 → 隐私与安全性 → 安全性」:出现「已阻止」提示时点「允许」,部分系统版本要求重启 Mac 后生效。

授权完成后仍不生效的处理顺序:从菜单栏图标完全退出客户端再启动;在客户端设置里先关闭再开启增强模式或 TUN 开关;检查是否与其他代理工具的网络扩展并存——同一时刻只能有一套 TUN 设备生效,冲突时后启动的一方会失败。

TUN 模式的价值在于不依赖系统代理设置,可以接管不遵守系统代理的应用流量(部分命令行工具、游戏客户端、沙盒应用)。日常网页访问只开系统代理即可,需要整机接管时再启用增强模式或 TUN。

钥匙串反复弹窗:授权写入与登录钥匙串修复

客户端设置系统代理、安装特权帮助工具、读取订阅中的节点凭据时,都需要访问登录钥匙串。弹窗「xxx 想要使用您存储在钥匙串中的机密信息」属于正常流程,点「始终允许」一次即可;如果每次启动都弹,说明授权没有写入钥匙串。

  1. 弹窗中输入登录密码,点按「始终允许」——不是「允许」,后者只对当前这一次进程有效。
  2. 仍然反复弹窗:打开「钥匙串访问」,左侧选「登录」钥匙串,搜索客户端名称,双击对应条目,切到「访问控制」标签,选择「允许所有应用程序访问此项目」,或把客户端加入「总是允许」列表。
  3. 修改过 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)均提供双架构分发,直接选对应架构的原生包,比依赖转译更稳定,资源占用也更低。

安装后的验证清单

  1. 菜单栏出现客户端图标,能打开面板、能看到节点列表。
  2. 终端执行 scutil --proxy,确认 HTTPEnable 为 1、HTTPPort 为客户端端口(ClashX 默认 7890,Clash Verge Rev 默认 7897)。
  3. 执行 lsof -nP -iTCP:7890 -sTCP:LISTEN(端口按实际修改),确认客户端进程正在监听。
  4. 导入订阅链接,代理模式选「规则」,浏览器访问外站验证连通性。
  5. 开启增强模式或 TUN 后,用一个不走系统代理的应用做二次验证。

以上每步都通过,说明三层权限全部就位。后续遇到订阅更新、规则分流、局域网共享等问题,可继续查阅站内教程与名词解释页面。

DOWNLINK READY

下载 Clash 客户端

macOS arm64 与 x86_64 双架构客户端,以及 Windows、Linux、Android 版本,均可在下载页按平台获取。

Clash最新版下载