Mac客户端教程:macOS 上用机场选哪个客户端
Mac客户端教程的重点不在“选哪个”,而在三件事:确认芯片架构,处理“无法验证开发者”的拦截,搞清系统代理和 TUN 的权限弹窗。结论先放这:新手先从 Clash Verge Rev 的 Mac 版开始,装对架构,按流程放行,再去开系统代理,基本就稳了。下面先对比客户端,再把 Mac 上特有的坑逐个讲清。
macOS客户端怎么选:几类对照
| 客户端 | 性质 | 常见订阅格式 | 特点 | 适合谁 |
|---|---|---|---|---|
| Clash Verge Rev | 开源,Mihomo 内核 | Clash 或 Mihomo 的 YAML | 提供 Mac 版安装包,Intel 与 Apple 芯片分别对应不同文件 | 大多数新手,详见 Clash Verge下载 |
| Mihomo Party | 开源,Mihomo 内核 | 同上 | 同样有 Mac 版,界面取向不同 | 想换界面、想用覆写的人,详见 Mihomo Party |
| sing-box 的 macOS 客户端 | 官方客户端 | JSON 配置 | 渠道以官方说明为准 | 进阶用户,详见 Sing-box教程 |
| Surge | 付费商业软件 | 有自己的一套配置 | 面向进阶用户,价格与授权以其官网为准 | 愿意付费、需要进阶功能的人 |
补充两点:早年流行的、基于原版 Clash 内核的老客户端,维护状态以各项目仓库为准,如果长期没有更新、跟不上新协议,就不建议新装。Surge 这类闭源付费软件,订阅怎么导入、是否兼容你的订阅格式,以它官方的说明为准,机场牛不替它写评价。
Clash Verge Mac 版怎么装:三步走
- 确认芯片架构,方法见下一节,这一步最容易选错;
- 从官方 Release 页面下载 dmg 安装包,入口和核对办法见 Clash Verge下载,不要用搜索引擎广告位、网盘或群文件里的包;
- 打开 dmg,把应用拖进“应用程序”文件夹,再从那里启动,别直接在挂载的安装镜像里运行,否则可能遇到权限和更新方面的问题。装完记得推出镜像。
装好之后的订阅导入、规则模式,和 Windows 上基本一致,看 Clash Verge导入订阅。
Mac客户端教程的第一关:Intel 还是 Apple 芯片,下载前先确认
有两种看法:
- 图形界面:点屏幕左上角的苹果菜单,选“关于本机”,芯片一栏写着 Apple 加 M 系列型号,就是 Apple 芯片;写着 Intel 处理器,就是 Intel;
- 终端:输入下面这条命令,看输出。
uname -m
输出 arm64 是 Apple 芯片,输出 x86_64 是 Intel。
对照安装包文件名里的标记:
| 文件名常见标记 | 对应芯片 |
|---|---|
| aarch64 或 arm64 | Apple 芯片 |
| x64 或 x86_64 | Intel |
| universal | 同时包含两种,若项目提供 |
Intel 的 Mac 跑不了 Apple 芯片的包;Apple 芯片的 Mac 可以通过系统自带的转译层运行 Intel 包,但原生包更合适,实际表现以项目说明为准。选错的典型现象是应用无法打开或闪退,先回头确认架构,别急着怀疑别的。
提示“无法验证开发者”,怎么放行
先弄清原因:macOS 默认只放行来自 App Store、或通过了 Apple 审核流程的应用。开源项目的安装包不一定走这套流程,就会被拦下。这不等于文件有问题,但放不放行,要看你对来源的判断。
放行步骤,界面文案随系统版本略有不同:
- 把应用拖进“应用程序”,双击打开,出现类似“无法打开,因为无法验证开发者”的提示时,不要选“移到废纸篓”,点取消或好;
- 打开“系统设置”,进入“隐私与安全性”,往下滚到“安全性”部分,会看到类似“已阻止打开该应用”的说明和一个“仍要打开”按钮;
- 点击后输入登录密码或使用触控 ID 确认,再次打开应用,弹窗里选“打开”;
- 较旧的系统还可以右键点应用图标选“打开”,较新的系统版本里这条路可能不再有效,以第 2 步的入口为准。
如果提示的是“已损坏,无法打开”,先排除两个常见原因:下载不完整,以及架构选错。重新下载并核对校验值。确认来源是官方仓库后仍不行,可以考虑清除系统给下载文件打的隔离标记:
xattr -cr /Applications/应用名.app
这条命令只对你确认来自官方仓库的应用使用,不要拿它去处理来源不明的包。
有三种情况,直接放弃,别放行:安装包不是从官方仓库下载的;文件名和仓库发布的对不上;任何要求你关闭系统安全功能才能运行的包。
系统代理、TUN 与权限弹窗
系统代理:客户端打开系统代理,实际是改写“系统设置”里网络部分的代理配置。macOS 的这份配置是按网络服务分别保存的,无线网络和有线网络各有一份,所以换网络后偶尔需要把开关关了再开。开启时可能弹出让你输入密码的授权。
TUN:创建虚拟网卡接管流量,覆盖面更广,需要更高的权限。客户端通常会弹窗请你输入系统密码,或者安装类似“服务”“辅助工具”的组件。同意之后,可以在系统设置的登录项与扩展一类页面里看到相关的后台项目,名称和位置因系统版本而异。基于系统网络扩展工作的客户端,首次启用时会有类似添加 VPN 配置的确认。TUN 的概念和常见坑,见 TUN模式设置。
终端不走代理:很多命令行工具不读系统代理,只认环境变量。在当前终端里这样设置,端口以客户端设置页显示的为准:
export https_proxy=http://127.0.0.1:端口 http_proxy=http://127.0.0.1:端口
它只对当前终端窗口有效,关掉窗口就没了;想一劳永逸,用 TUN 更省事。
Mac 上常见问题速查
| 现象 | 常见原因 | 先做什么 |
|---|---|---|
| 放行后仍然打不开或闪退 | 架构选错、下载不完整 | 先确认芯片架构,重新下载并核对校验值 |
| 开了系统代理,浏览器没效果 | 被别的软件接管,或节点不可用 | 见 Clash系统代理不生效怎么办 |
| 终端、git 不走代理 | 命令行不读系统代理 | 设置环境变量,或开启 TUN |
| 换了网络后代理失效 | 代理设置按网络服务分别保存 | 把系统代理关了再开一次 |
| 系统大版本升级后功能异常 | 之前授予的权限可能需要重新确认 | 重新检查隐私与安全性里的授权 |
| 导入订阅后没有节点 | 链接失效、格式不匹配 | 见 订阅更新失败怎么办 |
| 所有节点都超时 | 本地网络、系统时间或节点失效 | 见 机场节点超时怎么办 |
Mac 上常见的几种弹窗:谁弹出来的,该不该点同意
Mac 上的拦截和授权弹窗特别多,新手常见的反应有两种:全部点同意,或者全部拒绝。两种都不对。判断依据只有一条:弹窗出现的时机,要和你刚做的操作对得上。下表按常见文案归类,不同系统版本措辞略有差别,以实际显示为准。
| 弹窗或提示(大致文案) | 谁弹出来的 | 常见时机 | 怎么处理 |
|---|---|---|---|
| 无法验证开发者,或已阻止打开 | 系统的应用来源检查 | 第一次打开从官方仓库下载的应用 | 确认来源后,到隐私与安全性页面放行;来源不明不放行 |
| 已损坏,无法打开 | 系统检查,常见原因是下载不完整或架构不匹配 | 同上 | 重新下载并核对校验值,再确认芯片架构 |
| 输入系统密码或使用触控 ID | 客户端申请更高的权限 | 开启 TUN,或安装辅助组件时 | 只在确认是自己刚点的操作时同意;莫名冒出来的先拒绝 |
| 添加 VPN 配置 | 系统的网络扩展机制 | 基于系统网络扩展的客户端首次启用 | 确认是自己刚装的客户端,再允许 |
| 后台项目已添加 | 系统的登录项管理 | 客户端装了开机自启或辅助服务 | 在登录项与扩展里能查到,不需要时可以关掉 |
有两点值得补充。第一,同意并不是不可逆的:登录项、网络扩展里的 VPN 配置,都可以在系统设置里再关掉或移除,具体路径因系统版本而异。第二,如果弹窗里的名称你不认识,既不是你刚装的客户端,也不是系统自带的东西,先别急着点,退出来,回头核对安装包的来源。TUN 的概念和常见坑,见术语页 TUN模式。
Mac 用机场的五个常见误区:为什么不对,该怎么做
误区一:Apple 芯片的 Mac 装 Intel 的包,反正也能跑。
- 为什么不对:系统可以通过转译层运行 Intel 程序,但原生包更合适;客户端如果还带着辅助服务之类的组件,架构不一致时,更容易出现难以排查的问题;
- 正确做法:Apple 芯片选 aarch64 或 arm64 的包,Intel 选 x64 或 x86_64 的包,先确认芯片再下载。
误区二:被拦截了,干脆把系统安全功能关掉。
- 为什么不对:关掉全局检查,等于对所有应用都放开,而“仍要打开”只针对你确认过来源的那一个应用,范围差了一大截;
- 正确做法:只用隐私与安全性里的放行入口。任何要求你先关闭系统安全功能才能运行的安装包,直接放弃。
误区三:系统代理和 TUN 一起开,才算双保险。
- 为什么不对:两个开关各管一层,什么时候可以同开、同开会不会互相干扰,取决于客户端的实现,以它的文档为准;同时开着,只会让问题更难判断;
- 正确做法:排错时先只开一个,把变量降到最少,跑通之后再按需要加。
误区四:换了一台 Mac,要把以前的配置整个搬过去。
- 为什么不对:整个目录搬过去,容易把已经过期的订阅、早就不用的规则一并带过去,反而给新电脑埋雷;
- 正确做法:在新电脑上装好客户端,重新从机场面板复制订阅链接导入,再把自己真正需要的规则加回去。订阅链接要当密码保管,见 机场订阅链接安全。
误区五:图省事,用 sudo 以管理员身份启动图形客户端。
- 为什么不对:以最高权限运行图形应用,可能让配置文件的归属变成 root,之后用普通身份启动时读写失败,问题更难查;
- 正确做法:需要高权限的功能,让客户端自己通过系统的授权弹窗或服务组件去申请,别手动 sudo。
进阶:macOS 的代理设置按网络服务保存,怎么自己核对一遍
前面提到,macOS 的代理设置是按“网络服务”分别保存的。这一节把这句话讲透,并给你几条只读的命令,用来自己核对客户端到底改了什么。
什么是网络服务。 系统设置的网络页面里,列出来的是一个个网络服务:无线网络、有线网络、通过扩展坞接入的网卡、USB 网络共享等,各有各的名字,各有各的一份代理设置。客户端开启系统代理时,写入的是它认定的那个当前服务。所以会出现这样的情况:你换了扩展坞,或者改用有线网络,新出现的服务没有被写入,代理看起来就“失效”了。把客户端的系统代理开关关掉再打开,通常就会重新写入。
自己核对的方法。 下面几条命令只读取设置,不做修改。服务名以第一条命令列出的为准,Wi-Fi 只是示例:
networksetup -listallnetworkservices
networksetup -getwebproxy "Wi-Fi"
networksetup -getsecurewebproxy "Wi-Fi"
networksetup -getsocksfirewallproxy "Wi-Fi"
输出里通常有是否启用、服务器地址和端口几项。开启系统代理后,对应服务的地址应该指向本机,端口和客户端设置页显示的一致;关闭之后应该显示为未启用。核对下来设置没问题,网页依旧打不开,问题就在节点或 DNS 一侧了,见 已连接但无法上网怎么办。
两个边界要知道。 其一,有的客户端采用自动代理配置的方式,而不是直接填写固定地址,这时查到的网页代理项可能显示为未启用,并不一定有问题,以客户端自己的说明为准。其二,开启 TUN 之后,流量不再依赖这些设置,所以核对系统代理对 TUN 的场景没有意义。
最后一条提醒:别照着网上的教程,用以 set 开头的命令手动改这些设置,除非你清楚自己在改什么。设置交给客户端管理,你只负责核对,出问题时才不会和客户端打架。
今天就能做的三件事
- 先用“关于本机”确认芯片,再去官方 Release 页面下载对应的安装包,装完拖进“应用程序”再启动;
- 遇到拦截时按上面的步骤走,来源有疑问就不放行,别让一个弹窗绕过你的判断;
- 订阅跑通以后,想看不同机场的资料对比,去 机场推荐排行榜 对照着看。这篇 Mac客户端教程 只管客户端,订阅才是真正要花钱的部分。
软件界面和系统设置的文案会随版本变化,具体以实际显示和项目官方说明为准。使用代理服务请遵守所在地法律法规,机场牛不提供法律意见。
Mac客户端教程常见问题
我的 Mac 是 Intel 还是 Apple 芯片,怎么看?
点屏幕左上角的苹果菜单,选择关于本机,芯片一栏写着 Apple 加 M 系列型号就是 Apple 芯片,写着 Intel 处理器就是 Intel。也可以在终端里输入 uname -m,输出 arm64 是 Apple 芯片,输出 x86_64 是 Intel。下载安装包时按这个选对应架构的文件。
Mac 提示无法验证开发者,应该怎么办?
先确认安装包来自项目官方仓库。确认后到系统设置的隐私与安全性页面,在安全性部分找到被阻止的应用说明,点仍要打开,再按提示验证身份。较旧的系统也可以右键应用选打开,较新的系统这条路可能不再有效。来源说不清的包不要放行。
开了系统代理,终端里的命令为什么还是不走代理?
很多命令行工具不读取系统代理,只认环境变量。可以在当前终端里设置代理相关的环境变量,端口以客户端设置页显示的为准,这只对当前窗口有效。更省事的办法是开启 TUN,在更底层接管流量,不过需要管理员权限。
Mac 上用机场需要付费软件吗?
不一定。常见的开源客户端可以免费使用,付费软件主要面向需要进阶功能的用户,具体价格与授权以对应官网为准,机场牛不写价格。新手先用免费的开源客户端把整条流程跑通,确有需求再考虑付费方案。
换了一个网络后代理突然失效,要重装吗?
不用重装。macOS 的代理设置是按网络服务分别保存的,比如无线网络和有线网络各有一份,换网络后有时需要把客户端的系统代理开关重新关一次再打开。还不行,再检查节点和订阅是否正常,排查期间一次只保留一个客户端运行。