一、客户端、内核和订阅各负责什么?
客户端提供操作界面,内核处理连接与规则,订阅提供配置数据。安装客户端不等于已经获得可用节点。开始前需要确认三件事:客户端能启动内核、配置能被内核解析、配置里的节点服务仍然有效。
- 客户端:负责导入配置、切换策略、设置系统代理、显示日志。不同客户端的菜单名称和设置保存方式可能不同。
- 内核:读取 YAML,监听本地端口,执行 DNS、规则匹配和代理协议。Clash Meta 后续以 mihomo 名称发展,不应把所有 Clash 系客户端都视为同一内核。
- 订阅:通常是带访问凭据的 URL,返回完整配置或节点集合。内容格式要与导入入口匹配。
选客户端时先核对操作系统和处理器架构,再查看所用内核是否支持订阅里的协议与字段。配置出现“未知代理类型”时,反复更改端口通常没有帮助,应先检查协议支持情况。平台入口见客户端下载页,概念区别见选型指南。
二、订阅链接怎样导入才算成功?
导入、启用、验证是三个独立步骤。列表里出现配置名称,只能说明客户端保存了一个条目;还需要确认下载内容有效,并将它切换为当前配置。
- 从服务提供方复制适用于 Clash 或 mihomo 的订阅链接,避免把账户后台页面地址当成订阅。
- 在客户端的“配置”或“Profiles”页面寻找 URL 导入入口。菜单因客户端而异,以当前界面为准。
- 导入后检查更新时间和错误提示,选择该配置并确认内核没有解析失败。
- 进入代理策略页面,选择一个节点,再打开系统代理,用浏览器发起一次实际请求。
有些链接只返回节点集合,应放入兼容的 proxy-providers 配置,不能直接当成完整 Profile。不要为了转换格式把私密订阅提交给不可信的在线服务;优先使用服务方提供的匹配格式。
三、Profile 是节点列表吗?本地修改会保留吗?
Profile 是一套可切换配置,不一定只有节点。完整配置还可能包含监听端口、DNS、策略组和分流规则。远程 Profile 更新后,直接编辑下载文件的内容可能被覆盖;客户端的持久化覆盖、合并或覆写功能才是更适合保存个人设置的位置。
下面是配置片段,不是可独立导入的完整订阅。它说明端口、模式、日志是彼此独立的字段;已有配置应修改对应项,不要在文件尾部重复添加同名键。
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
mixed-port: 7890:在同一端口接收 HTTP 代理和 SOCKS 代理连接,实际使用值以客户端生效配置为准。allow-lan: false:不向局域网设备开放代理访问,适合仅本机使用的起点。mode: rule:启用按规则分流,不负责自动选择最快节点。log-level: info:保留常规运行信息,排查后不必长期使用更详细的调试日志。
建议把配置按用途命名,例如“日常订阅”和“临时测试”,切换后核对当前配置名称及策略组选择。复制本地配置前还应确认其中是否有节点密码;备份文件同样需要妥善保存。
四、规则、全局和直连模式该怎么选?
日常先用规则模式;全局模式适合短时隔离分流问题;直连模式用于明确不经过代理的场景。模式改变的是连接选择出站的方式,不会修复错误的密码、失效的节点或无法访问的代理服务器。
| 模式 | 主要行为 | 检查重点 |
|---|---|---|
rule | 按规则顺序匹配出站策略 | 命中的规则及策略组当前选择 |
global | 使用全局策略处理普通连接 | GLOBAL 当前选择的出站 |
direct | 普通连接采用直连出站 | 本地网络能否直接访问目标 |
下面的规则片段仅演示匹配顺序,并假定现有 proxy-groups 已定义名为“代理选择”的策略组。example.com 是规则语法示例域名,不是可用性测试目标。
mode: rule
rules:
- DOMAIN-SUFFIX,example.com,DIRECT
- MATCH,代理选择
规则通常自上而下匹配,末尾的 MATCH 接住此前未命中的连接。若把兜底规则放到前面,后续规则便无法发挥作用。另一个常见误区是把“规则模式”等同于“全部走代理”:规则可以选择 DIRECT,策略组本身也可能选中了直连。
五、系统代理打开了,为什么终端仍不走代理?
系统代理不是强制接管全部网络的开关。它把代理地址交给遵循系统设置的应用;部分命令行工具、游戏和自带网络栈的应用不会自动采用该设置。浏览器还可能受代理扩展和独立设置影响。
先用显式代理区分“内核问题”与“应用设置问题”
假定实际混合端口为 7890,在 Windows PowerShell 中可以使用系统提供的 curl.exe 发起请求。这里明确指定程序名,避免部分环境把 curl 解释成其他命令。
curl.exe --proxy http://127.0.0.1:7890 --connect-timeout 10 --max-time 20 https://example.com/
这条命令检查指定端口的代理请求链路;它访问的是示例站点,不能单独证明出口地区或所有网站均可访问。若显式代理成功而直接运行工具失败,应检查工具自己的代理配置,而不是立即更换订阅。
需要时仅为当前终端设置环境变量
$env:http_proxy = "http://127.0.0.1:7890"
$env:https_proxy = "http://127.0.0.1:7890"
这些 PowerShell 设置仅影响当前进程及后续启动的子进程,而且工具必须支持相应变量。https_proxy 的值使用 http://,表示本地 HTTP 代理协议,并不表示目标 HTTPS 网站会改用明文。清除时可执行 Remove-Item Env:http_proxy, Env:https_proxy -ErrorAction SilentlyContinue。
六、7890 端口被占用,应该改哪一处?
先确认占用者,再决定关闭重复进程或更改监听端口。日志出现 address already in use 通常说明内核无法绑定指定地址与端口,不等于远程节点超时。
Windows 可查询本地监听端口及其进程 ID:
Get-NetTCPConnection -LocalPort 7890 -State Listen |
Select-Object LocalAddress, LocalPort, OwningProcess
拿到 OwningProcess 数字后,在任务管理器“详细信息”中核对 PID,或者用 Get-Process -Id 后接该数字查询。不要只凭端口号结束未知进程。常见占用者是另一款代理客户端,或同一客户端遗留的内核实例。
- 若是重复客户端,先正常退出不需要的那一个,再重启当前内核。
- 若需要更换端口,可将实际生效的
mixed-port从7890改为未占用的7891。 - 同步修改系统代理、终端环境变量及应用手动代理地址,避免应用继续连接旧端口。
客户端可能通过界面覆盖 YAML 中的端口,修改后要在运行日志或监听列表中确认最终数值。代理监听端口也不等于控制接口端口;external-controller 用于管理接口,不应填进浏览器的代理端口栏。
七、节点显示超时,是否意味着订阅失效?
不一定。超时只表明某次测试没有在限定时间内完成。测试 URL、DNS、本地网络、节点协议、服务端状态都会影响结果。客户端的延迟测试也不是带宽测试,较低的延迟数值不保证下载速度更高。
- 所有节点同时超时:先检查本地联网状态、订阅是否更新成功、内核是否启动,再看服务方是否有整体故障。
- 只有一个节点超时:对照同一订阅的其他节点,优先检查该节点的地址、端口及服务端状态。
- 测试失败但网页可用:检查延迟测试目标能否经该节点访问,避免把单个探测地址的失败当作全部连接失败。
- 测试成功但网页打不开:查看网页请求实际命中的规则、策略组和节点,测试用的节点可能并不是网页实际使用的出站。
排查时保留“发生时间、目标域名、错误类型、所选策略”四项信息即可。connection refused 通常表示连接被拒绝,i/o timeout 表示相关读写操作超时;二者都不能单凭一行日志推断为账号到期。
八、DNS 和 TUN 模式需要一开始就开启吗?
先验证普通代理链路,再按应用需求增加 TUN;DNS 要与接管方式一起检查。TUN 使用虚拟网络接口接管流量,适合不遵循系统代理的应用,但具体覆盖范围取决于操作系统、路由和排除设置,不代表开启后所有流量都会经代理节点出站。
DNS 故障先看现象
若日志出现域名解析失败,应区分“节点服务器域名无法解析”和“目标网站域名无法解析”。前者可能使代理连接根本无法建立,后者涉及目标请求的解析路径。不要直接复制一整套 DNS 配置覆盖现有订阅,否则可能同时改变解析服务器、解析模式与分流行为。
TUN 开启前检查三个条件
- 内核和客户端支持当前系统的 TUN 功能,并已获得所需权限;部分桌面客户端需要服务模式或管理员授权。
- 普通显式代理请求已经成功,避免把无效节点与虚拟网卡问题混在一起排查。
- 确认没有其他 VPN、虚拟网卡或代理工具同时接管默认路由,开启后检查连接记录与系统网络是否正常。
九、开机自启开启后,为什么仍需手动连接?
登录后启动客户端、启动内核、恢复配置和开启代理是不同环节。有些客户端只恢复窗口或托盘进程,不会自动恢复系统代理;服务模式也不等于一定在用户登录时启动图形界面。
以 Windows 11 为例,可以在系统“设置”→“应用”→“启动”检查客户端启动项,或在“任务管理器”→“启动应用”查看状态。客户端内部是否还有“启动内核”“恢复上次状态”等选项,需要按实际产品确认,不能套用其他客户端的菜单路径。
- 重启登录后确认托盘进程存在,并检查内核运行状态。
- 核对当前 Profile 是否仍为预期配置,策略组是否恢复了正确节点。
- 检查系统代理地址是否指向正在监听的端口,而非上次修改前的旧值。
- 若依赖 TUN,另外确认服务权限与虚拟网卡已就绪。
建议用一次完整重启验证,而不是只关闭再打开窗口。如果网络在登录后稍晚才连接,首次订阅更新失败不一定需要重装;联网后手动更新并检查日志更能定位原因。
十、第一周怎样维护,出问题时怎样恢复?
保留可用配置,每次只改一类设置,并用同一种请求复测。同时更改 DNS、模式、TUN 和节点会失去对照,即使恢复连接,也难以知道是哪项修改起效。
- 保存基线:记录客户端名称、内核版本、当前 Profile、监听端口和代理模式。版本号从客户端“关于”或内核信息页读取,不要只记录安装包文件名。
- 控制更新:按服务方建议设置订阅更新周期,更新失败时先检查网络和返回内容,不要连续高频重试。
- 分步变更:先改节点,再测同一请求;需要调整规则时,只改一条规则并在连接记录中确认命中情况。
- 保留恢复路径:配置修改前备份;切回可用 Profile 后,核对客户端是否仍在应用全局覆写。
- 正确退出:先关闭系统代理,再退出客户端;TUN 用户还应确认相关接管已停止,避免应用继续访问不存在的本地监听。
若退出后浏览器无法联网,Windows 11 可检查“设置”→“网络和 Internet”→“代理”中的手动代理;macOS 可检查“系统设置”→“网络”→当前网络服务→“详细信息”→“代理”。由组织管理的设备不要擅自修改受管设置。命令行仍异常时,再检查终端里是否残留代理环境变量。
第一周的验收标准很具体:配置可正常启用,显式代理请求成功,应用能使用预期入口,重启后状态可恢复,退出后直连网络正常。需要逐项核对 YAML 时,继续查看配置字段说明;安装与导入流程可参照入门指南。