订阅与客户端 FIX · 问题排查

系统代理不生效怎么办?浏览器和部分软件不走代理的解决方法

系统代理不生效怎么办?本文解释系统代理的工作方式和适用范围,排查代理未写入系统、端口不一致、浏览器扩展与独立代理设置覆盖、命令行与部分应用不读取系统代理、规则把流量分到直连等原因,给出 Windows 与 macOS 查看代理状态的命令,以及 TUN 模式和环境变量等解决方法。

发布于 3 分钟阅读

简要回答 系统代理只对主动读取系统代理设置的程序生效,终端、游戏和不少桌面应用本来就不会走系统代理。浏览器不走代理时,先确认客户端已把代理写入系统、端口一致,并关闭代理扩展或浏览器自己的代理设置;其他软件不走代理时,开启 TUN 模式或为该软件单独配置代理最省事。

系统代理设置界面与只有部分程序经过代理的流量示意图

系统代理不生效,首先要明白它的范围:系统代理只是在系统里登记一个代理地址,只有浏览器等主动读取这个设置的程序才会使用。如果是浏览器不走代理,多半是代理没写入系统、端口不一致,或者被浏览器扩展覆盖;如果是终端、游戏或某些桌面软件不走代理,那是因为它们本来就不读系统代理,开启 TUN 模式或单独为软件配置代理即可。

问题现象

  • 客户端显示已开启系统代理,但浏览器访问海外网站仍然失败,客户端连接列表中也没有记录。
  • 浏览器正常,但终端中的 git、npm、curl 等命令连接超时。
  • AI 编程工具、游戏或部分桌面应用无法联网,其他程序正常。
  • 关闭客户端后整台电脑无法上网。

可能原因

原因 影响对象 判断方法
代理未写入系统 所有程序 查看系统代理设置
端口不一致 所有使用系统代理的程序 对比客户端端口与系统设置
浏览器扩展接管代理 单个浏览器 无痕窗口或停用扩展测试
浏览器使用独立代理设置 如 Firefox 查看浏览器网络设置
程序不读取系统代理 终端、游戏、部分应用 客户端连接列表中无记录
规则把域名分到直连 特定网站 切换全局模式对比
应用沙盒限制本地回环 部分 Windows 商店应用 其他程序正常只有该应用异常

快速检查

  • 在客户端中关闭再重新开启系统代理
  • 核对客户端显示的端口与系统代理设置中的端口一致
  • 用浏览器无痕窗口测试,排除代理类扩展影响
  • 临时切换到全局模式,判断是否是规则分流问题
  • 打开客户端的连接列表,看目标程序的连接有没有出现

详细排查

查看系统代理是否已写入

Windows 中查看当前用户的系统代理设置:

Get-ItemProperty 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings' | Select-Object ProxyEnable, ProxyServer, ProxyOverride
netsh winhttp show proxy

ProxyEnable 为 1 且 ProxyServer 指向 127.0.0.1:端口 表示已写入。netsh winhttp 显示的是另一套供部分系统服务使用的设置,与浏览器使用的不是同一处,显示“直接访问”属于常见情况。

macOS 中查看:

scutil --proxy

检查浏览器自身设置

Chrome、Edge 默认跟随系统代理;如果安装了代理切换类扩展,扩展的设置会覆盖系统设置。Firefox 有独立的网络连接设置,需要选择“使用系统代理设置”,具体菜单以当前版本为准。

确认程序是否读取系统代理

在客户端连接列表中看不到某个程序的连接,说明它没有走代理。命令行工具通常读取环境变量,可以在当前终端临时设置,端口以客户端为准:

$env:HTTP_PROXY = "http://127.0.0.1:7897"
$env:HTTPS_PROXY = "http://127.0.0.1:7897"
export http_proxy=http://127.0.0.1:7897
export https_proxy=http://127.0.0.1:7897

AI 编程工具的代理设置可参考 Cursor 代理设置教程。

解决方法

  1. 开启 TUN 模式:在网络层接管所有程序,是解决“部分软件不走代理”最直接的方法,设置步骤见 Clash Verge TUN 模式教程。
  2. 统一端口:修改客户端端口后,重新开关一次系统代理,让新端口写入系统。
  3. 处理浏览器扩展:停用代理扩展,或把扩展中的代理地址改成客户端端口。
  4. 为软件单独配置代理:在软件自身的网络设置中填写 127.0.0.1 和对应端口。
  5. 检查分流规则:全局模式正常、规则模式不正常时,在规则中为该域名指定代理策略组。
  6. 处理商店应用回环限制:部分客户端提供解除 Windows 商店应用回环限制的工具,也可以直接使用 TUN 模式。

仍然无法解决怎么办

  • 退出其他 VPN、加速器和安全软件的网络保护功能,只保留一个代理客户端再测试。
  • 重启电脑,让系统代理与网卡状态重新初始化。
  • 客户端的基础设置和日志查看方法见 Clash Verge 使用教程,必要时向机场客服提供系统版本、客户端版本和截图。

请在遵守所在地法律法规和服务条款的前提下使用代理工具。更多相关问题见 订阅问题专题。

编辑推荐 · 综合第 1

二猫云
  • 三网优化 IEPL专线+中转+直连
  • ¥20/月起 · 130GB/月
  • 设备不限 · 运营2年+(2024年4月成立)
  • AI:ChatGPT、Claude、Claude Code、Codex、Gemini

常见问题

开了系统代理,为什么终端里的命令还是不走代理?

大多数命令行工具不读取系统代理设置,而是读取 HTTP_PROXY、HTTPS_PROXY 等环境变量。需要在终端里设置环境变量,或者开启 TUN 模式。

系统代理和 TUN 模式有什么区别?

系统代理是在系统中登记一个代理地址,由程序自己决定是否使用;TUN 模式是创建虚拟网卡,在网络层接管所有程序的流量,不依赖程序配合,覆盖范围更广。

关闭客户端后上不了网怎么办?

可能是客户端异常退出,没有把系统代理设置还原。重新打开客户端再正常关闭系统代理,或在系统代理设置中手动关闭即可。