安装前:区分 Windows 客户端、内核与订阅

Windows 上的 Clash 使用流程包含三层:客户端负责界面、配置管理和系统集成;内核负责代理协议、规则匹配与连接处理;订阅提供节点和可能附带的策略组、规则。安装成功只表示客户端能够启动,并不表示已经具备可用节点,也不表示系统流量已经进入代理。

Clash Meta 后续以 mihomo 名称继续发展。使用 mihomo 的客户端,与旧版 Clash 客户端在配置字段支持上可能不同。遇到协议不支持、字段解析失败时,应先检查实际运行的内核及版本,而不是反复开关系统代理。旧版 Clash for Windows 已停止维护,新装环境应优先确认客户端项目的维护状态与当前 Windows 支持范围。

  • 客户端:记录应用名称、应用版本和安装路径,便于定位设置入口与升级方式。
  • 内核:在客户端的内核信息或日志开头记录名称、版本;应用版本不等于内核版本。
  • 配置:确认订阅提供 Clash 或 mihomo 兼容格式。只有节点 URI 的列表,不一定能直接作为完整 YAML 配置载入。

安装包选择:核对系统架构与安装方式

先查 x64、ARM64,再下载

在 Windows 11 打开「设置」→「系统」→「系统信息」,查看“系统类型”;Windows 10 通常在「设置」→「系统」→「关于」中查看。Intel、AMD 的常见桌面处理器通常选择 x64;基于 ARM 的设备优先选择项目提供的 ARM64 包。不要仅凭 Windows 是“64 位”就把这两种架构视为同一个安装包。

检查项目选择依据常见误区
处理器架构x64 或 ARM64,与发布包标识对应把 ARM64 与 x64 混用
安装器按项目提供的 EXE 或 MSI 安装说明操作把不同封装误认为不同代理协议
便携包确认数据目录、升级方式与服务安装说明移动解压目录后仍使用旧自启路径
系统支持核对当前版本要求的 Windows 版本与运行组件认为旧系统能运行全部新客户端

安装与首次启动

  1. 从下载中心选择 Windows 客户端,再核对对应项目的发布说明、发布者信息与系统要求。
  2. 退出其他正在运行的代理客户端。首次排障时只保留一个内核运行,减少端口和路由冲突。
  3. 将程序安装到稳定路径。便携包不要长期放在临时解压目录,也不要在配置后随意改名、移动整个目录。
  4. 启动后打开日志,确认内核没有持续退出、重启或配置解析报错。若缺少运行组件,按该版本项目文档补齐对应组件。

遇到 Windows 安全提示,应先核对下载来源、发布者和文件属性,再决定是否继续。不要通过长期关闭系统防护来处理安装问题。企业设备上的安装与网络权限还可能受组织策略限制,应由管理员确认。

订阅导入:下载成功后还要激活配置

不同客户端对配置入口的命名不完全一致,常见名称是“订阅”“配置”或“Profiles”。以下步骤按功能描述,不把某一版界面的按钮名称套用到所有客户端。导入前先确认链接来自订阅提供方,且返回的是客户端可识别的格式。

  1. 打开配置管理页,选择从 URL 导入,将订阅链接粘贴到地址输入框。
  2. 执行下载或导入,观察结果。HTTP 401、403 通常需要检查授权、有效期或访问限制;返回网页内容时,不能把它当作 YAML 配置继续使用。
  3. 选择刚导入的配置并设为当前配置。列表里出现一条订阅记录,不代表内核已经切换到它。
  4. 查看策略组是否存在、节点名称是否完整,再将运行模式设为规则模式,并为可手动选择的策略组选定节点。
  5. 执行一次延迟测试。测试失败时检查日志中的具体错误,不要把单次超时直接归因于 Windows 安装失败。

本地编辑与订阅更新分别管理

直接修改下载生成的配置文件,可能在下一次订阅更新时被覆盖。需要长期保留规则或 DNS 调整时,使用客户端明确支持的覆写、合并或本地配置机制,并在更新后检查生效配置。不要假设所有客户端都支持同一套覆写语法。

订阅链接通常包含访问凭据。排障截图应遮挡完整链接、令牌和管理密钥。使用第三方订阅转换服务意味着该服务可能接触订阅内容,应先评估信任边界;优先使用提供方直接给出的兼容配置。

系统代理:先验证 127.0.0.1 与实际监听端口

系统代理主要影响遵循 Windows 代理设置的应用。它不是全局抓取所有进程流量的开关。部分命令行工具、游戏和自行实现网络连接的程序不会自动采用这项设置,因此“浏览器能打开、终端不能连接”不一定是故障。

本文用 7890 演示混合代理端口;部分客户端可能使用 7897 或其他值,应以当前内核的有效配置和监听记录为准。HTTP 与 SOCKS 端口也可能分开配置,不要把控制接口端口填入系统代理。

# 本地连接参数示例,不是可直接替换订阅的完整配置
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
  1. 启用客户端的系统代理功能。
  2. 打开 Windows「设置」→「网络和 Internet」→「代理」,检查手动代理地址与端口是否指向当前客户端。部分环境使用设置脚本,应同时检查是否存在其他软件写入的脚本地址。
  3. 在 PowerShell 中检查本地端口是否能够建立 TCP 连接。
Test-NetConnection -ComputerName 127.0.0.1 -Port 7890
curl.exe --proxy http://127.0.0.1:7890 --head --connect-timeout 10 https://example.com/

TcpTestSucceeded : True 只说明本地端口可达,不能证明远端节点可用。第二条命令显式使用本地 HTTP 代理,能帮助区分“程序没有采用系统代理”与“代理链路本身失败”。使用 curl.exe 可以避免部分 PowerShell 环境中 curl 别名引起的参数差异;测试域名仅用于演示,可换成实际需要排查的目标。

服务模式、TUN 与防火墙:分别处理权限和接管范围

服务模式解决权限,不替代配置验证

部分 Windows 客户端通过服务模式启动内核或执行需要高权限的操作。安装服务时出现 UAC 授权提示属于权限提升流程,应确认请求来自所安装的客户端。不同客户端的实现不同:安装了服务不代表 TUN 已启用,也不保证路由和 DNS 配置正确。

服务安装后,先查看客户端中的服务状态;需要进一步核对时,按 Win + R 输入 services.msc 打开服务管理器,按项目文档确认实际服务名称与运行状态。不要照抄网上其他客户端的服务名,也不要删除不明系统服务。

TUN 在基础连接验证后开启

TUN 通过虚拟网络接口和路由接管匹配的 IP 流量,可覆盖部分不遵循系统代理的应用。它通常涉及管理员权限、路由及 DNS 处理。先验证普通本地代理能够工作,再开启 TUN,观察日志是否出现虚拟接口创建失败、路由添加失败或权限不足。

  • 与其他 VPN 并用时,检查路由优先级、DNS 设置和虚拟网卡,首次排障可暂时只保留一套接管方案。
  • 局域网设备、公司内网和远程桌面异常时,检查内网网段是否被错误送入代理,不要用全局模式长期掩盖规则问题。
  • TUN 下的 DNS 劫持只对实际进入对应路径的请求生效;浏览器自带的加密 DNS、其他 VPN 的 DNS 策略仍需要单独检查。

防火墙按程序和用途授权

Windows Defender 防火墙弹窗出现时,应核对内核程序路径,并按实际使用场景选择网络配置文件。仅在本机使用回环代理时,通常不需要为局域网开放入站代理端口;向其他设备共享时,才需要进一步检查监听地址、allow-lan 和对应入站规则。

不要为了测试而关闭整个防火墙。第三方安全软件或组织策略也可能限制出站连接,应检查阻止记录。内核升级后可执行文件路径发生变化,旧的程序规则可能不再适用,此时应更新授权路径,而非增加不限定程序的宽泛规则。

常见故障:端口占用、代理残留与配置报错

端口占用:先找进程,再决定关闭或换端口

日志出现 address already in use 或绑定失败时,检查目标端口的监听进程。下面两条命令用于定位监听地址和进程标识,不会自动结束进程。

netstat -ano | findstr LISTENING | findstr :7890
Get-NetTCPConnection -LocalPort 7890 -State Listen |
  Select-Object LocalAddress, LocalPort, OwningProcess

根据输出的 PID,在任务管理器「详细信息」页查找对应进程。若是旧客户端或重复启动的内核,先从其界面正常退出。若该端口确实要留给其他程序,可以把当前客户端的混合端口改为例如 7891,随后同步更新系统代理、终端代理变量与显式代理测试命令。

系统代理不生效:区分应用设置和 Windows 设置

现象优先检查下一步
显式代理测试成功,某应用失败应用是否遵循系统代理,是否有自己的代理设置配置应用代理,或评估使用 TUN
本地端口连接失败内核状态、实际端口、配置解析日志先恢复监听,再测试远端连接
浏览器成功,命令行失败工具是否要求独立代理参数或环境变量按该工具文档设置代理并重启进程
连接记录显示直连规则命中、策略组选择、当前运行模式修正规则目标或组内选择
启用 TUN 后内网异常路由、DNS、其他 VPN 与内网规则关闭 TUN 对照测试,再逐项调整

WinHTTP 与用户级系统代理不是同一个设置来源。netsh winhttp show proxy 可查看 WinHTTP 配置,但其结果不能代表所有浏览器和桌面应用的代理状态。不要为修复单个程序而盲目修改机器级代理。

退出后无法上网:检查代理是否仍指向已关闭端口

若客户端异常退出而 Windows 仍指向 127.0.0.1:7890,遵循系统代理的应用就可能连接失败。可先重新启动客户端恢复监听,或在 Windows 代理设置中关闭原先启用的手动代理。企业配置的代理脚本不要随意删除;记录原值后再按管理要求处理。

配置解析失败则应回到日志处理具体字段:YAML 缩进使用空格,策略组引用必须对应实际存在的名称,协议类型必须受当前内核支持。把错误全文、行号和内核版本保留下来,比只记录“连接不上”更有助于定位。

开机自启:登录启动、服务启动与代理恢复分开验证

客户端“开机自启”通常指用户登录 Windows 后启动界面;后台服务可能在用户登录前就启动,两者并不等价。开启自启后,还要确认当前配置是否自动加载、系统代理是否按预期恢复,以及 TUN 是否具备所需权限。

  1. 在客户端设置中开启其提供的开机启动选项。不要同时手动添加多个启动快捷方式。
  2. 在 Windows 11「设置」→「应用」→「启动」,或任务管理器「启动应用」中检查对应项是否被禁用。使用服务或计划任务实现的项目,应另外按客户端文档检查。
  3. 正常退出并重新启动客户端,确认选中的配置、策略组和端口仍然保留。
  4. 完成一次真正的 Windows 重启并登录,不只测试从睡眠唤醒。等待网络连接建立后,再做本地端口和目标连接测试。
  5. 检查是否只运行一个内核实例,并确认托盘界面、后台服务与当前配置状态一致。

重启后订阅更新失败,但手动更新成功,可能与启动时 Wi-Fi 尚未连通、系统时间未同步或订阅访问路径有关。先查看时间顺序与错误日志,再考虑客户端提供的延迟启动或更新重试选项,不必立即重装。

完成配置后的验收清单

  • 本地监听端口可达,没有绑定失败或内核反复重启。
  • 当前配置与订阅记录对应,策略组已经选择可用节点。
  • 连接日志能解释目标请求命中的规则及最终出站。
  • 正常退出后网络恢复符合预期,系统代理没有指向无人监听的端口。
  • 重启登录后配置能够恢复;需要 TUN 时,再单独确认虚拟接口、路由与 DNS 状态。

按这个顺序完成安装,后续故障通常能归入应用代理、内核监听、订阅配置、节点链路或系统接管中的某一层。需要继续了解规则与订阅维护,可查看使用文档;权限和网络异常的补充处理见常见问题。