推荐顺序:选对安装包 → 启动内核 → 导入并激活订阅 → 选择节点 → 开启系统代理 → 验证请求 → 设置登录自启。首次配置先使用规则模式与系统代理,不急于开启 TUN。这样可以把安装故障、订阅故障和流量接管故障分开,避免一次打开多个开关后无法判断原因。

一、下载前确认 Windows 架构与客户端维护状态

打开 Windows 11 的「设置」→「系统」→「系统信息」,查看「系统类型」;Windows 10 可在「设置」→「系统」→「关于」查看。常见 Intel、AMD 电脑通常选择 x64 安装包;显示基于 ARM 的处理器时,优先选择客户端提供的 ARM64 包。不要按浏览器位数或安装包体积判断架构。

  • x64 / amd64:通常对应 64 位 Intel、AMD Windows 电脑,名称中的 amd64 不代表只能用于 AMD 处理器。
  • ARM64 / aarch64:用于相应的 Windows on ARM 设备,仍需确认客户端和内核是否支持该平台。
  • x86 / ia32:对应 32 位程序;若系统是 32 位,不能直接安装只提供 x64 的客户端。

从客户端下载页进入 Windows 分类,核对支持系统与维护状态。Clash for Windows 已停止维护,旧教程中的界面不能直接视为当前客户端的操作标准。使用基于 mihomo 的客户端时,也要区分客户端版本与内核版本,反馈问题时分别记录。

安装包一般是 .exe 或 .msi,便携包一般是压缩文件。便携版应先完整解压到固定目录,再启动程序;不要在压缩包预览窗口内直接运行。放进下载临时目录后再清理文件,容易导致自启动快捷方式失效。

二、完成安装,先确认内核能正常启动

  1. 关闭仍在运行的旧客户端,包括系统托盘里的后台进程。首次排查只保留一个代理客户端。
  2. 运行安装程序,按向导安装;便携版则从解压目录启动。安装到受保护目录时,安装器可能请求管理员权限。
  3. 进入客户端「设置」,记录实际监听端口、内核类型及版本;在「日志(Logs)」查看启动结果。
  4. 确认没有配置解析失败、端口绑定失败或内核反复退出,再进入订阅导入步骤。

不同客户端的中文菜单名称会有差异。本文使用「配置(Profiles)」「代理(Proxies)」「规则(Rules)」「日志(Logs)」标明功能位置,不把某一款客户端的按钮名称当作所有版本通用路径。内核运行状态比窗口是否打开更重要:窗口正常显示,但内核未启动时,开启系统代理只会把应用请求指向一个没有服务的本地端口。

安装受阻时,不要先关闭安全防护

若系统提示来源或发布者风险,先确认下载来源、发布记录与文件数字签名状态;不能确认来源就停止安装。出现组件缺失提示时,按客户端项目说明安装对应的运行时组件,不要从随机下载站收集 DLL 放进程序目录。

如果窗口一闪而过,优先查看客户端日志、Windows「事件查看器」→「Windows 日志」→「应用程序」,以及「Windows 安全中心」→「病毒和威胁防护」→「保护历史记录」。保留具体错误文本,比反复重装更容易定位。

三、导入订阅,并确认当前使用的是哪份配置

进入「配置(Profiles)」页面,使用「导入」或「从 URL 导入」粘贴订阅地址;已有 YAML 文件时使用本地文件导入。订阅链接通常带有身份令牌,应按密码级别保管,不要贴到公开工单或在线转换网站。

  1. 导入后执行一次更新,确认页面显示成功,而不只是列表里多出一张配置卡。
  2. 选择该配置为当前配置,等待内核重新加载;有些客户端导入后不会自动激活。
  3. 进入「代理(Proxies)」,确认出现预期的策略组与节点。
  4. 打开「日志(Logs)」,检查是否有字段不支持、引用节点不存在或规则集加载失败。
现象优先检查下一步
HTTP 401 或 403订阅令牌、账户状态、访问限制在服务提供方后台重新获取链接,不重复使用公开泄露的旧链接
返回网页或登录页是否复制了管理页面地址换用真正的客户端订阅链接,避免把 HTML 当 YAML 导入
解析成功但没有节点订阅格式、账户套餐、节点列表确认返回内容适配当前内核,而非只有其他客户端支持的格式
配置无法加载日志中的具体字段和行号核对内核支持范围,保留原文件后再修改

更新订阅时若提示网络超时,需要区分“订阅服务器无法访问”和“节点无法使用”。部分客户端允许为订阅下载指定直连或代理通道;首次连接尚未建立时,选择一个不可用代理通道会形成更新死循环。按提供方说明选择可用的获取方式,不要为了导入订阅直接开放局域网监听。

四、选择节点,开启系统代理与规则模式

先在「代理(Proxies)」里找到实际被规则引用的策略组,选择一个节点并测试延迟。再开启「系统代理」,把运行模式设为「规则(Rule)」。系统代理是流量入口,规则模式是内核收到流量后的分流方式,两者不是同一个开关。

  • Rule:根据规则顺序决定走代理、直连或拒绝,适合日常使用。
  • Global:已进入内核的请求统一交给全局策略处理,可用于临时对照;它不会自动接管忽略系统代理的程序。
  • Direct:已进入内核的请求按直连处理,开启系统代理后仍可能呈现直连出口。

延迟测试出现 120 ms,只能说明当时经该节点访问测试地址获得了响应,不代表所有网站都能访问,也不等于下载速度。测试超时同样可能来自测试地址不可达。应继续用实际目标请求和连接日志确认。

用 Windows 设置核对系统代理

打开「设置」→「网络和 Internet」→「代理」,查看手动代理或设置脚本是否与客户端当前模式一致。手动代理常见地址是 127.0.0.1,端口以客户端显示为准。PAC 模式使用脚本决定哪些请求交给代理,不应把 PAC 脚本地址当成本地 HTTP 代理端口。

首次排查建议使用客户端的普通系统代理入口,暂时停用浏览器中接管代理设置的扩展。Firefox 等应用可能有独立代理设置;其他浏览器也可能被扩展或组织策略覆盖。系统开关显示开启,并不代表每个应用都会遵循。

五、用显式请求验证,避免只凭网页判断

下面以本地 HTTP 或 mixed 端口 7890 为例。这是检查命令,不是对所有客户端默认端口的承诺;如果实际端口为 7897,请对应修改。mixed 端口可同时接受 HTTP 与 SOCKS 请求,单独的 SOCKS 端口不能直接当 HTTP 端口使用。

# 在 PowerShell 中检查本地端口是否可建立 TCP 连接
Test-NetConnection 127.0.0.1 -Port 7890

# 明确通过本地 HTTP 代理请求,排除系统代理继承问题
curl.exe --noproxy "" --proxy http://127.0.0.1:7890 --connect-timeout 10 --max-time 20 -I https://www.example.com/

使用 curl.exe 是为了避免 Windows PowerShell 中 curl 别名造成参数含义不同。--noproxy "" 用于清除本次请求的代理绕过列表影响。命令中的目标站点只是连通性示例,还应换成实际需要访问的站点复测。

  1. TcpTestSucceeded 为 True:表示端口接受 TCP 连接,不能单独证明远端代理可用。
  2. 出现 Connection refused:先看端口是否填写错误,或内核是否退出。
  3. 显式代理请求成功、浏览器失败:重点查浏览器代理覆盖、PAC、缓存和规则差异。
  4. 请求已出现在连接记录但远端超时:核对命中规则、实际策略组、节点和 DNS 错误。

HTTP 代理访问 HTTPS 时,输出中的 200 Connection established 只表示 CONNECT 隧道建立;还应检查后续 TLS 与目标站响应。即便显式使用本地代理,配置也可能让该域名命中 DIRECT,因此要在「连接」或「日志」核对完整策略链,不能只看到请求进入内核就断言使用了远端节点。

六、端口占用、防火墙与管理员权限分别处理

端口占用:先找进程,不要盲目结束任务

日志出现 address already in use 或绑定失败时,在 PowerShell 执行:

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

# 也可以用传统命令查看监听进程编号
netstat -ano | findstr :7890

把结果中的进程编号与「任务管理器」→「详细信息」中的 PID 对照。常见原因是另一个客户端或旧内核仍在后台运行。优先正常退出对应程序;若需要改端口,应在客户端设置中修改,并重新应用系统代理,同时更新浏览器扩展与终端中写死的旧端口。

防火墙:区分本机连接与局域网入站

只让本机通过 127.0.0.1 使用代理时,通常不需要为了它开启「允许局域网」。Windows 防火墙弹出网络访问提示,不等于必须允许公共网络上的入站连接。只有确实要给手机等局域网设备使用时,才检查监听地址、私有网络配置与对应入站规则。

若怀疑安全软件阻止内核出站,查看拦截记录并核对程序完整路径;在「Windows 安全中心」→「防火墙和网络保护」中检查相关规则。使用最小范围的放行规则,不把长期关闭整个防火墙作为修复步骤。单位设备受组织策略限制时,应交由管理员确认。

权限:普通系统代理与 TUN 不是一回事

当前用户的系统代理设置通常不需要始终以管理员身份运行。TUN 涉及虚拟网卡、路由和相关服务,往往需要提升权限,或由客户端预先安装的服务处理。应使用客户端提供的服务安装流程,而不是把“每次管理员启动”当作所有故障的通用答案。

七、设置开机自启,并通过注销或重启复测

桌面客户端所说的「开机自启」通常是用户登录后启动,不等于登录前就建立代理。先在客户端「设置」中开启「开机启动」或「登录时启动」,按需开启「启动后最小化」。系统代理、TUN、当前配置是否恢复,应分别检查,不要假设自启动会自动恢复所有状态。

  1. 打开「任务管理器」→「启动应用」;Windows 10 中该页面通常名为「启动」,确认客户端条目已启用。
  2. 保留客户端自身创建的一个启动入口,避免再同时往启动文件夹添加快捷方式或另建计划任务。
  3. 正常退出再重新打开客户端,确认当前订阅、规则模式和策略组选择能够恢复。
  4. 注销后登录或重启,等待网络连接完成,再检查托盘、内核日志、系统代理端口与实际网页请求。

便携版移动了目录,自启入口可能仍指向旧路径;恢复固定位置后,在客户端中关闭再开启自启动。若客户端只有以管理员身份运行才正常,但登录自启时失败,应优先检查服务安装状态和权限设计,不要为方便而关闭 Windows 用户账户控制。

开机后节点全部超时,还可能是 Wi-Fi 尚未连接、系统时间未同步,或规则集更新早于网络可用。先等网络稳定再测试,查看日志中的时间顺序。桌面外壳已出现,不代表订阅服务器和节点此时已经可达。

八、退出后断网与最终验收清单

如果关闭客户端后浏览器立即无法上网,先到「设置」→「网络和 Internet」→「代理」检查是否留下了指向本地端口的手动代理或 PAC 脚本。客户端异常退出可能没来得及恢复设置。仅关闭由该客户端设置的项目;组织下发的代理不要自行删除。

终端仍然失败时,检查是否曾手动设置 HTTP_PROXY、HTTPS_PROXY 或 ALL_PROXY。这些环境变量独立于 Windows 系统代理开关,修改持久环境变量后通常还需要重新打开终端。不要因为浏览器恢复就忽略终端保留的旧地址。

  • 安装验收:客户端与内核均能启动,日志没有持续出现启动错误。
  • 配置验收:订阅更新成功,目标配置已激活,策略组引用的节点存在。
  • 代理验收:显式端口测试与实际应用请求均完成,并核对命中规则及策略链。
  • 自启验收:重新登录后只有一个客户端实例,端口、配置与代理状态符合预期。
  • 退出验收:正常退出后,本应直连的网络仍可使用,没有遗留失效的本地代理设置。

需要进一步排查时,整理 Windows 系统版本、CPU 架构、客户端与内核版本、监听端口、是否启用 TUN,以及一条失败请求对应的日志。截图前遮盖订阅地址、令牌、节点密码和管理接口密钥。按这些信息复现问题,通常比重复安装更有效。