平台教程 预计阅读 13 分钟

Windows 安装 Clash 全流程:从下载到系统代理的常见坑

覆盖 Windows 平台客户端选择、安装、导入订阅、开启系统代理与 TUN 模式的完整流程,重点标注杀软误报、端口冲突与开机自启失效等高频翻车点。

安装前先确定客户端、架构与内核

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 提示。选择「更多信息」可以查看发布者与文件信息;企业电脑若受组策略管理,则需要由管理员确认软件执行策略。客户端安装完成后,程序目录与配置目录通常是两处位置,卸载程序不一定会同时清除用户配置。

完成安装并识别首次启动问题

标准安装流程

  1. 退出正在运行的旧 Clash 客户端,避免其继续占用 789078919090 端口。
  2. 运行与处理器架构对应的安装器,按安装向导完成写入。
  3. 从开始菜单启动客户端,确认托盘区出现客户端图标。
  4. 进入「设置」→「系统设置」,确认应用数据目录可以正常打开。
  5. 进入「设置」→「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 打开后断网的四项检查

  1. 检查服务状态:打开「服务」应用,确认客户端对应服务正在运行;若服务启动后立即停止,查看客户端日志和 Windows 系统日志。
  2. 检查虚拟网卡:进入「设置」→「网络和 Internet」→「高级网络设置」,确认 TUN 接口已经创建,没有被手动禁用。
  3. 检查 DNS:日志中若持续出现解析超时,先确认配置中的 DNS 服务器可达,并检查其他 DNS 过滤软件是否占用 53 端口。
  4. 检查路由冲突:企业 VPN、游戏加速器、Hyper-V、WSL 与其他虚拟网卡都可能写入路由。暂时退出同类软件后再测试,能快速判断冲突来源。

mihomo 的 TUN 配置可能包含 stackauto-routeauto-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 状态。只看到托盘图标,并不能证明代理已经接管;同样,后台服务已运行也不代表当前配置加载成功。

先进入客户端「设置」→「系统设置」打开开机启动,再打开「任务管理器」→「启动应用」,确认该项目处于启用状态。某些版本通过注册表启动项实现,另一些版本通过计划任务或启动目录实现。升级安装路径后,旧启动项可能仍指向已经不存在的可执行文件。

自启后没有代理的排查顺序

  1. 登录 Windows 后等待 15 至 30 秒,确认客户端是否出现在托盘。
  2. 打开客户端日志,检查内核是否完成启动并加载当前配置。
  3. 检查订阅配置是否仍被选中,而不是回退到空白或默认配置。
  4. 检查「系统代理」或 TUN 开关是否按客户端设置恢复。
  5. 查看 Windows 代理地址是否为当前端口,例如 127.0.0.1:7890

如果客户端启动早于网络就绪,自动更新订阅可能在登录阶段失败。此时不应把订阅失败误判为节点失效,可以在网络连接稳定后手动更新一次,并查看 HTTP 状态和日志时间。笔记本从休眠恢复后切换 Wi-Fi,也可能需要重新探测默认网卡,使用 TUN 时尤其明显。

升级客户端时保留哪些内容

升级前应记录当前客户端版本、内核版本、端口、运行模式和配置名称。订阅地址与本地覆写规则应单独保存,避免只依赖客户端内部数据库。升级完成后先保持 TUN 关闭,以系统代理方式完成一次连接测试,再恢复服务模式和 TUN。

从 Clash for Windows 0.20.39 迁移到 mihomo 客户端时,不建议直接复制整个旧数据目录。旧客户端的界面设置、数据库与覆写脚本不一定能被新客户端识别。更稳定的路径是重新导入订阅,再逐项迁移规则、DNS 和端口设置。

Windows 首次安装后的验收清单

完成安装后,可以按下面的顺序做一次完整验收。每一步都对应明确状态,后续出问题时能快速判断故障发生在哪一层。

Windows 安装 Clash 的主要难点并不在安装器本身,而在图形客户端、mihomo 内核、订阅配置、系统代理和 TUN 路由之间的状态衔接。按“内核运行 → 配置加载 → 本地端口 → 指定代理测试 → 系统代理 → TUN”的顺序验证,比同时切换多个开关更容易找到具体问题。

下载客户端