1. 安装中心
  2. 三类环境
  3. 03 macOS 安装
  4. 4 / 9

§ 环境 02 · macOS

快喵VPN 在 macOS 上的安装:从挂载到扩展授权

macOS 上装的难点不在镜像本身,而在两处授权:首次打开放行与网络扩展启用;两处都通过后,首次连接耗时的中位数为 2.6 s,Apple 芯片比 Intel 快约 0.6 s。

最低系统
macOS 12.6
安装后占用
168 MB
镜像体积
98.7 MB
本页采集
2026-11-08

§ 01 · 机型对照

先确认机型与系统:Universal 2 单包能装,但不是所有系统都能跑

macOS 侧的安装包只有一个 universal 镜像可用,区别不在安装包,而在系统版本与扩展授权方式。系统低于 12.6 时装上去也会在扩展加载阶段失败。

macOS 机型与系统版本适配示意
图 1:Universal 2 单包在四代 macOS 上的加载结果。12.6 以下系统扩展无法注册(2026-11-08 于 M2 与 i5-8259U 两台机器采集)
表 1:macOS 版本与安装结果对照(客户端 3.9.6,2026-11-08 采集)
系统版本芯片安装扩展授权方式首连耗时
macOS 15.1(24B83)Apple M2通过登录项与扩展内启用2.4 s
macOS 14.6.1(23G93)Apple M2通过登录项与扩展内启用2.6 s
macOS 13.6.9Intel i5-8259U通过隐私与安全性内仍要打开3.1 s
macOS 12.6(21G115)Intel i7-9750H通过隐私与安全性内仍要打开3.4 s
macOS 11.7.10Intel i5-8259U安装后无法加载扩展不支持:最低要求 12.6—

Apple 芯片与 Intel 的差别在哪

两者装的是同一个 universal 镜像,差别出现在签名与扩展两处:Apple 芯片要求扩展使用 arm64 变体签名,Intel 机器则回落到 x86_64 变体;下载时若被 CDN 只缓存了单架构分片,Apple 芯片上会报签名不匹配。

§ 02 · 下载与校验

下载后先算哈希,再用 spctl 看签名是否被系统接受

macOS 上比哈希更方便的一步是 spctl:它直接告诉你系统愿不愿意加载这个包,而哈希只告诉你文件是否完整。两者一起做,能省掉一轮试装。

Terminal(无需 sudo)
$ shasum -a 256 ~/Downloads/KuaiMiao-3.9.6-universal.dmg
$ ls -l ~/Downloads/KuaiMiao-3.9.6-universal.dmg
$ spctl -a -vvv -t install ~/Downloads/KuaiMiao-3.9.6-universal.dmg

spctl 返回 accepted 且 source 为 Notarized Developer ID 时才说明公证链完整。返回 rejected 时后面会跟一行原因,常见的是“source=Unnotarized Developer ID”,说明下载到的是旧构建。

表 2:两个 macOS 镜像的体积与哈希
文件体积SHA-256 前 16 位适用芯片
KuaiMiao-3.9.6-universal.dmg98.7 MBa8c3601743428298Intel + Apple 芯片
KuaiMiao-3.9.6-arm64.dmg92.3 MBcac114c742fa6b47仅 Apple 芯片

体积对不上就是被截断

universal 镜像完整体积为 98.7 MB。用浏览器下载时若中途断网,文件会留下不完整的部分,双击挂载时报“无法打开磁盘映像”。此时不必重算哈希,先看体积即可判断。

用 curl -L -o 下载可以保留断点信息,配合 -C - 续传;浏览器下载在扩展名为 dmg 时不会提示文件不完整。

§ 03 · 挂载安装

挂载、拖入、卸载镜像:三步,顺序不能反

直接在挂载卷里双击运行是最常见的错误做法:应用能跑,但每次启动都从只读卷加载,更新与扩展注册都会失败。

STEP 01

双击 dmg 完成挂载

Finder 侧栏会出现一个卷标,卷内通常只有应用本体与一个应用程序目录的快捷方式。挂载耗时 1 至 3 秒。

STEP 02

把应用拖入应用程序目录

拖动而不是双击运行。拖动完成后系统会复制约 168 MB 内容,M2 机器上约 4 秒。

STEP 03

在 Finder 中推出镜像

右键卷标 → 推出。不推出时下次挂载会因同名卷冲突而挂到带数字后缀的路径下,扩展注册会指错位置。

第一次打开会看到什么

macOS 12.6 至 14.x 上首次双击会弹出“无法打开,因为 Apple 无法检查其是否包含恶意软件”,这不是错误提示,而是 Gatekeeper 的默认流程。macOS 15 上同一步的文案改为“无法验证开发者”,处理路径相同。

macOS 安装三步示意图
图 2:挂载、拖入、推出的三步顺序。停在挂载卷内运行的装法会让扩展注册指向只读路径(2026-11-08 采集)
Gatekeeper 判定流程
图 3:Gatekeeper 的判定流程。隔离属性、签名、公证三项依次检查,任一项失败都会落到同一个提示框(2026-11-08 绘制)

§ 04 · 首次打开授权

三条授权路径:右键打开、仍要打开、去隔离属性

三条路径按侵入性从低到高排列。前两条只是放行一次,第三条改动文件属性,属于一次性手段,不建议长期使用。

路径一:右键打开(12.6 至 14.x 有效)

在应用程序目录里按住 Control 点击应用图标,选择“打开”,弹窗中会出现“打开”按钮。这条路径的作用是让系统把该应用记入放行名单,之后正常双击即可。macOS 15 起右键菜单不再提供该入口。

路径二:隐私与安全性里点仍要打开

先双击一次让系统拦下,再打开“系统设置 → 隐私与安全性”,页面底部会出现“已阻止使用”的条目与一个“仍要打开”按钮。点击后需要输入管理员密码,随后再次双击应用并在弹窗中选择“打开”。

路径三:去掉隔离属性(一次性手段)

Terminal
$ xattr -l /Applications/KuaiMiao.app
$ xattr -dr com.apple.quarantine /Applications/KuaiMiao.app
$ codesign -dv --verbose=4 /Applications/KuaiMiao.app 2>&1 | head -20
第 3 条路径只在确认文件哈希与签名都正确时使用。哈希不符时去隔离属性等于绕过唯一的安全检查。

§ 05 · 系统扩展

扩展授权与 VPN 配置:这一步不通过,客户端会一直显示未连接

macOS 上接管流量依赖网络扩展,扩展需要两次授权:一次在扩展列表里启用,一次在添加 VPN 配置时允许。两次授权缺一,客户端都会显示未连接。

表 3:两处授权的位置与失败表现
授权项位置未授权时的表现
网络扩展系统设置 → 通用 → 登录项与扩展 → 网络扩展客户端显示未连接,utun 接口不出现
VPN 配置首次连接时系统弹窗 → 允许连接按钮点了没反应,无任何提示
完全磁盘访问(可选)隐私与安全性 → 完全磁盘访问仅影响分流规则读取应用列表,不影响连接
确认扩展状态
$ systemextensionsctl list | grep -i kuaimiao
$ ifconfig | grep -c utun
$ scutil --nc list | grep -i kuaimiao

扩展显示已启用但仍连不上

先看 utun 接口数量:装前通常已有 1 至 3 个系统自建 utun,连接后应多出一个。数量没变说明扩展没有真正接管,而不是线路问题。再看 scutil --nc list 是否出现本产品的配置项,没有则说明第二次授权没通过。

macOS 授权链与连接状态的关系
图 4:安装、扩展授权、VPN 配置授权三段链路。任何一段缺失,界面都停在未连接(2026-11-08 采集)

§ 06 · 已损坏排查

“应用已损坏,无法打开”的四种成因与对应处理

这句提示在 macOS 上几乎是万能挡箭牌,实际对应四种完全不同的成因。按成因顺序排查,比反复重装有效得多。

表 4:四种成因与判断依据(2026-11-08 采集)
成因判断依据处理方式
下载不完整体积小于 98.7 MB,或挂载时报磁盘映像错误重新下载并核对哈希
隔离属性未清xattr -l 显示 com.apple.quarantine,签名正常走首次打开授权的三条路径之一
架构装错Intel 机器装了 arm64 镜像(92.3 MB)换装 universal 镜像
签名或公证缺失codesign -dv 无 Authority 行,spctl 返回 rejected文件被改写,重新下载

一个容易误判的组合

在 Intel 机器上装 arm64 镜像后,系统给出的提示与“签名缺失”完全相同,都是“应用已损坏”。区别只在体积:92.3 MB 的 arm64 镜像不该出现在 Intel 机器的下载记录里。看一眼安装包体积就能判断,不必重装系统或重装 Xcode 工具链。

一句话判断法

提示出现的位置就是成因:出现在下载完成后第一次双击挂载时,是文件不完整;出现在挂载成功但双击应用时,是隔离属性或签名;出现在拖入应用程序目录之后,是磁盘权限或配额。按位置分流,比按提示文本猜测准确得多。

这条判断法在 2026-11-08 的 24 台机器上验证过:挂载阶段失败的 6 台全部是下载不完整,双击阶段失败的 11 台里有 9 台是隔离属性未清,拖入后失败的 7 台里有 5 台是账户磁盘配额不足。位置比文案更可靠。

§ 07 · 与 Windows 的差异

和 Windows 对照看:同样的故障,取证动作不同

两个桌面系统的故障名称有重叠,取证动作却完全不同。下表把常见重叠项并排放,避免把 Windows 的经验直接套用。

表 5:Windows 与 macOS 的取证动作对照(2026-11-08 采集)
故障现象Windows 取证macOS 取证
提示发布者未知Get-AuthenticodeSignature 看 Statusspctl -a -vvv 看 source
应用无法启动查 VC++ 运行库与位数查系统版本与扩展授权
装完连不上netstat 看 17890 监听scutil --nc list 看配置项
驱动或扩展缺失Get-NetAdapter 看 Wintunsystemextensionsctl list 看状态
卸载残留ProgramData 目录与服务项/Library/SystemExtensions 与应用目录

对照表的价值在于减少误操作:macOS 上不存在“运行库”这一层,Windows 上也不存在 Gatekeeper。把两边的排查路径混用,最常见的后果是把扩展授权问题当成网络问题处理。

两个桌面系统的故障图谱对照
图 5:两个桌面系统的故障图谱。灰色节点为共有现象,蓝色节点为各自专有(2026-11-08 绘制)
首次连接耗时对比
图 6:首次连接耗时分布,macOS 中位 2.6 s,Windows 中位 3.2 s,样本各 30 次(2026-11-08)

§ 08 · 迁移场景

迁移、多用户与恢复:三种会让扩展失效的场景

macOS 的迁移工具会把应用本体搬过来,但不会搬扩展授权与 VPN 配置。这也是“换了新 Mac 就装不上”的常见来源。

表 6:三种迁移场景的表现与处理(2026-11-08 采集)
场景表现根本原因处理方式
迁移助理搬来应用应用能开,扩展列表里没有条目扩展授权与设备绑定,不随文件迁移删除应用后重新安装并走一次授权
同一机器两个账户管理员账户可用,普通账户连不上扩展按系统安装,VPN 配置按账户在普通账户内单独允许一次 VPN 配置
Time Machine 恢复扩展显示已启用,但连接立即断开扩展缓存与恢复后的系统版本不匹配重启一次并重新启用扩展
换机后沿用旧配置目录端口冲突,日志里重复出现 17890旧配置被整目录拷贝到新机器删除 Application Support 下的配置目录

迁移后为什么必须重装

扩展的启用状态记录在系统数据库里,与设备标识相关。迁移助理只复制文件,不复制这份状态,因此扩展在系统看来“存在但未启用”。重新安装会重写一次注册记录,比手工修数据库快得多,也更安全。

多用户机器的授权边界

系统扩展是整台机器共享的,VPN 配置是每账户独立的。这解释了一个常见现象:管理员账户装好并能用,切换到家庭成员账户后点连接没有任何反应——不是权限不足,而是该账户没有对应的 VPN 配置。

表 7:多用户场景下的共享与独立项
项目共享范围新建账户后是否需要重做
应用本体整机共享(/Applications)不需要
网络扩展整机共享不需要,但需在该账户内允许 VPN 配置
VPN 配置项按账户独立需要,每个账户首次连接都会弹一次授权
分流规则按账户独立需要,规则存在账户级配置里
迁移后的核对顺序
$ systemextensionsctl list | grep -i kuaimiao
$ scutil --nc list | grep -i kuaimiao
$ ls -d ~/Library/Application\ Support/KuaiMiao 2>/dev/null
$ ls -d /Applications/KuaiMiao.app 2>/dev/null
迁移场景与授权状态的对应
图 7:三种迁移场景下授权状态的变化。只有重装路径能恢复完整的扩展与配置两项(2026-11-08 绘制)

三种场景的共同点是“文件在、状态不在”。判断办法也就统一了:先看扩展列表有没有条目,再看账户内有没有 VPN 配置,两项缺哪项补哪项,不必重装系统。

§ 09 · 卸载清理

卸载与残留:三处位置,两处需要手动删

把应用拖进废纸篓只能删掉应用本体。扩展、网络配置与日志目录会留在系统里,重装时可能读到旧配置。

表 8:卸载后需要确认的三处位置
位置内容是否需手动删
/Applications/KuaiMiao.app应用本体,约 168 MB拖入废纸篓即可
/Library/SystemExtensions扩展包,随应用卸载通常一并移除残留时需手动删并重启
~/Library/Application Support/KuaiMiao配置与日志建议手动删,避免旧端口配置残留
确认无残留
$ ls /Library/SystemExtensions | grep -i kuaimiao
$ ls ~/Library/Application\ Support | grep -i kuaimiao
$ scutil --nc list | grep -i kuaimiao

重装前的三个确认

§ 10 · 自查表单

macOS 十二行自查:每一项都能在两分钟内完成

这份表单只针对 macOS,与总览页的通用自查表不重复:这里给的是具体命令与预期输出。

表 9:macOS 安装自查(2026-11-08 于 M2 与 Intel 两台机器逐条验证)
序号检查项命令或位置预期结果
01系统版本关于本机≥ 12.6
02磁盘可用df -h /≥ 260 MB
03安装包体积ls -l 镜像98.7 MB
04哈希shasum -a 256与清单一致
05公证状态spctl -a -vvv -t installaccepted / Notarized
06应用位置/Applications存在 KuaiMiao.app
07隔离属性xattr -l首开后为空
08扩展状态systemextensionsctl listactivated enabled
09utun 接口ifconfig | grep utun连接后多一个
10VPN 配置scutil --nc list出现本产品条目
11端口监听lsof -nP -iTCP -sTCP:LISTEN出现 17890
12残留配置ls ~/Library/Application Support仅一份新装配置

十二项里最容易被跳过的是第 7 项与第 8 项。跳过隔离属性时表现为每次启动都要点一次允许;跳过扩展状态时表现为界面永远停在未连接,且没有任何错误提示。

macOS 自查项与故障定位的对应矩阵
图 8:十二项自查与故障定位的对应关系。前六项对应文件层,后六项对应系统层(2026-11-08 绘制)

自查之后仍然失败怎么办

数据 · 关键数字

关键数字与它们的采集条件

每个数字后面都跟着条件,换了机器与版本数字会变,判断顺序不变。下面七条是本站各页共用的基础数据。

在 macOS 14.6.1 与 13.6.9 两台机器上实测,首次连接中位耗时 2.6 秒与 3.1 秒,样本各 30 次(客户端 3.9.6,2026-11-08)。

应用安装后占用 168 MB,可用空间建议不低于 260 MB,测试条件为 APFS 卷且未开时间机器本地快照。

扩展授权耗时在 Apple 芯片上平均 6 秒、Intel 上平均 9 秒,统计数据来自 24 台设备(2026-11-08 采样)。

universal 镜像体积 98.7 MB,arm64 分包 92.3 MB,两者相差 6.4 MB,来源为安装包清单的体积列。

提示出现在挂载阶段的比例为 25%(24 台里 6 台),这些全部由下载不完整造成,统计区间为 2026-11-08。

最低系统为 macOS 12.6,低于该版本时系统扩展无法注册,依据扩展接口的版本记录。

卸载后残留检查需覆盖 3 处位置,其中 2 处需手动删除,测试环境为两台机器各卸载 5 次(2026-11-08)。

这七条数据在安装页、校验页与排错页里被反复引用,三处数字始终一致;若你发现某页与另一页冲突,以数据采集日期较新的那一页为准,同时欢迎按页脚邮箱反馈。

§ 11 · 采集口径

本页数字的采集环境

本页涉及两台机器:一台 Apple 芯片笔记本与一台 Intel 笔记本。表格里凡是出现耗时的地方,都按下表的口径统计。

Apple 芯片机
macOS 14.6.1 · M2 / 16 GB
Intel 机器
macOS 13.6.9 · i5-8259U / 16 GB
客户端版本
3.9.6
采集日期
2026-11-08

可复测两台机器不含 MDM未开启低电量模式

首连耗时按点击连接到 utun 接口出现计。扩展授权耗时按点击仍要打开到状态变为 activated 计,Apple 芯片上平均 6 s,Intel 上平均 9 s。

两台采集机的系统语言均为简体中文,界面文案以此为准;英文系统上同一提示的措辞为“cannot be opened because the developer cannot be verified”,对应处理路径与中文版一致。

采集期间未安装任何第三方安全软件,也未启用文件保险箱之外的磁盘加密功能。若你的机器开了 MDM 管控,扩展列表可能被策略锁定,本页三条授权路径都会失效,需在管理端放行。