先确定客户端、系统架构与内核

Windows 上使用 Clash,通常需要安装带图形界面的客户端,再由客户端启动代理内核。Clash、Clash Meta(现称 mihomo)不是同一个版本系列;界面能够打开,也不代表其中的内核支持订阅使用的全部协议。安装前先确认操作系统架构、客户端维护状态和订阅格式,能够减少后续反复换包的问题。

安装前核对三项信息

  1. 系统架构:进入 Windows「设置」→「系统」→「系统信息」,查看「系统类型」。常见 Intel、AMD 电脑选择 x64 安装包;ARM 设备优先选择客户端明确提供的 ARM64 版本,不要只根据安装包大小判断。
  2. 维护状态:优先选择仍有更新、支持当前 Windows 的客户端。Clash for Windows 已停止维护;旧教程中的菜单位置、驱动方案和故障处理不应直接套用到新客户端。
  3. 配置类型:向订阅提供方确认链接输出的是 Clash 或 mihomo 配置,而不是仅含分享链接的节点列表。部分新协议或字段需要 mihomo,旧内核可能在加载阶段直接报错。

安装包可以从本站Clash 客户端安装包页面按平台选择。安装前退出正在运行的同类客户端,避免两个程序同时修改系统代理、争用监听端口或创建重复的虚拟网卡。需要保留旧配置时,先通过客户端的配置管理功能导出备份;其中可能包含订阅凭据,应存放在本机受控目录。

安装与 SmartScreen:先判断来源再处理提示

运行安装程序时,Windows SmartScreen 可能显示「Windows 已保护你的电脑」。这类提示与文件信誉、签名等因素有关,既不能据此断定文件有问题,也不能把它当作可以忽略的固定步骤。先确认文件来自所选项目的发布渠道,安装包名称、架构与下载目标一致,再检查文件属性中的数字签名信息(如有)。

遇到拦截时的处理顺序

  1. 关闭来源不明确的安装程序,重新核对下载页面与实际文件,不从聊天附件或随机网盘副本继续安装。
  2. 只有在来源可信、设备策略允许的情况下,才考虑通过 SmartScreen 的「更多信息」→「仍要运行」继续。没有该按钮时,不要通过关闭系统保护绕过组织策略。
  3. 如果文件被安全软件隔离,进入「Windows 安全中心」→「病毒和威胁防护」→「保护历史记录」查看具体检测结果,再决定是否向软件发布方反馈;不要直接对整个下载目录添加排除项。
  4. 完成安装后先正常启动。普通系统代理使用通常不需要让整个界面长期以管理员身份运行,服务模式与 TUN 所需权限应在后续单独配置。

对于便携包,应先完整解压到固定且当前用户可写的目录,不要直接在压缩软件内运行。若客户端报告无法保存配置或更新内核,先检查目录权限、安全软件的受控文件夹访问记录,以及文件是否被其他进程占用,而不是反复提升权限。

订阅导入:更新成功后还要激活配置

打开客户端的「配置」或「Profiles」页面,选择从 URL 导入,粘贴订阅提供方给出的完整地址,再执行下载。带有令牌的订阅地址相当于访问凭据,不要贴到公开日志、截图或在线转换站。若链接曾被公开,应到提供方后台重置,而不只是删除本地记录。

  1. 确认下载结果:配置列表中应出现新条目。若返回的是网页登录内容、登录过期提示或错误页面,改名为 YAML 也无法正常加载。
  2. 激活该配置:选择刚导入的条目,等待内核完成重载。订阅刷新成功只说明文件已经获取,不等于它已成为当前运行配置。
  3. 查看日志:优先处理 YAML 解析错误、未知代理类型、缺少代理组等提示。行号附近可能只是错误被发现的位置,还应检查前一行的缩进和字段。
  4. 选择出口:切换到规则模式,在实际被规则引用的策略组内选择节点。不要只修改一个未被当前规则使用的备用组。

如果订阅首次获取失败,先关闭系统代理,用当前网络重试提供方的订阅地址。此时客户端可能还没有可用节点,不能假设订阅请求已经通过代理。只在提供方说明允许且客户端支持时,配置订阅更新专用代理;不要随意添加来源不明的转换服务。

系统代理与端口:先让浏览器访问正常

第一轮验证只开启系统代理,暂时关闭 TUN。系统代理主要影响遵循 Windows 代理设置的应用,并不接管所有程序;游戏、命令行工具或自行实现网络栈的应用可能不使用它。先把这一条路径跑通,才能区分节点问题与虚拟网卡问题。

检查监听端口和 Windows 设置

在客户端设置中查看 HTTP 或混合端口。若显示混合端口为 7890,开启系统代理后,可到「设置」→「网络和 Internet」→「代理」检查「使用代理服务器」对应的地址与端口;本机地址通常为 127.0.0.1。PAC 模式可能使用自动配置脚本,不能仅凭手动代理开关判断是否生效。

在 PowerShell 中执行下面的命令,可以查看示例端口是否被监听。没有输出时,应先处理内核启动失败、端口设置不一致或配置加载错误。

Get-NetTCPConnection -LocalPort 7890 -State Listen |
  Select-Object LocalAddress, LocalPort, OwningProcess

如果端口已被占用,可根据输出的进程编号查询所属程序,再决定退出冲突客户端或修改当前客户端端口。不要直接结束不认识的系统进程。更改端口后,需要重新开启系统代理,并同步修改应用中手动填写的代理地址。

curl.exe --proxy http://127.0.0.1:7890 --head --connect-timeout 10 https://example.com/

这条命令显式使用本地 HTTP 代理,适用于 HTTP 或混合端口,不适用于仅提供 SOCKS 的端口。收到 HTTP 响应说明这次请求完成了代理链路,但不证明全部网站都可用。随后打开目标网页,在客户端「连接」或日志页面核对目标域名、命中的规则、策略组和实际出口。延迟测试成功只覆盖测试地址,不能替代这一步。

防火墙放行:本机代理不等于局域网服务

Windows 防火墙主要根据程序、网络配置文件和规则方向控制通信。仅让本机应用连接 127.0.0.1 时,通常不需要向局域网开放代理端口。出现系统授权提示,也不意味着应同时勾选专用网络和公用网络,更不需要关闭整台电脑的防火墙。

使用场景应检查的项目处理原则
仅本机浏览器使用回环监听、端口冲突、内核日志保持仅本机访问,不额外开放局域网入口
手机连接电脑代理允许局域网、监听地址、入站规则仅在可信专用网络放行实际使用的 TCP 端口
单位设备无法连接节点出站策略、安全软件、管理策略向管理员确认限制,不自行关闭防护

确实需要局域网共享时,先确认客户端支持并开启「允许局域网」,再检查监听地址是否覆盖局域网接口。在「Windows 安全中心」→「防火墙和网络保护」→「高级设置」中,仅为实际代理端口建立必要的入站规则,并限制为可信设备地址或本地子网。HTTP 代理通常使用 TCP,不能因为代理节点协议包含 UDP,就把本地所有 UDP 端口一并开放。

图形界面与内核可能是不同的可执行文件。界面能联网更新,不代表内核没有被组织的出站规则限制。排查时应从日志定位实际被阻断的进程,再检查它的程序路径和规则;客户端更新后路径变化,也可能导致旧规则不再适用。

UWP 回环:浏览器可用而部分应用失败

部分运行在 AppContainer 中的应用受到网络隔离限制,可能无法直接访问本机回环代理。这会表现为浏览器已能访问,但某个应用仍提示离线。并非所有 Microsoft Store 应用都属于这种情况,打包分发的桌面程序也不一定受同样限制;应先确认应用是否真的尝试使用系统代理。

只为确有需要的应用设置豁免

  1. 若客户端提供「UWP 回环」或「Loopback」工具,打开后仅勾选需要通过本机代理访问的应用,保存并重新启动该应用。
  2. 没有图形工具时,可在终端使用 CheckNetIsolation.exe LoopbackExempt -s 查看现有豁免。
  3. 需要新增时,以管理员权限运行终端,并将查询到的准确包系列名称传给 -n= 参数;不要拿应用显示名称、安装目录或包完整名称替代。
Get-AppxPackage |
  Select-Object Name, PackageFamilyName

CheckNetIsolation.exe LoopbackExempt -s

添加命令采用 CheckNetIsolation.exe LoopbackExempt -a -n= 后接实际包系列名称;撤销时把 -a 改成 -d,并使用同一个名称。这里不提供可直接复制的包名,因为不同应用和发行渠道的包标识并不相同。设置完成后重启目标应用,观察客户端连接记录;若仍没有请求进入,应继续检查应用自己的代理支持和网络策略。

TUN 模式:服务权限、虚拟网卡与 DNS

当需要接管不遵循系统代理的程序时,再考虑 TUN。它通过虚拟网络接口与路由把流量交给内核处理,是否接管某条连接仍取决于路由、排除项和配置。mihomo 的 TUN 栈选项、DNS 接管方式及客户端服务安装步骤会随版本变化,应以当前客户端说明为准。

按单变量方式启用

  1. 先确认系统代理路径可用,记录当前节点、工作端口和正常访问的测试页面。
  2. 通过客户端「设置」中的「服务模式」或服务安装入口完成授权。安装服务需要管理员权限;若安装失败,先查看错误,不要持续重复点击。
  3. 为便于判断接管效果,先关闭系统代理,再开启 TUN;查看日志中虚拟接口和路由是否建立成功。
  4. 检查 DNS 配置是否被订阅、覆写设置或客户端托管配置修改。TUN 开关已开启,不等于 DNS 接管和域名解析一定正常。

可以在 PowerShell 中执行 Get-NetAdapter -IncludeHidden 检查虚拟接口,再用 route print 观察路由。接口名称不一定包含「Clash」,也不必出现传统的单条默认路由:一些自动路由方案会使用更具体的路由项。判断时应结合启动前后的差异和内核日志,不能只看一个网卡图标。

出现驱动加载失败时,先停止其他 VPN、加速器或虚拟网卡工具,再通过客户端支持的方式修复服务或驱动。不要从不明网站下载单独的 DLL 覆盖安装目录,也不要为运行旧驱动而关闭内存完整性等系统保护。遇到不兼容的驱动方案,应优先更新到受支持的客户端版本。

若开启 TUN 后局域网打印机、NAS 或公司内网失联,重点检查私有网段的路由排除与直连规则。规则中的 DIRECT 与系统路由排除不是同一个层面的设置;域名解析若已经失败,仅添加直连规则也可能无法解决。涉及公司 VPN 时,应先确认组织允许的网络方案,避免两个程序同时接管路由和 DNS。

安装后的验收与退出恢复

完成配置后,按下面的清单逐项确认。每次只改变一个设置,并记下测试时间和日志错误,通常比同时切换节点、重装驱动和修改 DNS 更容易定位原因。

  • 配置:当前激活的是刚导入的订阅,内核日志没有解析失败,策略组已选择实际可用的出口。
  • 浏览器:目标页面可打开,客户端能看到对应连接,规则命中与预期一致。
  • 特殊应用:区分系统代理、UWP 回环限制与应用自有代理设置,不把所有失败都归到防火墙。
  • TUN:需要时再启用,确认虚拟接口、路由和 DNS 工作正常,同时测试本地网络资源。
  • 退出恢复:先关闭 TUN 和系统代理,再退出客户端,检查普通网络是否仍可访问。

若客户端异常退出后网页全部打不开,先进入 Windows「设置」→「网络和 Internet」→「代理」,检查是否残留指向已经停止监听的本地代理或自动配置脚本。设备由组织管理时不要覆盖既有策略。若问题只发生在 TUN 使用之后,先重新启动客户端并正常关闭 TUN,让它清理路由;仍未恢复再重启系统,不要直接删除所有网卡或重置整套网络。

后续需要调整规则、订阅更新和自启动时,可以继续阅读使用指南;Windows 平台设置见全平台指南的 Windows 章节。保留一套已验证可用的基础配置,再逐项增加功能,能让后续故障有明确的对照基线。