跳到正文

游民营地

主题: 科技生活

机场客户端太难用?一招解锁用回熟悉代理工具🔥

机场只提供自家客户端、不给订阅链接时,如何让 Surge 接管 macOS 流量并转发到本地代理?梳理配置思路、避免代理环路的规则与验证步骤。

作者 一只游民Developer and YouTuber

发布于 更新于 约 1 分钟读完

机场只让用自家客户端,浏览器能访问目标网站,Homebrew 的网络请求却失败,Discord 上的机器人也掉线?我在 Mac 上碰到的就是这个情况:客户端开放了本地代理,却没能可靠地接住那些不按系统网页代理设置走的应用。最后我让 Surge 管流量入口和分流,机场客户端只当本地上游出口,把两边擅长的事分开。前提是客户端确实提供可连接的 HTTP 或 SOCKS5 本地代理;若服务商给了可直接导入 Surge 的节点,没必要绕这一圈。

先确认问题是不是出在客户端的接管范围

我用的服务商不再提供普通节点订阅,必须保留它的客户端。客户端连接后浏览器可用,但终端与 Discord 相关连接失败;它虽有 TUN 开关,在那台 Mac 上一开反倒断网。这些只是这款客户端在那次环境里的表现,不是对所有服务商客户端的判断。

先保持机场客户端单独运行,记录浏览器、一个终端网络请求和你实际使用的 App 的结果。然后到 macOS 网络设置 → 当前连接详情 → 代理,核对客户端启用后写入的本地代理地址、协议与端口。我的机器当时显示了一个本地端口,换电脑、客户端或版本就可能不同,别照抄任何截图里的数字。

效果先看:Surge 接管入口,客户端继续提供线路

在已检查好上游协议和规则的配置下,我启用了 Surge 的设置为系统代理和增强模式;回到 macOS 代理设置,能看到系统代理入口已经换成 Surge。随后 Discord 连接恢复,Homebrew 的网络请求也能执行。这比单纯“浏览器能打开”多验证了两类原本出问题的应用,但不能据此宣称所有应用、DNS 和 IPv6 都自动正确。

整条路是这样走的:

应用请求 → Surge 接管 → 命中分流规则
                        ├─ DIRECT → 目标服务
                        └─ 上游代理 → 客户端本地端口 → 服务商线路

Surge 的增强模式负责让更多流量进入规则链,不负责凭空提供节点;真正的出口仍是已经连接的机场客户端。下面把这份配置拆开,你就知道为什么两款工具一起开时没有互相绕晕。

配置核心:本地上游、策略组和防环路规则

我在示例配置里定义了一个指向本机代理端口的上游。演示使用的是 SOCKS5;如果你的客户端只提供 HTTP,必须按实际协议改写并先确认另一程序能连接该地址。配置会变化,下载前自己查看端口、远程规则、脚本与 DNS,不要把旧文件直接当现行安全默认值。

上游代理被放进策略组,后面的规则决定哪些请求直连、哪些转发给它。最重要的一条规则放在宽泛规则之前:机场客户端自身的进程走 DIRECT。否则客户端为连接服务商发出的请求又被 Surge 转回同一个客户端,就形成代理环路。我从 Surge 请求查看器找到实际进程名再填写,从 07:18 可对照进程识别与规则位置;界面自动生成的绝对路径也许带版本号或安装目录,升级后可能失效,选用进程名还是路径要结合当前版本测试命中结果。

这套转发链路还要求Surge 保持规则分流模式,不开不区分请求的全局代理;全局模式若绕过上面的直连规则,环路又会回来。想让某个目标网站走代理,明确给它加一条分流规则即可。上游客户端自身可以按服务商的要求保持连接,让 Surge 已筛选的请求通过其本地端口出去;两边的“全局”开关不是一回事。

下载、导入和逐项验收

  1. 备份 Surge 原配置,从上面的仓库查看并下载配置,在本机把上游协议、地址、端口与客户端进程直连规则改成自己核对过的值。
  2. 在 Surge 主窗口 → 更多 → 配置 → 导入 中选择文件,双击并应用;启动客户端后再开启 Surge 的系统代理与增强模式。若一开启就全面断网,先停用增强模式、切回原配置,再检查端口是否在监听以及直连规则是否抢在转发规则前面命中。
  3. 重做“客户端单独运行”的那组测试:浏览器、终端、目标应用分别发起新请求;从请求查看器核对客户端进程直连、目标请求命中上游策略,而不是只凭 VPN 图标。

如果服务商客户端更新后改了端口或进程名,这份配置也得跟着核对。方案解决的是“被迫保留上游客户端,却想用 Surge 的增强模式和分流”;它不保证匿名性,也不能替你检查解析链路。还不熟悉分流规则,可从图形界面分流开始。你若卡在“浏览器可用、某个 App 还是不通”,欢迎在评论里说说本地代理协议、命中的规则和应用现象;带凭证的配置与服务商账号请遮好。

评论

评论由 GitHub Discussions 提供。发表评论、回复或添加反应需要使用 GitHub 登录。

正在加载评论服务…

继续阅读本篇引用的笔记,补上更多背景与线索。

循着文中的引用,把相关的思路再展开一点。