浏览器能用、软件不走代理:系统代理的适用范围
浏览器能用而某个软件不走代理,是因为系统代理只是一项“建议”,每个程序自己决定读不读:有的读系统设置,有的读环境变量,有的只认软件内设置,有的完全不理会。本文给出判断方法、各类软件的代理来源对照,以及软件内设置、环境变量与 TUN 三种解决路径。
系统代理是“建议”,不是“强制”
浏览器能用而某个软件不走代理,根本原因是系统代理只是操作系统里的一项设置,每个程序自己决定是否读取:浏览器通常读取,命令行工具常读环境变量,部分软件只认自己的设置界面,游戏和自带网络组件的程序则可能完全不理会。 解决方法因此有三条路径:在软件内单独设置代理、用环境变量告诉它代理在哪、或者开启 TUN 在网络层统一接管。
系统代理与 TUN 两种接管方式在 Windows 上的原理差异,已在 Windows 系统代理与 TUN 模式有什么区别 中讲过。本文换个角度:面对一个具体的“不走代理”的软件,如何判断它读的是什么、该选哪条路径。
先确认:它到底有没有经过客户端
不要凭感觉判断。最可靠的方法是看客户端的连接日志:
- 打开代理客户端的连接或日志页面,清空现有记录;
- 在出问题的软件里执行一次联网操作,例如刷新、登录或检查更新;
- 回到日志,查找与该软件相关的连接。
| 日志中的情况 | 说明 | 方向 |
|---|---|---|
| 有记录,出口是代理分组 | 已经走了代理 | 问题不在接管层,转查规则或节点 |
| 有记录,出口是直连 | 进入了客户端,但规则判为直连 | 调整规则,见规则写法相关文章 |
| 完全没有记录 | 软件没有读取当前的代理设置 | 按下文判断它读取什么 |
第二种情况经常被误判为“不走代理”,其实是分流问题,处理方法见 开了代理但某个网站打不开。
各类软件的代理来源对照
不同类型的软件,读取代理设置的来源差异很大。以下是常见做法,具体以软件文档为准:
| 软件类型 | 通常读取的来源 | 系统代理下的表现 |
|---|---|---|
| 主流浏览器 | 系统代理设置 | 正常 |
| 基于网页技术的桌面应用 | 多数跟随系统代理 | 通常正常,个别需要启动参数 |
| 命令行工具、包管理器 | 环境变量或自身配置文件 | 通常不走代理 |
| 开发工具与编辑器插件 | 自身设置,部分读环境变量 | 视工具而定 |
| 游戏与语音软件 | 自带网络组件,常使用 UDP | 基本不走代理 |
| 系统服务与后台更新程序 | 另一套系统级代理设置 | 常不走代理 |
| 应用商店安装的隔离应用 | 系统代理,但可能被禁止访问本机端口 | 可能失败 |
Windows 上容易忽略的“第二套代理设置”
Windows 里其实有两套相关设置:一套是“设置”应用中可见的用户代理设置,浏览器和多数桌面软件读它;另一套是面向系统服务的代理设置,部分后台服务和更新程序读它。客户端打开系统代理时,通常只修改第一套。可以在命令提示符中用 netsh winhttp show proxy 查看第二套的当前状态。是否需要同步修改,取决于具体软件,一般用户不建议随意改动系统级设置。
macOS 上查看当前代理
在终端执行 scutil --proxy,可以看到系统当前生效的代理配置。若这里显示代理已开启,而某个软件仍不走代理,基本可以确定它没有读取系统设置。
三条解决路径怎么选
需要代理的软件有几个?
├─ 一两个,且软件内有代理设置项
│ → 路径一:在软件里填写 127.0.0.1 与客户端的本地端口
├─ 命令行工具、开发环境
│ → 路径二:设置环境变量,见终端代理设置的专文
└─ 很多,或者是游戏、语音等需要 UDP 的软件
→ 路径三:开启 TUN 模式
路径一:软件内设置。 在软件的网络或代理设置里填入本机地址和客户端的本地端口。注意协议类型:有的软件只支持 HTTP 代理,有的只支持 SOCKS5,填错类型会导致连接失败。客户端的混合端口通常同时接受两种。
路径二:环境变量。 适合终端和开发工具,具体写法见 终端与开发工具不走代理怎么办。
路径三:TUN 模式。 一次覆盖几乎所有程序,包括 UDP 流量。代价是需要管理员权限或系统网络扩展授权,也更容易与其他虚拟网卡类软件冲突;开启后断网的排查见 开启 TUN 模式后断网。
找到客户端的本地端口与协议类型
路径一和路径二都需要知道客户端在本机监听的端口。通常可以在客户端的设置页找到,名称多为“混合端口”“HTTP 端口”“SOCKS 端口”。几点经验:
- 混合端口同时接受 HTTP 与 SOCKS5,填写时最省心;
- 若软件只提供“HTTP 代理”选项,就填 HTTP 或混合端口;只提供“SOCKS 代理”选项,就填 SOCKS 或混合端口;
- 端口号可以在客户端里修改,改了之后,所有手动填写过该端口的软件都要同步修改,否则会出现“昨天还能用、今天连不上”的情况;
- 软件提示“代理连接被拒绝”,多半是端口填错或客户端没有在运行。
有些软件在代理不可用时会悄悄回退为直连,表面看能用,实际并没有经过代理。因此填写完毕后,仍应回到连接日志确认一次。
手机上的同类问题
手机客户端多以 VPN 方式接管,原理上接近 TUN,“个别应用不走代理”的情况较少。若出现,更可能是开启了分应用代理而该应用不在名单中,或者应用自身检测到代理后改用了其他网络路径。安卓分应用设置见 安卓分应用代理怎么设置。
几个提醒
- 不要为了让某个软件走代理而同时开系统代理、TUN 和浏览器代理扩展,层层叠加会让排查变得困难;
- 公司电脑上的软件可能受到管理策略控制,修改其网络设置前请先确认所在单位的规定;
- 填写本地端口时,确认客户端设置里“允许局域网连接”等选项的状态,避免端口意外暴露给同一网络中的其他设备。
客户端本身的选择与安装,回到 桌面端客户端:Windows 与 macOS 查看;其他排错主题见 规则分流与故障排查专题页。请在遵守所在地法律法规与软件服务条款的前提下使用代理。
常见问题
为什么开了系统代理,有些软件还是不走代理?
系统代理只是操作系统中的一项设置,程序可以读取,也可以忽略。浏览器通常读取,而命令行工具、游戏、部分独立软件和系统服务读取的是其他来源或完全不读取,所以它们的流量不会进入代理客户端。
怎么判断一个软件有没有走代理?
打开代理客户端的连接日志,清空记录后在该软件里执行一次联网操作。日志里出现了对应的连接,说明它走了代理;完全没有记录,说明它没有读取当前的代理设置。
遇到不走代理的软件,直接开 TUN 就行了吗?
TUN 能覆盖几乎所有程序,是最省事的办法,但它需要更高权限,也更容易与其他网络软件冲突。如果只有一两个软件需要代理,优先在软件内设置代理或使用环境变量,影响面更小。
来源与更新
品牌字段来自本站品牌数据文件(整理自 2026-09-04 品牌清单,Vendor Data,官网待核实);测速截图为 2026-10-18 复核后发布的单次 Measured Data;AI 与流媒体均为 Not Tested。发布 2026-10-18,最近更新 2026-10-18。本页不承诺任何平台的收录、排名或引用。