系统代理怎么设置?和 TUN 模式的区别与适用场景
系统代理是操作系统里的一项网络设置,告诉应用先把请求交给某个本机代理地址和端口,应用自愿遵守。浏览器和多数桌面软件会遵守,命令行和部分软件不会。需要接管全部流量时再考虑 TUN 模式。
系统代理,是操作系统里的一项网络设置:它告诉应用“上网请先把请求交给这个本机地址和端口”。客户端里那个“系统代理”开关,做的就是替你写入和清除这项设置。它的特点是应用自愿遵守:浏览器和多数桌面软件会照做,命令行工具、游戏和一些自带网络栈的软件不会。搞清这一点,你就知道什么时候够用,什么时候该换 TUN 模式。
系统代理是什么:一条应用自愿遵守的设置
把上网想象成寄快递。没有代理时,应用自己把包裹送到目的地。设了系统代理,等于在操作系统里贴了一张通知:“寄件请先交给本机的某个收件点。”应用如果读了这张通知,就把请求交给收件点,由代理程序决定后面怎么走;如果没读,它还是自己直接寄。
所以系统代理有两个性质:
- 它不是强制的。 系统只负责保存这项设置,真正读取并遵守的是应用本身。
- 它主要针对 HTTP、HTTPS 这类网页流量。 浏览器、聊天软件的网页部分、应用商店这类程序大多会遵守。
关于代理这件事本身,包括 HTTP 代理如何转发请求、如何用隧道承载加密流量,可以读 Mozilla MDN 的代理与隧道说明。词典里也有简短的解释:系统代理。
客户端里的“系统代理”开关到底做了什么
以 Clash 系客户端为例,一次完整的流程是这样的:
- 内核在本机监听一个端口,等待应用把请求交过来。
- 你打开“系统代理”开关,客户端把“本机地址 + 这个端口”写进操作系统的代理设置。
- 浏览器等应用读取设置,把请求发到这个端口。
- 内核收到请求后,按当前模式和规则决定走直连还是某个节点。
- 你关闭开关或正常退出客户端,客户端把系统里的代理设置清除,恢复原状。
这也解释了两个常见现象。一是开关在客户端里打开了,但某个软件没反应,因为那个软件没读设置。二是客户端异常退出后,第 5 步没执行,设置残留,指向一个没人监听的端口,于是出现“关掉梯子后上不了网”,修法见关掉梯子后上不了网。
系统代理设置怎么手动做:Windows、macOS 和手机
一般用客户端的开关就行,不需要手动。但手动设置能帮你理解开关背后到底改了什么,也方便在开关失灵时自查。下表只描述入口,菜单名称随系统版本变化,以你的系统为准。
| 系统 | 入口位置 | 要填的内容 | 备注 |
|---|---|---|---|
| Windows | 设置里的网络与互联网,进入代理页面,找到“手动设置代理” | 地址填本机回环地址,端口填客户端显示的端口,可填写不走代理的例外列表 | 还有“自动检测”和“使用设置脚本”两项,用于自动代理配置,普通场景不需要 |
| macOS | 系统设置里的网络,选中当前正在使用的网络,进入详细信息,找到代理 | 可分别设置网页代理、安全网页代理、SOCKS 代理,每项填本机地址和端口 | 每个网络连接各有一份代理设置,换了网络可能要重设 |
| iPhone | 无线局域网里点开当前网络的详情,找到配置代理 | 选“手动”,填代理服务器地址和端口 | 只对这个无线网络生效,蜂窝网络不适用 |
| Android | 无线网络的详情或修改网络,找到代理 | 选“手动”,填主机名和端口 | 同样只对这个无线网络生效,手机上多数客户端改用 VPN 接口接管 |
手机上的无线网络代理,更常见的用途是让手机连到局域网里另一台电脑的代理,做法见局域网共享代理。
例外列表是一串“不走代理”的地址,通常包括本机和内网地址。下面是一个常见的写法示意,具体格式以你系统的说明为准:
localhost;127.*;10.*;172.16.*;192.168.*
代理端口怎么看,HTTP 代理和 SOCKS 有什么区别
代理端口是客户端内核在本机监听的端口号。系统代理里填的“地址”是本机,“端口”就是它。端口值由客户端决定,不同软件的默认值不同,也可以改,所以本文一律用占位,请以你的客户端显示的为准。
在 Mihomo 系配置里,和端口相关的字段常见有三个,具体含义以官方文档为准:
port: 端口号 # HTTP 代理端口
socks-port: 端口号 # SOCKS5 代理端口
mixed-port: 端口号 # 同一个端口同时支持 HTTP 和 SOCKS5
三种写法怎么选:
| 类型 | 说明 | 适合 |
|---|---|---|
| HTTP 代理 | 理解 HTTP 请求,对 HTTPS 通过隧道转发 | 浏览器和绝大多数支持代理的软件 |
| SOCKS 代理 | 更通用的转发协议,不关心上层是什么协议 | 少数只支持 SOCKS 的软件,或需要转发非网页流量的场景 |
| 混合端口 | 一个端口两种协议都认 | 日常首选,客户端的系统代理开关通常用它 |
选混合端口的好处是只记一个端口,软件要 HTTP 还是 SOCKS 都能用。如果端口被别的程序占用导致客户端启动失败,见Clash 端口被占用怎么办。
哪些流量不会遵守系统代理
系统代理的覆盖面是有限的,常见的“管不到”有这几类:
| 类型 | 为什么不走 | 怎么办 |
|---|---|---|
| 命令行工具,如 git、npm、curl | 通常只读环境变量或自己的配置文件,不读系统设置 | 设环境变量或工具自己的代理,或者开 TUN,见终端怎么走代理 |
| 自带网络栈的软件 | 绕开系统,直接建立连接 | 看软件自己有没有代理选项,没有就用 TUN |
| 游戏和语音通话 | 常用 UDP,系统代理的设置主要面向 TCP 类的网页流量 | 用 TUN,或使用游戏自己提供的网络方案 |
| Windows 的部分商店类应用 | 系统对它们访问本机端口有额外限制 | 以客户端文档里关于本机回环的说明为准 |
| 被设置了例外的地址 | 例外列表里的地址主动不走代理 | 检查例外列表有没有写得太宽 |
遇到“某个软件就是不走代理”,先别怀疑节点,对照这张表确认它属于哪类。完整的排查流程见某个 App 不走代理怎么办。
系统代理和 TUN 模式怎么选
两者的区别,在于接管的层次不同:系统代理靠应用“自觉”,TUN 模式则是在网络层创建一块虚拟网卡,把经过的流量都接住,不管应用认不认。
| 对比项 | 系统代理 | TUN 模式 |
|---|---|---|
| 接管方式 | 写入系统代理设置,应用自愿遵守 | 创建虚拟网卡,在网络层接管 |
| 覆盖的流量 | 主要是网页类 TCP 流量 | 理论上包括 UDP 和不认代理的程序 |
| 需要的权限 | 一般不需要管理员权限 | 通常需要更高权限或服务模式 |
| 命令行、游戏 | 一般不覆盖 | 一般可以覆盖 |
| 与其他网络工具冲突 | 较少 | 与其他 VPN 或虚拟网卡类软件更容易冲突 |
| 关闭后的残留风险 | 异常退出可能残留代理设置 | 异常退出可能残留路由或网卡,需要重启客户端 |
按你的场景来选:
- 只用浏览器、常见软件上网:系统代理,简单、干扰小。
- 要让命令行、游戏、语音或某个不认代理的软件走代理:TUN 模式。
- 不确定:先开系统代理,遇到具体的“管不到”,再对照上面的表决定要不要升级到 TUN。
- 两个同时开:可以,但会出现流量被处理两次的情况,排查时容易乱,通常二选一。
怎么确认系统代理已经生效
不要只看客户端里的开关是亮的,按下面几步自己核对:
- 看系统里的代理设置。 回到上一节表格里的入口,确认手动代理处于开启状态,地址是本机,端口和客户端显示的一致。
- 看客户端的连接记录。 用浏览器打开一个网页,客户端的连接页面应该出现这个网页的新连接。没有连接,说明请求根本没到内核。
- 检查浏览器是否遵守系统设置。 多数浏览器默认遵守,个别浏览器可以单独设置代理,要确认它选的是“使用系统代理设置”一类的选项。
- 用命令行看一眼(可选)。 macOS 上可以运行
scutil --proxy查看当前的系统代理配置。Windows 上netsh winhttp show proxy显示的是 WinHTTP 层的代理,不一定等同于设置页里的手动代理,只能作旁证,命令的含义见 Microsoft Learn 的说明。 - 关闭后确认恢复。 关掉开关或退出客户端,再回到系统设置里确认手动代理已关闭。没关就手动关掉,避免出现上不了网。
如果前两步成立、但网页还是打不开,问题就不在系统代理这一层,应该去看节点和规则。
下一步:先用开关,再按需升级
- 日常使用,直接用客户端里的开关,并按上面的方法核对一次。
- 命令行、游戏或某个软件不走代理,先读某个 App 不走代理怎么办,要升级的话看 TUN 模式是什么。
- 开发者需要让 git、npm、Docker 走代理,见终端怎么走代理。
- 还没选好客户端或订阅,先到梯子推荐筛选候选,再去下载中心挑一个适合你系统的客户端。
这篇没有覆盖的
- 各系统和各客户端里设置页的菜单名称会随版本变化,操作路径以你当前系统和客户端界面为准。
- 本文的端口、地址均为占位示例,请以你的客户端实际显示的端口为准。
- 本文不提供测速结果,也不判断任何节点或机场的表现。
选梯子推荐榜目前排在前面的机场
下面是推荐榜的前几名。名次不是测速名次;价格与线路按资料原样列出,付款前到官网结账页面再核对一遍。
| 推荐名次 | 机场 | 推荐档 | 资料里的价格 | 线路 |
|---|---|---|---|---|
| 1 | 无忧链接 | 首推 | 合¥6/月 · 40GB/月(按年付费) | IPLC |
| 2 | 暮光加速 | 重点推荐 | 年付¥109(约¥9.1/月) · 70GB(按年付费) | IEPL |
| 3 | 微风网络 | 重点推荐 | ¥27/月 · 200GB(按月付费) | IEPL |
| 4 | 飞猫云 | 重点推荐 | 约¥7/月起(年付¥84) · 50GB(按年付费) | IPLC |
| 5 | Firefly | 重点推荐 | 约¥8/月起 · 60GB(按年付费) | IPLC |
| 6 | 灵动云 | 优先考虑 | 年付¥99(约¥8.3/月) · 70GB(按年付费) | IEPL |
| 7 | 隐形人 | 优先考虑 | 年付¥109(约¥9.08/月) · 80GB(按年付费) | 纯专线 |
| 8 | 梯子云 | 优先考虑 | 年付¥89(约¥7.4/月) · 60GB(按年付费) | IEPL |
本文引用的官方来源
- Mozilla MDN:HTTP 代理与隧道(developer.mozilla.org)
- Microsoft Learn:Windows 代理设置(learn.microsoft.com)
以上链接均为官方页面,选梯子在 2026-10-08 核对过;个别网站会拦截自动化访问,用浏览器直接打开即可。平台规则可能随时调整,以官方页面当前内容为准。
系统代理常见问题
系统代理和 TUN 模式哪个更好?
没有哪个绝对更好,要看场景。只用浏览器和常见桌面软件,系统代理够用,设置简单、对其他软件干扰小。需要让命令行、游戏或不认代理的软件也走代理,再考虑 TUN 模式,但它需要更高权限,也更容易与其他网络工具冲突。
打开系统代理后,为什么命令行和某些软件还是不走代理?
因为系统代理只是一项设置,由应用自己决定读不读。命令行工具通常只读环境变量,有些软件自带网络栈,直接无视系统设置,游戏和语音类软件常用 UDP,也不会走系统代理。这类流量需要单独设置,或者改用 TUN 模式。
代理端口应该填多少?
以你的客户端显示的为准。客户端会在本机开一个监听端口,系统代理填的就是本机地址加这个端口。不同客户端的默认值不一样,也可以在设置里修改。如果端口被别的程序占用,客户端会提示,需要换一个未被占用的端口。
关掉客户端以后上不了网,是系统代理没关吗?
很可能是。客户端异常退出时,系统里的代理设置可能残留,仍指向一个已经没人监听的本机端口,浏览器就会报连接失败。手动把系统代理的开关关掉,或者重新打开客户端再正常退出,一般就能恢复。
HTTP 代理和 SOCKS 代理该选哪个?
日常用系统代理时,多数客户端提供一个同时支持两种协议的混合端口,填它即可,不必纠结。手动设置时,浏览器类软件填 HTTP 代理最通用;个别软件只支持 SOCKS,就按它的要求填 SOCKS 地址和端口。
接着读
- 使用教程 · TUN 模式是什么?什么时候该开、怎么开
- 术语 · TUN 模式是什么意思
- 故障排查 · 某个 App 不走代理怎么办?系统代理管不到的流量
- 故障排查 · 关掉梯子后上不了网?系统代理残留的修复方法
- 使用教程 · 终端怎么走代理?git、npm、Docker 的代理设置
- 使用教程 · 局域网共享代理:让电视、游戏机用上电脑的梯子
- 使用教程 · Clash Verge Rev Windows 教程:订阅与系统代理
- 故障排查 · Claude 用不了怎么办?地区限制与登录问题排查
- 故障排查 · TUN 模式开不了怎么办?权限、驱动与冲突排查