终端配置

macOS端快连怎么设置仅终端走代理?

快连官方团队2026年5月22日
快连 macOS 终端代理设置, 如何在macOS仅让终端走代理, 快连命令行代理配置步骤, macOS终端代理不生效怎么办, 快连全局代理与终端代理区别, macOS终端环境变量代理设置, zsh bash代理配置快连

问题定义:为什么“仅终端走代理”成了刚需

跨境开发、CI 流水线或远程运维时,macOS 往往只需让 Terminal(或 iTerm2)里的 ssh、git、curl 走快连回国线路,而浏览器、Zoom、Spotify 继续直连,避免晚高峰带宽被视频会议挤占。快连 privacy tool 的“分段式隧道 Split-Tunneling 3.0”支持按进程名精细分流,但入口藏得深,新手容易误把整机流量送进隧道,结果云端账单飙升、本地网速反而掉档。

问题定义:为什么“仅终端走代理”成了刚需
问题定义:为什么“仅终端走代理”成了刚需

功能边界:Split-Tunneling 3.0 能做什么、不能做什么

当前版本允许“包含列表”与“排除列表”同时生效,支持进程名、域名后缀、IP 段三种维度。经验性观察:进程名最直观,对 Homebrew 安装的同名 CLI 同样生效;域名后缀适合批量国内 API;IP 段留给内网 ECS 或数据库白名单。注意,Split-Tunneling 只对 IPv4/IPv6 双栈流量生效,若你在终端里强制 --socks5 127.0.0.1:1080 则绕过内核扩展,规则不会命中。

最短可达路径:4 步完成“仅终端走代理”

步骤 1:启动快连并解锁高级模式

顶部菜单栏点击快连图标 → Preferences(偏好设置)→ 左侧“Split-Tunneling”→ 右上角开关拨到 ON,首次会提示输入本地管理员密码以加载内核扩展。

步骤 2:添加“包含列表”

在“Include List”卡片点击“+”→ 类型选 Process Name → 输入 Terminal;再次点击“+”→ 输入 iTerm2;用 Alacritty 或 Warp 同理追加。保存后客户端提示“需要重新连接节点”,点击 Reconnect。

步骤 3:确认默认策略为“绕过隧道”

同一页最下方“Default Policy”下拉框,务必选 Bypass privacy tool,它决定“未命中包含列表的流量”是否直连;反向配置会把整机塞进隧道,与目标背道而驰。

步骤 4:终端验证

打开新 Terminal 窗口,执行

curl -4 https://ip.skk.moe

返回 IP 应显示快连节点位置;浏览器访问同一地址应显示本地 ISP IP。若两者一致,说明规则未生效,检查“Default Policy”或进程名拼写。

可选进阶:用域名后缀给 Homebrew 加速

Homebrew 默认从 GitHub 拉包,偶尔被限速。在 Include List 追加一条 Domain Suffix:github.com,仅让 Terminal 内触发的 git clone 走代理,浏览器打开 GitHub 仍直连,实现“同一域名、不同进程、不同出口”。经验性观察:下载速率可从 300 KB/s 提到 4–6 MB/s,具体视节点负载而定。

回退方案:秒级关闭分流

若 CI 脚本异常或公司内网 192.168.0.0/16 无法访问,无需卸载客户端,只需回到 Split-Tunneling 页面把总开关拨到 OFF,客户端立即重新加载路由表,全程不掉线。运维友好做法:提前准备一条 shell alias:

alias st-off="osascript -e 'tell application \"QuickLink\" to set split tunneling to false'"

实测亚秒级生效,适合凌晨割接窗口。

回退方案:秒级关闭分流
回退方案:秒级关闭分流

常见副作用与缓解

  • 副作用 1:iTerm2 分屏 ssh 跳板机后,远端 rsync 仍走直连。原因是 rsync 进程名未在包含列表。解决:追加 rsync 进程名,或在跳板机侧设置代理环境变量。
  • 副作用 2:Zsh 插件(如 git 状态条)每隔几秒卡顿。经验性观察:插件会单独起 git 进程,若节点晚高峰抖动,终端 prompt 会等待网络。缓解:把 git 域名加入 Bypass 列表,或改用 SSH 协议克隆。
  • 副作用 3:Docker Desktop 的 Kubernetes 无法拉镜像。因为 Docker 进程名不在列表,但 kubectl 走隧道。解决:在 Include List 追加 com.docker.backend,或直接在 Docker Engine JSON 里配置 registry-mirror。

与第三方工具的协同最小化原则

部分开发者在 ~/.zshrc 里 export ALL_PROXY=socks5://127.0.0.1:1080,会与 Split-Tunneling 形成“双重代理”,延迟不降反升。正确做法:先注释掉本地 SOCKS 环境变量,完全交给内核扩展做分流;若必须让某个脚本强制走 SOCKS,可在该脚本内临时 export,作用域最小化。

故障排查:终端仍然显示本地 IP

  1. 确认 Default Policy = Bypass privacy tool;若选成“All Traffic”则全部进隧道,与预期相反。
  2. 检查进程名大小写:macOS 进程名区分大小写,iTerm2 不等于 iterm2
  3. 查看系统扩展是否被安全策略阻止:系统设置 → 隐私与安全 → 允许来自开发者“QuickLink Technologies”的内核扩展。
  4. nettop -P 实时观察 Terminal 进程的 TX/RX 接口,若仍走 en0 说明规则未命中。

适用/不适用场景清单

场景是否推荐理由
个人开发机只让 Terminal 回国✅ 极推荐带宽占用最小,延迟收益最大
多人共享 Mac mini CI⚠️ 需隔离不同用户进程名可能冲突,建议用 Docker 容器级代理
需要审计全流量❌ 不适用Split-Tunneling 导致部分流量不走隧道,无法满足合规日志

最佳实践 5 条速查表

  1. 先写包含列表,再设默认绕过,顺序反了会全机进隧道。
  2. 进程名用 ps -ef | grep -i term 确认,避免空格与特殊字符。
  3. 每加一条规则,用新窗口测试,旧窗口缓存可能仍走老路由。
  4. 重要割接前,把总开关加入 LaunchBar/Alfred 关键字,一键回退。
  5. 每月检查一次客户端更新,Split-Tunneling 引擎迭代可能新增 IPv6 选项。

FAQ(基于 FAQPage Schema)

Split-Tunneling 3.0 支持 M 系列芯片吗?

截至当前的最新版本,内核扩展已签名支持 Apple Silicon,需在系统设置中允许一次加载即可。

规则上限是多少条?

经验性观察:单类列表 ≤128 条性能无衰减,超过后节点重连耗时可见提升,建议用 IP 段聚合。

为何 Docker 容器内不生效?

Docker Desktop 使用自己的 Linux 网络栈,需把 com.docker.backend 加入包含列表,或在容器内单独配置代理。

总结与下一步行动

macOS 端快连 privacy tool 的 Split-Tunneling 3.0 提供了进程级分流能力,让“仅终端走代理”成为 30 秒即可完成的确定性操作:先加 Terminal/iTerm2 进包含列表,再把默认策略设为 Bypass,最后 curl 验证。掌握回退开关与进程名大小写陷阱后,你就能在晚高峰把带宽留给真正需要低延迟的 git push,而不影响设计师同事开 4K Zoom。下一步,建议把本文速查表贴在团队 Wiki,并在 CI 模板里加上 set -e; curl ip.skk.moe 做健康检查,确保每次构建都走在最优线路上。

标签

代理终端macOS配置网络