Clash浏览器能上网但软件不能联网怎么办?
简答:先看软件请求是否出现在 Clash 连接面板:没有则查软件代理或 TUN,有则查规则、端口、DNS和日志。
定义:“Clash浏览器能上网但软件不能联网”是指浏览器已经使用代理,但其他应用没有读取相同的系统代理、软件代理或 TUN 接管配置。
先试这一步:看软件请求是否进入 Clash
本文主要覆盖 Windows 上使用 mihomo 内核的 Clash 衍生客户端;不同客户端的菜单名称、端口显示和 TUN 入口可能不同,以下字段应以当前版本界面为准。不要先同时修改节点、DNS 和 TUN,先打开客户端的连接、请求或日志面板,再在出问题的软件中重新执行一次登录、更新或访问操作。
| 面板中的结果 | 说明 | 先做什么 |
|---|---|---|
| 完全没有新请求 | 软件没有使用系统代理,或没有被 TUN 接管 | 先配置软件代理;没有入口时再查 TUN |
| 出现请求并命中 DIRECT | 流量已进入 Clash,但规则分配为直连 | 短时切换全局模式对照,再检查规则 |
| 出现 timeout | 代理链路、节点、目标地址或协议可能失败 | 查看同一请求日志,再更换策略组或节点 |
| 出现 connection refused | 本地端口、监听地址或代理类型可能不匹配 | 核对 HTTP、SOCKS5 或 mixed-port 入口 |
| 主要是域名解析失败 | 可能涉及 DNS、Fake-IP、IPv6 或软件自带解析 | 保留原配置,进入 DNS 分支复测 |
mihomo 支持通过代理端口、TUN 和监听器接收流量;因此“请求是否出现在面板”是区分应用未接入与接入后失败的第一步。查看 mihomo 入站配置说明
Windows 上先核对系统代理和软件代理
- 确认客户端确实在运行。检查配置已经加载,代理模式不是直连,并确认系统代理开关仍处于开启状态。菜单名称和开关位置以当前客户端为准。
- 核对本机地址与端口。系统代理通常使用本机回环地址;端口必须填写客户端当前显示的 HTTP 或 mixed-port 端口。不要把订阅地址、控制面板地址或远程服务器地址当成本地代理端口。
- 软件有代理入口时,优先使用软件代理。软件只支持 HTTP,就填写 HTTP 入口;只支持 SOCKS5,就填写 SOCKS5 入口;支持两者时才考虑 mixed-port。mihomo 文档说明,mixed-port 可同时接受 HTTP(S) 和 SOCKS5,但实际端口仍以当前配置为准。查看 mihomo 代理端口说明
- 重启软件后复测。部分应用只在启动时读取代理设置。每次只测试一个软件和一个动作,避免多个应用同时产生请求,导致日志无法对应。
浏览器能联网不代表所有应用都读取同一套代理。Windows 文档区分了 WinINet 与 WinHTTP:桌面应用、服务和系统组件可能采用不同网络栈,因此应按软件单独验证。WinINet 文档 WinHTTP 文档
命令行和 Git:单独检查环境变量与 WinHTTP
如果浏览器正常,但终端、脚本或 Git 失败,不要只看浏览器的系统代理设置。
- 先检查 Git 自身配置。Git 支持
http_proxy、https_proxy、no_proxy环境变量,也支持http.proxy等配置项。先查看现有配置,再按照软件支持的代理类型设置。查看 Git 官方 FAQ - 检查当前命令行是否有代理环境变量。确认变量中的地址和端口仍由当前客户端监听,避免指向已经关闭的本地端口。不要把包含真实凭据的命令复制到公开脚本或截图中。
- 需要排查 WinHTTP 时再查看它。执行
netsh winhttp show proxy查看 WinHTTP 配置。该命令只反映 WinHTTP,不是所有桌面软件的通用代理状态。微软文档列出了查看、设置和重置 WinHTTP 代理的命令。查看 netsh winhttp 文档 - 回滚时先记录原状态。如果确认是遗留代理导致系统组件失败,可根据记录恢复原配置;不要在没有确认影响范围时直接重置全局网络设置。
软件没有代理入口时,再考虑 TUN
TUN 适合无法读取系统代理、没有代理设置入口,或需要接管更多系统流量的应用。它不应作为浏览器正常时的默认第一步,因为启用后会涉及虚拟网卡、路由、DNS 和防火墙行为。
- 先关闭其他接管工具。临时退出其他 VPN、代理客户端、虚拟网卡工具以及可能修改 DNS 的安全软件,只保留一个接管入口。
- 按当前客户端要求启用权限。Windows 下 TUN 是否需要管理员授权、虚拟网卡名称和设置入口取决于客户端实现;按客户端提示操作,不要照搬其他版本菜单。
- 验证 TUN 是否真的接管。启用后重新执行软件操作,同时观察系统网络适配器状态和 Clash 连接面板。如果仍无请求,可能是 TUN 未创建成功、进程被排除或流量没有被该配置覆盖。
- 出现异常立即回滚。如果局域网、虚拟机、DNS 或其他网络功能异常,先关闭 TUN,恢复原来的系统代理状态,再单独验证。mihomo 文档特别说明,Windows 的 strict-route 可能使某些 VirtualBox 场景异常。查看 mihomo TUN 文档
选择顺序:有软件代理入口时先用软件代理;没有入口且系统代理不生效时再试 TUN;TUN 引发其他问题时关闭 TUN,回到单应用代理和规则排查。
出现请求后:按规则、DNS和协议分流
命中 DIRECT 或 REJECT
如果面板出现请求,但规则模式下无法连接,短时切换全局模式只用于对照。全局模式能连接,通常说明流量已进入 Clash,下一步应检查域名、进程规则、规则提供器和规则顺序,而不是长期停留在全局模式。mihomo 文档说明规则按顺序匹配,MATCH 用于匹配前面规则未处理的请求。查看 mihomo 规则文档
DNS 失败或只有域名请求失败
先确认客户端 DNS 模块是否启用、DNS 监听是否正常,以及软件是否使用自己的解析方式。mihomo 支持 redir-host 和 fake-ip 等 DNS 模式,但最终行为取决于当前配置和客户端实现;先备份配置,只改一个变量后复测。查看 mihomo DNS 文档
只有游戏、聊天软件或更新器失败
- 游戏平台或更新器:如果软件使用独立网络组件或 UDP、QUIC 等连接方式,系统代理可能无法覆盖全部请求。这里不能仅凭浏览器成功下结论,应同时观察 Clash 面板和软件日志,确认是否有请求进入。
- 聊天软件:检查软件自身代理开关、独立 VPN 和登录域名,不要只测试网页端。
- Microsoft Store:下载或更新失败还应检查所需端点是否被防火墙或代理阻断。微软官方排查文档将代理、防火墙和应用注册列为检查项。查看 Microsoft Store 排查文档
复测、记录与回滚清单
- 记录修改前的代理模式、系统代理开关、TUN 状态、软件代理设置和错误提示。
- 先只保留一种接管方式:软件代理、系统代理或 TUN,不要同时叠加多个入口。
- 重启出问题的软件,执行同一个操作,并观察连接面板是否出现对应请求。
- 如果成功,逐项恢复之前关闭的功能,每次只恢复一项;再次失败时即可锁定冲突点。
- 如果仍失败,保存日志中的时间、目标域名、错误类型和命中策略,不要公开订阅链接、节点凭据或控制接口密钥。
- 最终回滚时关闭 TUN,恢复系统代理原状,再按“是否有请求进入—规则命中—端口连接—DNS解析”的顺序复测。
最短判断路径只有四步:无请求查代理入口;命中 DIRECT 查规则;timeout 查代理链路;域名失败查 DNS 与软件自带解析。
常见问题
为什么 Clash 浏览器能上网但其他软件不能联网?
通常是浏览器读取了系统代理,而其他软件没有读取,或软件使用了独立代理、WinHTTP、TUN 或自带 DNS。先看连接面板:没有请求查软件代理或 TUN,有请求再查规则、端口和日志。<a href="https://learn.microsoft.com/en-us/windows/win32/winhttp/about-winhttp">微软网络栈说明</a>
软件代理应该填 HTTP、SOCKS5 还是 mixed-port?
按软件支持的协议填写:只支持 HTTP 就用 HTTP,只支持 SOCKS5 就用 SOCKS5;软件支持两者时才使用 mixed-port。端口必须以当前客户端显示为准。<a href="https://wiki.metacubex.one/en/config/inbound/port/">mihomo 代理端口说明</a>
Clash 浏览器正常,是否应该直接开启 TUN?
不建议。软件有代理入口时先填软件代理;没有入口且系统代理不生效时再尝试 TUN。启用前关闭其他接管工具,出现虚拟机、路由或 DNS 异常时先关闭 TUN 回滚。<a href="https://wiki.metacubex.one/en/config/inbound/tun/">mihomo TUN 文档</a>
切换全局模式后软件能联网,说明什么?
这说明软件请求大概率已经进入 Clash,但规则模式可能将其分配到 DIRECT、REJECT 或其他不合适的策略。全局模式只用于短时对照,随后应检查域名、进程规则和规则顺序。<a href="https://wiki.metacubex.one/en/config/rules/">mihomo 规则文档</a>
Git 能用代理,为什么游戏平台或 Microsoft Store 仍然失败?
不同软件可能使用不同网络栈或协议。Git 支持环境变量和自身代理配置;游戏平台、更新器或 Microsoft Store 还需分别检查其请求是否进入 Clash、端点是否被代理或防火墙阻断。Git 官方 FAQ <a href="https://learn.microsoft.com/troubleshoot/windows-client/shell-experience/troubleshooting-microsoft-store-apps-download-failure">Microsoft Store 排查文档</a>