先区分客户端与授权类型
首次打开 ClashX 时,管理员密码、网络配置与钥匙串提示可能先后出现,但它们不是同一项授权。排查前先在菜单栏应用菜单中打开「关于」,记录客户端名称、版本以及 macOS 版本。传统 ClashX、ClashX 的衍生版本与使用 mihomo 内核的其他客户端,安装辅助工具和接管流量的方式可能不同,不能按同一套弹窗逐项寻找。
尤其需要明确:开启系统代理不等于安装网络扩展,TUN 模式也不必然使用 Apple 的网络扩展框架。传统 ClashX 常通过特权辅助工具修改系统代理;部分其他客户端通过特权服务创建 TUN 接口,另一些则使用 Network Extension。没有扩展提示,不代表授权缺失。
| 提示或功能 | 实际用途 | 核对重点 |
|---|---|---|
| 安装辅助工具,需要管理员授权 | 安装或更新执行特权操作的服务 | 应用名称、来源与本次操作是否对应 |
| 添加 VPN 配置或网络扩展 | 建立由该客户端管理的网络通道 | 是否刚启用对应的 VPN 或隧道功能 |
| 系统扩展被阻止 | 相关扩展尚未获得系统批准 | 开发者名称与扩展所属应用 |
| 访问钥匙串中的某个项目 | 读取保存的凭据或秘密数据 | 请求进程、项目名称和访问范围 |
首次打开与安全性放行
先放入「应用程序」,再启动
- 从下载页按 Apple 芯片或 Intel 架构选择客户端。可通过苹果菜单「关于本机」查看芯片或处理器信息。
- 若下载的是磁盘映像,打开后把应用拖入「应用程序」,再从该位置启动。不要长期从挂载的映像或下载目录运行。
- 遇到“从互联网下载的应用”确认框,核对名称后再选择「打开」。这是首次启动确认,不是网络扩展授权。
- 如果系统提示开发者无法验证,先确认下载来源和客户端维护状态,再检查「系统设置」→「隐私与安全性」中是否有本次启动对应的说明。
在 macOS 13 Ventura、macOS 14 Sonoma 及后续版本中,符合条件的拦截记录可能在「隐私与安全性」页面底部显示「仍要打开」。按钮是否出现取决于拦截原因与系统版本;它不是所有错误的通用入口。macOS 15 Sequoia 对部分未签名或未公证软件的打开流程作了调整,不应把右键「打开」当作固定可用的绕过步骤。
辅助工具与管理员密码
部分 ClashX 版本第一次设置系统代理时,会提示安装辅助工具。图形界面应用通常以当前用户权限运行;辅助工具用于执行需要更高权限的操作。此时输入的是本机管理员账户凭据,不是订阅密码、节点密码,也不是 Apple 账户密码。
授权前检查三个位置
- 触发动作:是否刚点击安装辅助工具、修复服务或开启系统代理。没有进行这些操作却突然出现请求,应先取消并核对进程。
- 对话框名称:确认请求方属于当前安装的客户端;辅助工具名称可能与主应用不完全一致,需以该版本的说明为准。
- 安装位置:确认应用已经位于「应用程序」,避免重复移动、保留多个旧副本后交替启动。
如果误点「取消」,通常只会中断本次安装。重新打开客户端,再次触发安装或修复辅助工具即可。若每次启动都要求重新安装,先退出所有同名客户端,只保留当前使用的版本,并查看日志里的服务安装错误。不要直接删除 /Library/PrivilegedHelperTools 中名称相近的文件,也不要批量卸载系统服务。
公司或学校管理的 Mac 可能限制特权服务安装。没有管理员权限时,应由设备管理员处理;反复输入普通用户密码不会获得额外权限。
网络扩展、系统扩展与 VPN 配置
只有客户端确实使用相应机制时,才需要处理扩展授权。Network Extension 是 Apple 提供的网络能力框架,其中某些扩展可以作为系统扩展分发;“网络扩展”和“系统扩展”并不是两个必然独立、必须全部打勾的步骤。添加 VPN 配置的确认框,也不能直接等同于安装内核扩展。
按系统版本寻找入口
- macOS 13、14:先查看「系统设置」→「隐私与安全性」中的扩展拦截说明;VPN 配置可在系统设置中搜索「VPN」查看。
- macOS 15:网络扩展可在「系统设置」→「通用」→「登录项与扩展」→「网络扩展」中检查。具体列表与操作按钮取决于已安装的扩展。
- 后续系统版本:入口名称可能调整。使用系统设置的搜索框查找「网络扩展」或「VPN」,并以系统实际显示为准。
当提示允许某个开发者的系统软件时,先对照客户端提供的开发者信息。批准后,只有系统明确要求才重新启动。若页面没有对应项目,不要去批准其他软件的扩展,也不需要为了“补齐权限”安装额外组件。
如果已经允许扩展但 TUN 仍无法启动,应继续看客户端日志。路由设置失败、DNS 监听冲突、另一个 VPN 正在接管网络,都可能导致相同的“连接不可用”现象。扩展列表中显示已启用,只能说明该层允许加载,不能证明订阅、DNS 和出站策略已经正确。
钥匙串弹窗:先看项目,再决定权限
钥匙串提示通常会写明哪个进程想访问哪个项目。并非每个 ClashX 版本都会在首次启动时请求钥匙串;只有客户端或相关组件确实保存、读取凭据时才会出现。不能因为教程中有这一环,就主动给应用开放整个钥匙串。
「允许」「始终允许」「拒绝」的区别
- 允许:批准本次访问。适合已确认用途,但暂时不希望保留长期许可的情况。
- 始终允许:为该项目记录持续访问许可,后续行为仍受应用身份和钥匙串访问控制影响。应在确认请求方与项目后再选择。
- 拒绝:本次不提供凭据。应用可能无法读取已保存的信息,但通常不影响在客户端中查看其他设置。
如果提示解锁「登录」钥匙串,所需密码通常是该钥匙串的密码。它最初往往与本机登录密码相同;如果曾通过恢复流程重设账户密码,旧钥匙串密码可能没有同步变化。此时反复输入新密码仍会失败,不能简单判断为客户端故障。
可使用 Spotlight 搜索并打开「钥匙串访问」,在「登录」钥匙串中搜索弹窗显示的项目名称。对支持该操作的项目,打开详情并检查「访问控制」。只处理与当前客户端明确相关的单个项目,不要删除整个登录钥匙串,也不要选择允许所有应用访问该项目。新版 macOS 的「密码」应用并不替代这些通用钥匙串访问控制功能。
升级后反复弹窗怎么判断
应用更新、签名身份变化或从不同位置启动另一个副本,都可能使原有访问许可不再匹配。先退出旧副本,从「应用程序」启动当前版本,再观察弹窗中的进程名称。如果请求的是无法解释的浏览器密码或其他应用凭据,先拒绝并检查来源,不要仅因名称包含 Clash 就批准。
误拒绝后恢复:按失败环节操作
| 误拒绝的内容 | 恢复步骤 | 恢复后检查 |
|---|---|---|
| 辅助工具安装 | 重启应用,重新触发安装或客户端提供的服务修复入口 | 开启系统代理后是否仍报告权限错误 |
| VPN 配置添加 | 再次启动客户端对应的隧道功能,重新确认系统请求 | 系统 VPN 列表与客户端状态是否对应 |
| 网络或系统扩展 | 在系统设置中找到该应用的扩展,按系统提示允许 | 是否出现新的加载错误,是否要求重启 |
| 钥匙串单次访问 | 再次执行需要凭据的动作,必要时退出后重开应用 | 项目名称和请求方是否保持一致 |
恢复时一次只改一项。先取消系统代理和 TUN,保留普通网络连接;完成对应授权后再开启需要的功能。不要同时切换内核、重装应用、删除配置和修改 DNS,否则很难判断是哪一步解决或引入了问题。
如果设备受管理配置描述文件控制,某些开关可能无法修改。此时应记录提示原文、系统版本与客户端版本,交给管理员核实。订阅地址含有访问令牌,提交截图或日志前应隐藏完整地址及账户信息。
授权完成后,核对端口与真实流量
授权成功只是安装流程的一部分。接下来先导入可用配置,确认内核运行,再开启系统代理。系统代理主要影响遵循系统代理设置的应用;TUN 则通过虚拟接口与路由接管更多流量。浏览器可以打开网页,不代表终端、游戏和所有后台进程都会使用同一路径。
用三个只读命令定位
在「终端」中执行以下命令。示例使用 7890 作为 HTTP 或混合代理端口;应先查看当前配置的 port 或 mixed-port,再替换为实际值。这个端口是示例,不是所有 ClashX 版本的固定默认值。
# 查看 macOS 当前系统代理设置
scutil --proxy
# 检查示例端口是否存在 TCP 监听
lsof -nP -iTCP:7890 -sTCP:LISTEN
# 显式通过本机 HTTP 代理发起请求
curl --proxy http://127.0.0.1:7890 --connect-timeout 10 --max-time 20 -I https://example.com
scutil --proxy中,启用的 HTTP 代理通常可看到HTTPEnable : 1、地址和端口;HTTPS 对应HTTPSEnable等字段。检查实际启用的协议,不要只找一个固定字段。lsof无输出时,先确认内核是否启动、端口是否写错,以及是否改用了独立的 SOCKS 端口。端口有监听也要核对所属进程。curl示例强制使用指定代理,不依赖终端是否读取系统代理。连接被拒绝通常先查监听端口;连接建立后超时,再查节点、DNS 和出站策略。
命令行工具 curl 通常不会自动采用 macOS 图形界面的系统代理设置,因此“浏览器可用、终端不可用”不应直接归因于授权失败。若要测试 SOCKS 入口,应按实际端口使用 socks5h://127.0.0.1:端口号 形式,并注意其中的地址与端口需要替换。
退出客户端前,确认网络恢复
第一次配置结束时,建议主动关闭系统代理与 TUN,再退出客户端,确认普通网络仍然可用。若退出后断网,打开「系统设置」→「网络」→ 当前使用的 Wi-Fi 或以太网 →「详细信息」→「代理」,检查是否残留指向 127.0.0.1 的 HTTP、HTTPS、SOCKS 代理或自动代理配置。只关闭本次客户端设置的项目,保留单位网络要求的配置。
若使用 VPN 或网络扩展,也应检查对应连接是否已断开。不要为了恢复网络批量删除全部网络服务。完成上述检查后,后续启动按“内核运行、配置有效、按需开启代理”的顺序操作;只有出现明确权限错误时,才回到对应授权环节处理。