在 macOS 上使用 ClashX Pro 时,很多人以为导入订阅、选中节点之后,所有应用就会自动经过代理。实际上,ClashX Pro 还需要把代理参数写入 macOS 的系统网络设置,应用才会读取并使用它。本文围绕「ClashX Pro macOS 系统代理怎么自动开启与关闭」这一问题,从菜单栏入口、代理模式、系统代理状态到联网验证逐步说明,并补充登录启动、自动恢复和失效排查方法。完成设置后,Safari、Chrome、Telegram、代码编辑器以及其他遵循系统代理的应用,都可以按 ClashX Pro 的规则自动选择直连或代理。

先理解 ClashX Pro 与 macOS 系统代理的关系

ClashX Pro 本身是一个运行在 Mac 上的代理客户端,节点和规则由 Clash 内核负责处理,而 macOS 是否把应用流量交给 Clash,则由「系统代理」开关决定。两者是相互关联、但并不完全相同的设置。

  • ClashX Pro 正在运行:表示代理内核和本地端口可能已经启动,但不代表所有应用都会使用代理。
  • 已选择节点:表示策略组有了出口,解决的是「流量从哪里出去」的问题。
  • 已开启 Set as System Proxy:表示 ClashX Pro 将 HTTP、HTTPS 等代理地址写入 macOS 网络服务,应用才会主动读取。
  • Rule、Global、Direct 模式:决定流量如何处理,不能把它们误认为系统代理开关。

例如,ClashX Pro 已经显示某个节点延迟,但系统代理没有开启,此时浏览器通常仍会直接连接目标网站。反过来,如果系统代理已经打开,但 ClashX Pro 没有可用节点、代理端口异常或当前处于 Direct 模式,应用也可能表现为「代理没有效果」。因此,排查时应按照「客户端运行 → 节点可用 → 模式正确 → 系统代理开启 → 实际联网验证」的顺序进行。

最容易混淆的一点:macOS 系统代理主要影响遵循系统代理设置的应用。部分游戏、命令行程序、虚拟机、Docker 容器以及使用自定义网络栈的软件,可能不会读取系统代理,需要额外使用 TUN、增强模式或单独配置代理。

从菜单栏开启 ClashX Pro 系统代理

ClashX Pro 启动后,通常会在 macOS 顶部菜单栏显示 Clash 图标。无论你使用的是 Intel Mac 还是 Apple Silicon Mac,开启系统代理的入口基本都在这个菜单中。第一次设置时,建议先确认订阅或配置已经成功加载,并且策略组中至少有一个可用节点。

  1. 打开 ClashX Pro,等待菜单栏中的 Clash 图标出现。
  2. 点击菜单栏图标,查看当前配置名称、代理模式和节点状态。
  3. 将鼠标移动到代理模式菜单,优先选择 Rule 或类似的规则模式。
  4. 在主菜单中找到 Set as System Proxy,点击它使其进入选中状态。
  5. 打开 Safari 或 Chrome,访问一个可以稳定打开的网站进行测试。
  6. 如果需要确认出口是否变化,再访问 IP 查询网站,比较开启前后的公网 IP 或地区信息。

不同版本的 ClashX Pro 菜单文字可能略有差异,例如显示为 Set as System Proxy系统代理 或带有勾选标记的同义选项。判断是否成功,不要只看菜单是否出现,而要看该选项是否处于勾选状态。macOS 可能会弹出权限确认窗口,按提示允许即可;如果系统要求输入管理员密码,也属于正常情况。

菜单项目 作用 日常建议
Set as System Proxy 将 ClashX Pro 的代理地址写入 macOS 系统网络设置 需要让普通应用走代理时开启
Rule 按照配置文件中的规则决定直连或代理 日常使用优先选择
Global 尽量让符合系统代理的请求统一经过当前代理节点 临时排查规则问题时使用
Direct 不通过代理节点转发流量 测试本地网络或临时关闭代理逻辑时使用

选择正确模式并确认节点可用

开启系统代理后,下一步不是立刻修改 macOS 设置,而是检查 ClashX Pro 当前的模式和节点。对于绝大多数日常场景,Rule 模式更适合长期使用:国内网站、局域网地址和明确的直连域名可以直接访问,其他匹配代理规则的请求则交给节点处理。这样既能减少不必要的延迟,也能避免所有流量都绕行代理。

如果你发现某个目标网站始终无法打开,可以暂时切换到 Global 模式测试。Global 模式下,遵循系统代理的请求通常会统一交给当前选中的代理节点。如果 Global 模式可以访问,而 Rule 模式不行,问题大概率出在规则匹配、规则集更新或策略组选择,而不是系统代理本身。

节点状态也需要单独确认。打开 ClashX Pro 的节点或代理组菜单,观察当前策略组是否已经选中节点。若显示「未选择」「连接失败」或延迟测试全部超时,即使系统代理开关处于开启状态,应用也无法建立正常的代理连接。可以先执行一次节点测速,再选择延迟稳定、能够成功连接的节点。

不要把延迟数值当成完整可用性证明:测速成功只说明测试地址能够建立连接,不代表所有网站、UDP 请求或流媒体服务都能正常使用。最终仍应通过浏览器、终端和目标应用分别验证。

让 ClashX Pro 登录 macOS 后自动启动

如果每次开机都要手动打开 ClashX Pro,再手动点击系统代理,使用体验会比较繁琐。可以在 ClashX Pro 的偏好设置中启用登录启动功能。常见入口是菜单栏图标中的 PreferencesSettings 或「偏好设置」,随后在通用选项中查找 Launch at LoginStart on Boot 等类似名称。

  1. 点击菜单栏中的 ClashX Pro 图标,打开 Preferences
  2. 进入通用设置或启动设置页面。
  3. 开启 Launch at Login,让 ClashX Pro 在用户登录后自动运行。
  4. 确认配置文件或订阅已经设置为默认配置。
  5. 重新登录 macOS,观察菜单栏图标是否自动出现。
  6. 检查系统代理选项是否仍为开启状态,并通过浏览器完成联网验证。

需要特别说明的是,「登录启动」和「自动开启系统代理」不一定是同一个开关。有些 ClashX Pro 版本会在启动后恢复上次的系统代理状态,有些版本则只负责启动客户端,不会自动修改 macOS 代理设置。如果你的版本没有提供自动恢复选项,可以把它理解为两步:第一步让客户端自动启动,第二步确认启动后系统代理是否仍保持开启。

macOS 的系统代理状态有时会因切换 Wi-Fi、连接公司 VPN、使用网络过滤软件或切换网络位置而发生变化。因此,重要工作环境不建议只依赖「上次状态」。更稳妥的做法是登录后确认菜单栏图标、当前配置、节点和 Set as System Proxy 四项状态,尤其是在系统升级或 ClashX Pro 更新之后。

如何关闭系统代理和自动代理

临时关闭代理时,最直接的方法是点击菜单栏 ClashX Pro 图标,再次点击已勾选的 Set as System Proxy。取消勾选后,ClashX Pro 会从 macOS 当前网络服务中移除它写入的代理地址,普通应用将恢复直接联网。此操作通常不会删除订阅、节点或配置文件,之后仍然可以重新开启。

如果只是想让流量暂时不经过代理,也可以选择 Direct 模式,但这和关闭系统代理不是完全一回事。Direct 模式通常仍保留 macOS 的代理地址,应用请求可能继续连接 ClashX Pro 的本地端口,只是由内核直接放行。对于排查问题或短时间测试可以使用;如果要彻底恢复系统原有网络环境,应该关闭 Set as System Proxy

需求 推荐操作 结果
暂时不想使用代理 取消勾选 Set as System Proxy 普通应用恢复直连
保留代理入口但测试规则 切换到 Direct 请求仍可能经过本地 Clash 端口,但不走远端节点
所有请求临时走当前节点 选择 Global 便于判断规则是否造成访问失败
退出 ClashX Pro 使用菜单中的退出选项 本地代理端口停止,系统代理可能需要手动恢复

联网验证与常见失效问题

开启系统代理后,建议进行分层验证,而不是只打开一个网站就结束。第一层是浏览器访问普通 HTTPS 网站;第二层是检查 IP 或地区是否按预期变化;第三层是打开实际需要代理的应用;第四层则是查看 ClashX Pro 的连接记录,确认请求是否进入本地代理端口并命中了正确规则。

  • 浏览器完全无法联网:先确认系统代理地址和端口是否存在,再检查 ClashX Pro 是否正在运行、节点是否可用。也可以先关闭系统代理,确认直连网络本身没有故障。
  • 国内网站正常,境外网站失败:切换到 Global 模式测试。如果 Global 仍失败,优先检查节点和配置;如果 Global 正常,则检查 Rule 模式下的规则集。
  • 浏览器有效,终端无效:终端工具不一定读取 macOS 系统代理。可以在当前终端会话中临时设置环境变量:
终端临时使用 ClashX Pro HTTP 代理
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890

# 测试完成后取消当前终端会话中的代理变量
unset http_proxy
unset https_proxy

上面的 7890 只是常见示例端口,实际端口应以 ClashX Pro 当前配置为准。不同配置可能使用其他 HTTP 或 mixed-port 端口,不能盲目复制。若终端使用的是 SOCKS5 代理,则应根据客户端端口类型改为对应地址,例如 socks5://127.0.0.1:7891

如果系统代理开关无法勾选、勾选后立即恢复未选中,通常与权限、网络服务状态或其他代理软件冲突有关。可以依次尝试退出 Surge、V2RayU、VPN 客户端等可能修改系统代理的程序;在「系统设置 → 网络」中切换当前 Wi-Fi 或以太网服务;重新启动 ClashX Pro;最后重新登录 macOS。若仍然失效,再检查 ClashX Pro 是否有权限访问网络,以及配置中的本地监听端口是否被其他程序占用。

推荐的排查顺序:先关闭 macOS 系统代理确认直连正常,再启动 ClashX Pro,确认节点可用,选择 Rule 或 Global 模式,重新开启系统代理,最后查看连接记录。一次只改变一个变量,通常比反复切换多个设置更容易定位问题。

日常使用检查清单

完成自动启动和系统代理设置后,可以用下面的清单快速判断当前状态是否正常:

  1. 菜单栏中能够看到 ClashX Pro 图标,说明客户端已启动。
  2. 当前配置文件名称正确,订阅没有过期或加载失败。
  3. 策略组中已经选中一个可用节点,测速结果不是全部超时。
  4. 代理模式处于 Rule 或符合当前需求的模式,而不是误选 Direct。
  5. Set as System Proxy 处于勾选状态。
  6. 浏览器可以打开目标网站,ClashX Pro 连接记录中能看到对应请求。
  7. 切换 Wi-Fi、VPN 或系统网络设置后,再次确认系统代理没有被覆盖。

总的来说,ClashX Pro 在 macOS 上自动工作的关键并不是单独打开某个节点,而是让「客户端启动、节点可用、模式正确、系统代理开启」四个条件同时成立。需要关闭时,优先取消 Set as System Proxy,不要简单地强制退出客户端,以免系统残留旧的代理地址。按照本文的步骤完成设置后,你就可以让 Mac 应用在登录后更稳定地使用 ClashX Pro,并在需要时快速恢复直连网络。

立即开始

用 Clash 掌控你的流量

支持 Windows、macOS、Linux、Android 与 iOS,灵活规则,开箱即用。

免费下载 查看设置指南 →