安装前先确定客户端、架构与内核
Windows 上的“Clash”通常同时指代图形客户端和代理内核。图形客户端负责配置管理、托盘菜单、系统代理开关与日志展示,真正解析规则并建立连接的是 Clash 内核。2026 年仍在更新的 Windows 客户端通常采用 mihomo 内核;早期 Clash for Windows 最后常见版本为 0.20.39,已经停止维护,不适合直接处理依赖新字段的 mihomo 配置。
优先选择仍在维护的 mihomo 客户端
常见选择包括 Clash Verge Rev 等基于 mihomo 的桌面客户端。下载时先查看 Windows 的「设置」→「系统」→「系统信息」→「系统类型」,再选择对应安装包。多数 Intel、AMD 电脑使用 x64,搭载 Snapdragon X 系列等 ARM 处理器的设备使用 arm64。文件名里的架构必须匹配,不能只根据 Windows 10 或 Windows 11 判断。
| 安装包标记 | 适用设备 | 常见情况 |
|---|---|---|
x64 / amd64 |
Intel 或 AMD 64 位处理器 | 绝大多数 Windows 10、Windows 11 电脑 |
arm64 |
Windows on ARM 设备 | Snapdragon X Elite、X Plus 等平台 |
portable |
便携式运行场景 | 配置通常写入程序目录或指定数据目录 |
setup / installer |
标准安装模式 | 可创建开始菜单项目并注册卸载信息 |
下载后被安全软件拦截怎么处理
代理客户端会监听本机端口、修改系统代理,并可能安装 TUN 服务,这些行为容易触发安全软件的启发式规则。遇到拦截时,不要连续更换来源不明的安装包。应先确认文件名、版本号和发布来源,再打开「Windows 安全中心」→「病毒和威胁防护」→「保护历史记录」查看具体检测对象与处置时间。
如果安装器刚启动便消失,还应检查 Windows 的 SmartScreen 提示。选择「更多信息」可以查看发布者与文件信息;企业电脑若受组策略管理,则需要由管理员确认软件执行策略。客户端安装完成后,程序目录与配置目录通常是两处位置,卸载程序不一定会同时清除用户配置。
完成安装并识别首次启动问题
标准安装流程
- 退出正在运行的旧 Clash 客户端,避免其继续占用
7890、7891或9090端口。 - 运行与处理器架构对应的安装器,按安装向导完成写入。
- 从开始菜单启动客户端,确认托盘区出现客户端图标。
- 进入「设置」→「系统设置」,确认应用数据目录可以正常打开。
- 进入「设置」→「Clash 设置」或同类内核页面,检查内核状态与版本信息。
不同客户端的菜单文字会随版本调整。Clash Verge Rev 常把桌面行为放在「设置」→「系统设置」,把端口、内核和运行模式放在「设置」→「Clash 设置」;Clash for Windows 0.20.39 则主要在 General 页面显示端口、系统代理与开机启动开关。
双击后没有窗口,不等于没有启动
Windows 客户端通常允许关闭主窗口后继续驻留托盘。首次排查应点击任务栏右侧的隐藏图标箭头,而不是反复启动多个进程。也可以打开「任务管理器」→「详细信息」,搜索客户端进程和 mihomo.exe。若图形界面存在而内核进程反复退出,应直接查看应用内的「日志」页面。
日志中的第一条错误通常比后续连锁报错更有价值。配置语法问题常见为 parse config error,端口冲突常见为 bind: Only one usage of each socket address,服务权限问题则可能包含 Access is denied。记录错误发生的时间,再与 Windows 事件查看器中的应用日志对照,可以区分界面崩溃和内核启动失败。
导入订阅并验证配置是否真正运行
通过订阅地址导入
复制订阅地址后,在客户端进入「订阅」或「配置」页面,选择「新建」→「从 URL 导入」,粘贴地址并设置便于识别的名称,例如“机场 A-主配置”。订阅地址通常包含访问凭据,不适合粘贴到公开转换网页、截图或工单正文中。
导入成功只说明客户端下载到了内容,并不代表配置已被启用。还需要在配置列表中选中该配置,等待内核重新加载,然后到「代理」页面确认至少存在一个策略组和可选节点。若页面只有空白组,先查看订阅响应是否被登录页面、错误提示或 HTML 内容替代。
本地 YAML 配置的最小检查项
手动导入 YAML 时,缩进只能使用空格。下面是一组用于理解端口和控制接口的基础字段,并非完整节点配置:
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
external-controller: 127.0.0.1:9090
dns:
enable: true
listen: 127.0.0.1:1053
enhanced-mode: fake-ip
mixed-port: 7890 表示 HTTP 与 SOCKS 请求可进入同一个本机端口;allow-lan: false 表示默认不接受局域网其他设备连接;external-controller 是控制接口,不是浏览器应填写的代理端口。把 9090 误当成代理端口,会出现连接被拒绝或返回控制接口响应的情况。
先做节点测试,再打开系统代理
在「代理」页面选择一个节点,并执行延迟测试。延迟结果只代表测试 URL 的一次 HTTP 往返,不能单独证明节点带宽稳定。更可靠的首次验证顺序是:确认策略组已选中节点、查看日志是否出现出站连接、再用浏览器访问普通 HTTP 与 HTTPS 页面。
还可以在 PowerShell 中明确指定本地代理测试,从而绕开系统代理设置:
curl.exe -x http://127.0.0.1:7890 https://www.gstatic.com/generate_204 -I
正常情况下会在数秒内返回 HTTP 状态行。若命令成功而浏览器失败,问题通常位于 Windows 系统代理或浏览器扩展;若命令也失败,则应继续检查节点、规则、DNS 与本地监听端口。
开启系统代理并处理端口冲突
系统代理实际影响哪些程序
在客户端打开「系统代理」后,Windows 的代理设置通常会指向 127.0.0.1:7890。可前往「设置」→「网络和 Internet」→「代理」查看当前状态。Chrome、Edge 等遵循系统代理的应用会通过 Clash 连接,但部分游戏、命令行工具、后台服务和自行实现网络栈的软件可能忽略这项设置。
系统代理打开后网页仍直连,可以先彻底退出浏览器再重新启动。若浏览器安装了代理扩展,应暂时关闭扩展,避免 PAC、固定代理与 Windows 设置互相覆盖。命令行程序也有各自规则,例如 Git 可能读取 http.proxy,而部分系统组件使用 WinHTTP 配置,不能假设所有程序都会自动跟随桌面代理。
确认 7890 是否被占用
多个代理客户端同时运行是端口冲突的高频原因。以管理员或普通 PowerShell 执行下面的命令,可以查看监听 7890 的进程:
Get-NetTCPConnection -LocalPort 7890 -State Listen |
Select-Object LocalAddress, LocalPort, OwningProcess
Get-Process -Id 进程编号
也可以使用 Windows 自带命令:
netstat -ano | findstr :7890
tasklist /fi "PID eq 进程编号"
如果端口属于旧版 Clash、其他代理工具或残留内核,应先正常退出对应程序。确实需要两个客户端同时运行时,可把其中一个混合端口改为 7892,并同步更新系统代理目标。只改 YAML 而没有重新加载配置,端口不会立即变化。
| 常见端口 | 用途 | 排查重点 |
|---|---|---|
7890 |
Mixed 或 HTTP 代理 | 系统代理是否指向同一端口 |
7891 |
部分旧配置的 SOCKS 代理 | 应用是否选错代理协议 |
9090 |
外部控制接口 | 不要作为网页代理端口填写 |
1053 |
示例 DNS 监听端口 | 是否与本机 DNS 工具冲突 |
关闭客户端后系统代理仍然存在
客户端异常结束时,Windows 代理设置可能来不及恢复。此时先重新打开客户端,关闭「系统代理」,再正常退出。如果客户端已经不能启动,可进入「设置」→「网络和 Internet」→「代理」,关闭手动代理服务器,并检查地址和端口是否仍为 127.0.0.1:7890。
TUN 模式的安装、权限与 DNS 排查
什么时候需要 TUN
TUN 模式会创建虚拟网络接口,让不遵循系统代理的应用也能进入 mihomo。游戏平台、部分命令行程序以及使用 UDP 的应用更可能需要 TUN。普通浏览器访问场景可以先使用系统代理,确认订阅、节点和规则均正常后,再单独启用 TUN,这样更容易定位问题。
Windows 上启用 TUN 通常需要管理员权限或客户端安装的服务组件。以 Clash Verge Rev 为例,可在「设置」→「系统设置」中安装服务模式,再到「设置」→「Clash 设置」启用 TUN。菜单位置会随客户端版本变化,但“服务安装成功”和“TUN 开关打开”是两个不同状态。
TUN 打开后断网的四项检查
- 检查服务状态:打开「服务」应用,确认客户端对应服务正在运行;若服务启动后立即停止,查看客户端日志和 Windows 系统日志。
- 检查虚拟网卡:进入「设置」→「网络和 Internet」→「高级网络设置」,确认 TUN 接口已经创建,没有被手动禁用。
- 检查 DNS:日志中若持续出现解析超时,先确认配置中的 DNS 服务器可达,并检查其他 DNS 过滤软件是否占用
53端口。 - 检查路由冲突:企业 VPN、游戏加速器、Hyper-V、WSL 与其他虚拟网卡都可能写入路由。暂时退出同类软件后再测试,能快速判断冲突来源。
mihomo 的 TUN 配置可能包含 stack、auto-route、auto-detect-interface 等字段。常见配置会使用 mixed 栈并开启自动路由,但最终可用值取决于内核版本。不要从旧教程复制整段 TUN 配置后直接覆盖订阅提供的设置。
tun:
enable: true
stack: mixed
auto-route: true
auto-detect-interface: true
dns-hijack:
- any:53
dns-hijack 用于把指定 DNS 请求交给内核处理。它不等于所有 DNS 问题都会自动消失;上游服务器不可达、规则把 DNS 请求送往错误出口,或本机安全策略阻断虚拟接口时,仍会出现解析失败。
开机自启失效与升级后的恢复步骤
区分应用自启、内核启动和代理接管
“开机自启”至少包含三个环节:Windows 登录后启动图形客户端、客户端拉起 mihomo 内核、客户端恢复系统代理或 TUN 状态。只看到托盘图标,并不能证明代理已经接管;同样,后台服务已运行也不代表当前配置加载成功。
先进入客户端「设置」→「系统设置」打开开机启动,再打开「任务管理器」→「启动应用」,确认该项目处于启用状态。某些版本通过注册表启动项实现,另一些版本通过计划任务或启动目录实现。升级安装路径后,旧启动项可能仍指向已经不存在的可执行文件。
自启后没有代理的排查顺序
- 登录 Windows 后等待 15 至 30 秒,确认客户端是否出现在托盘。
- 打开客户端日志,检查内核是否完成启动并加载当前配置。
- 检查订阅配置是否仍被选中,而不是回退到空白或默认配置。
- 检查「系统代理」或 TUN 开关是否按客户端设置恢复。
- 查看 Windows 代理地址是否为当前端口,例如
127.0.0.1:7890。
如果客户端启动早于网络就绪,自动更新订阅可能在登录阶段失败。此时不应把订阅失败误判为节点失效,可以在网络连接稳定后手动更新一次,并查看 HTTP 状态和日志时间。笔记本从休眠恢复后切换 Wi-Fi,也可能需要重新探测默认网卡,使用 TUN 时尤其明显。
升级客户端时保留哪些内容
升级前应记录当前客户端版本、内核版本、端口、运行模式和配置名称。订阅地址与本地覆写规则应单独保存,避免只依赖客户端内部数据库。升级完成后先保持 TUN 关闭,以系统代理方式完成一次连接测试,再恢复服务模式和 TUN。
从 Clash for Windows 0.20.39 迁移到 mihomo 客户端时,不建议直接复制整个旧数据目录。旧客户端的界面设置、数据库与覆写脚本不一定能被新客户端识别。更稳定的路径是重新导入订阅,再逐项迁移规则、DNS 和端口设置。
Windows 首次安装后的验收清单
完成安装后,可以按下面的顺序做一次完整验收。每一步都对应明确状态,后续出问题时能快速判断故障发生在哪一层。
- 客户端架构与系统一致,图形界面和 mihomo 内核都能稳定运行。
- 订阅已经下载并选中,代理页面能看到策略组与节点。
- 本地
7890端口处于监听状态,且没有被其他程序占用。 - 指定
127.0.0.1:7890的curl.exe测试可以获得 HTTP 响应。 - Windows 系统代理地址、端口与客户端实际监听值一致。
- 规则模式下访问不同站点时,日志能显示对应规则和出站策略。
- 需要 TUN 时,服务、虚拟接口、自动路由与 DNS 均能正常工作。
- 重启 Windows 后,客户端、内核和代理接管状态都能按预期恢复。
Windows 安装 Clash 的主要难点并不在安装器本身,而在图形客户端、mihomo 内核、订阅配置、系统代理和 TUN 路由之间的状态衔接。按“内核运行 → 配置加载 → 本地端口 → 指定代理测试 → 系统代理 → TUN”的顺序验证,比同时切换多个开关更容易找到具体问题。