macOS配置by 快连官方团队

如何在macOS上为Terminal单独配置快连lets节点代理?

快连lets macOS终端代理设置仅代理Terminal走节点方法macOS命令行代理配置kuailian终端代理区别快连lets节点选择优化Terminal无法连接节点排查
快连lets macOS终端代理设置, 仅代理Terminal走节点方法, macOS命令行代理配置, kuailian终端代理区别, 快连lets节点选择优化, Terminal无法连接节点排查

功能定位:为什么只给 Terminal 开小灶

在 macOS 上,kuailian(Kuailian privacy tool,国内亦称 lets 节点)默认接管系统全部流量。开发、运维、科研三类人却常希望:只有 Terminal 走代理,其余 App 保持原 IP,方便审计、避免流媒体二次验证、减少公司 privacy tool 冲突。2026 年 3 月发布的 v7.3.0 把 Split-Tunneling 3.0 下放至 macOS,才让「单应用级」分流真正可用,于是有了这篇macOS 终端独享代理的合规配置笔记。

功能定位:为什么只给 Terminal 开小灶
功能定位:为什么只给 Terminal 开小灶

前置条件与版本边界

1. 系统 ≥ macOS 13 Ventura(需要 NetworkExtension 新 API)
2. 快连客户端 ≥ v7.3.0(截至当前的最新版本;旧版无「进程级分流」)
3. 拥有「可审计」节点权限(个人盲签名账号即可,企业子账号需管理员在后台打开「允许本地抓包」开关,否则后续 tcpdump 会为空)
4. 未开启系统「iCloud 专用代理」,两者同用会导致隧道闪断(官方 FAQ 已确认)。

检查当前客户端版本的最短路径

顶部菜单栏 Kuailian 图标 → 关于 → 弹窗第一行即版本号。若低于 v7.3.0,点击「检查更新」即可增量下载,无需重装。

核心思路:Split-Tunneling 3.0 的「反向分流」

Split-Tunneling 3.0 提供「仅代理列表内流量」模式,也就是反向分流:把 Terminal 相关进程写进「必须代理」白名单,其余默认直连。好处是:

  • 系统路由表不被全局篡改,企业内网、网银 U 盾等不会报错;
  • Terminal 产生的 ssh/git/curl/wget 全部走加密隧道,CI 日志里出现的是出口 IP,而非真实办公网段,满足合规脱敏;
  • 快连自带 RAM-Only 无日志,通过瑞士 Proton Labs 2025 Q4 审计,留存风险低于注册地五眼国家竞品,可放心写入审计报告。

操作路径(桌面端)

步骤 1:建立「Terminal 专用」场景模板

  1. 打开 Kuailian 主界面 → 右下角「设置」⚙️ → 进入「Split-Tunneling 3.0」
  2. 模式切换为「仅代理列表内」
  3. 点击「添加进程」→ 在弹出 Finder 窗口中按快捷键 ⇧⌘G → 输入 /System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal → 选定可执行文件
  4. 重复添加自己常用的其他终端,如 iTerm2、Alacritty、Warp(路径同理,均在 /Applications/xxx.app/Contents/MacOS/xxx
  5. 右上角「保存为模板」→ 命名「Terminal-Only」→ 勾选「设为默认」

步骤 2:把「AI 智能选线 2.0」调成「手动固定」

经验性观察:AI 选线每 90 秒根据丢包重新握手,会导致长连接(ssh、mosh)偶发冻结。做法:在「节点」页搜索目标城市 → 点击右侧「锁定」图标 → 出现绿色图钉即固定。此时 AI 仅做备用故障切换,不会频繁重连。

步骤 3:生成可审计的「出口 IP 清单」

在 Terminal 执行:

while :; do curl -s https://ipinfo.io/ip; sleep 300; done | tee ~/audit/ip.log

该命令每 5 分钟记录一次出口 IP,方便后续与快连后台「会话日志」交叉比对,证明无日志声明是否成立(经验性观察:后台仅显示「已连接/已断开」时间戳,无目标地址)。

验证与观测方法

1. 实时路由验证

打开两个窗口: A 窗口 ping 1.1.1.1,B 窗口 sudo tcpdump -i utun6 -n host 1.1.1.1(utun6 为 Kuailian 虚拟网卡序号,可能因系统差异为 utun5/7)。若只有 Terminal 进程产生的 ICMP 被 utun6 捕获,而 Safari 同行未被记录,说明反向分流生效。

2. 域名分流验证

在「Split-Tunneling」同一页可追加「域名维度」白名单。示例:把 *.github.com 写进列表,Terminal 内 git clone 即走隧道,而系统浏览器访问 github.com 仍直连。注意:域名维度优先级高于进程,若两者冲突以域名为准。

2. 域名分流验证
2. 域名分流验证

常见失败分支与回退

现象:关闭 Kuailian 后,Terminal 无法联网

原因:反向分流模式下,Kuailian 会在 utun6 上创建默认路由 0.0.0.0/1;异常退出时未还原。

处置:sudo route -n flush && sudo route -n add default 192.168.x.1(填本地网关)即可手动救回;v7.3.0 已内置「异常退出自动还原」守护进程,若仍失效,请在「设置→高级→重置网络」一键回滚。

提示:macOS 15.x 升级后隧道自动断开

Apple 在 15.x 把「iCloud 专用代理」与第三方 NetworkExtension 优先级硬编码为互斥。升级后第一次重启会强制卸载所有扩展。

解法:系统设置→Apple ID→iCloud→专用代理→关闭,再执行 sudo kmutil unload -b com.quickconnect.macos.driver && sudo kmutil load -b com.quickconnect.macos.driver,重新加载扩展即可。

不适用场景清单

  • 需要全局变更 IP 的流媒体解锁(如 Netflix 4K)—— 请切回「全局代理」场景模板;
  • 高频并行下载 (>500 MB/s) —— 单进程限速在 200 MB/s 左右,经验性观察:utun6 驱动目前仅跑在单核,CPU 占用可窥见 100 %;
  • 合规要求「全流量留存 180 天」的金融机构 —— 虽然 Kuailian 通过无日志审计,但本地仍需自行留存,反向分流会导致「部分流量逃逸」,不满足全量镜像。

最佳实践 6 条(检查表)

  1. 模板命名带版本号,如「Terminal-Only-v730」,方便半年后回溯;
  2. 锁定节点而非城市,减少 AI 重连;
  3. 把公司 *.corp.com 写进「域名例外」,防止内网 GitLab 被代理;
  4. 长任务(make world)前先在 screen/tmux 内跑 while+curl 日志,断线可感知;
  5. 每月手动导出「会话日志」CSV,与本地 ip.log 交叉比对,验证无日志声明;
  6. 升级系统小版本前,先在测试机重复一遍「kmutil 卸载/加载」脚本,确认无蓝屏再推至生产。

FAQ(使用 FAQPage Schema)

Split-Tunneling 3.0 为何找不到「进程」入口?

客户端版本低于 v7.3.0,或系统低于 macOS 13。升级后仍不可见,请在「设置→实验室」打开「进程级分流」开关。

锁定节点后延迟反而升高?

经验性观察:晚高峰骨干拥塞时,AI 选线会把您切到二线 ISP 出口。手动锁定节点后失去弹性,建议仅对延迟 < 80 ms 且丢包 < 1 % 的节点使用锁定。

公司同时要求 Cisco AnyConnect,能否共存?

可以。把 AnyConnect 的进程「ACAgent」写进 Split-Tunneling「例外列表」,让它走本地物理网卡;Terminal 仍走 Kuailian,互不干扰。若顺序启动后 AnyConnect 闪断,请关闭 Kuailian 的「DNS 覆盖」选项。

无日志审计报告多久更新一次?

官方承诺每年一次第三方审计,最近公开报告为 2025 Q4。新版本发布不强制伴随新报告,若需向监管提交,可发邮件至 [email protected] 获取「审计报告更新通知列表」。

收尾:下一步行动

完成上述 3 步后,您的 Terminal 已独享 Kuailian 加密隧道,系统其余流量保持原 IP。记得每月跑一次「交叉比对」验证无日志,并在小版本升级前先在测试机确认驱动兼容性。若后续需要把 Homebrew、Docker Desktop 也纳入代理,只需在同一模板继续追加进程即可——所有取舍与边界,都已在本篇写明。