macOS 安装 Clash 客户端:网络扩展与钥匙串授权处理

macOS 首次启动客户端会连续弹出网络扩展、钥匙串与辅助权限请求。本文按弹窗出现顺序逐个说明该点什么、拒绝了怎么补救,以及系统设置里的复查位置。

为什么 macOS 上的确认弹窗比其他平台多

Windows 和 Android 的代理客户端通常只需要一次网络权限确认,但 macOS 的系统级安全机制更细。它把"接管网络流量""读写敏感凭据""模拟系统操作"拆成了三类互相独立的授权,分别对应网络扩展、钥匙串访问和辅助功能。Clash 系客户端要正常工作,至少要用到前两类,如果界面上有"一键设置系统代理"之类的自动化按钮,还会涉及第三类。

这套机制的设计初衷是防止恶意程序偷偷截获网络数据或窃取密码,不是专门针对代理软件设置的障碍。搞清楚每个弹窗背后对应的系统能力,授权时就不会犹豫,拒绝后也知道去哪里补救,不用重装客户端。

提示 以下流程以 Clash Verge、ClashX Meta 一类基于系统扩展实现 TUN 模式的桌面客户端为例。不同客户端弹窗文案略有差异,但对应的系统权限类别是一致的。

第一个弹窗:网络扩展(Network Extension)

客户端首次尝试开启 TUN 模式或系统代理时,macOS 会弹出类似"『Clash』想添加 VPN 配置"或"网络扩展已被阻止"的提示,同时系统设置里的"通用 → VPN 与设备管理"或"网络 → 筛选与代理扩展"会出现一条待确认的记录。

这一步对应的是 NetworkExtension 框架里的内容过滤器或个人 VPN 能力。TUN 模式需要客户端在系统网络栈里插入一张虚拟网卡,把全部或部分流量重定向到 Clash 内核处理,这本质上和 VPN 应用的工作方式相同,所以系统统一走 VPN 配置的审批流程。

  1. 看到弹窗后点击"允许"或"打开系统偏好设置"。
  2. 系统会跳转到「隐私与安全性」或「网络」分区,找到客户端对应的条目,点击开关启用。
  3. 部分 macOS 版本还会要求输入本机管理员密码才能完成确认,这是正常流程,输入即可。
  4. 回到客户端,重新点击启动或开启 TUN 开关,弹窗应不再出现。

如果误点了"不允许",客户端里的 TUN 开关通常会显示为灰色或直接报错"扩展未激活"。这种情况不需要卸载重装,直接去系统设置里手动打开对应扩展即可,具体路径见下一节。

第二个弹窗:钥匙串访问权限

网络扩展批准之后,系统通常会紧接着弹出"『Clash』想要使用系统钥匙串中储存的机密信息"。这一步是客户端在向 Keychain Access(钥匙串访问)申请读写权限,用来保存 VPN 配置的证书或密码条目,避免每次重启电脑都要重新走一遍系统授权流程。

这个弹窗和网络本身没有直接关系,但如果拒绝,客户端每次开启系统代理都可能重新弹出确认框,体验上会很啰嗦。建议点击"总是允许",一次性解决。

注意 如果误点了"拒绝",后续可以在「钥匙串访问」应用里搜索客户端名称,找到对应条目后右键选择"获取信息",在访问控制标签页里把客户端重新加入允许列表。

手动打开钥匙串访问检查权限

  1. 用「聚焦搜索」(⌘+空格)输入"钥匙串访问"并打开。
  2. 左侧选择"登录"钥匙串,在右上角搜索框输入客户端名称。
  3. 双击匹配到的条目,切换到"访问控制"标签。
  4. 确认列表里有客户端本体,且状态未被移除;如果被删除,点击左下角加号重新添加。

第三个弹窗:辅助功能权限(如有自动化功能)

部分客户端提供"一键设置系统代理"或"自动切换代理模式"这类快捷操作,底层依赖 macOS 的 Accessibility(辅助功能)权限来模拟系统操作。如果客户端界面上有这类按钮,首次点击时会弹出"『Clash』想要控制此电脑"的提示。

这一权限范围比前两者更宽,系统默认不会主动弹窗提醒缺失,只有点击相关功能按钮时才会触发。如果发现某个自动化按钮点击后没有任何反应,大概率是权限没给,而不是客户端出错。

  1. 打开「系统设置」→「隐私与安全性」→「辅助功能」。
  2. 在右侧列表里找到客户端,打开开关。
  3. 如果列表里没有该客户端,先点击一次触发权限请求的功能,系统会自动把它加进列表待勾选。
  4. 勾选后可能需要完全退出客户端再重新打开,权限才会生效。

拒绝之后怎么补救:系统设置里的三个复查位置

如果在安装过程中手忙脚乱把某个弹窗点了拒绝,不需要重新下载安装包,直接去系统设置里找到对应开关补授权即可,三处入口分别对应前面三类权限。

权限类型系统设置路径影响功能
网络扩展 / VPN 配置隐私与安全性 → VPN 与设备管理(或 网络 → 筛选与代理扩展)TUN 模式、系统级流量接管
钥匙串访问钥匙串访问应用 → 搜索客户端名称 → 访问控制配置凭据持久化保存
辅助功能隐私与安全性 → 辅助功能一键设置系统代理等自动化按钮

三处权限互不影响彼此的生效状态,可以逐一排查:先确认 VPN 与设备管理里客户端开关是打开的,再检查钥匙串条目没有被移出访问列表,最后如果用到自动化按钮,确认辅助功能里有勾选。逐项打开后回到客户端重新尝试一次对应操作,通常无需重启电脑。

常见现象与对应处理

TUN 开关打开后立刻自动关闭

多半是网络扩展权限没有完全生效。先在「VPN 与设备管理」里确认条目状态为"已连接"或对应开关为开启,如果条目干脆不存在,说明首次弹窗时点了拒绝,回到客户端重新触发一次 TUN 开关,让系统重新发起授权请求。

客户端每次重启都要求重新输入密码

这是钥匙串权限被撤销或者选择了"仅本次允许"而不是"总是允许"导致的。按照上文钥匙串访问的手动检查步骤,把访问控制改为始终允许即可一次性解决。

系统提示"扩展来自身份不明的开发者"

如果安装包来源正常,这条提示通常出现在首次运行未签名或使用了自定义证书签名的扩展时。可以在「隐私与安全性」的底部找到"仍要打开"或类似确认按钮完成放行,这是系统的常规安全提示,不代表安装包本身有问题。

更新系统版本后权限全部失效

macOS 大版本升级后,系统会重置部分敏感权限的授权状态作为安全策略的一部分,这是系统行为,和客户端版本无关。升级完成后按本文顺序把三类权限重新过一遍即可恢复。

安装完成后的一次性验证

三类权限都确认无误后,建议做一次完整验证,确保代理链路真正生效,而不是仅仅界面显示"已连接":

  • 在客户端节点列表里选择一个节点,查看延迟数值是否正常返回,而不是显示超时。
  • 打开系统的「网络」设置,查看当前活跃网络下方是否出现了客户端配置的代理描述。
  • 用浏览器访问任意 IP 查询页面,确认返回的地理位置与所选节点一致。
  • 如果开启了 TUN 模式,尝试关闭浏览器代理插件后再测试一次,确认系统级流量确实被接管,而不是只有浏览器插件在生效。

这四步做完之后,基本可以确认整套授权与网络配置都已经落地,后续正常使用不会再频繁弹出确认框。

下载客户端