Clash 文档中心中文使用手册

Clash 怎样分别记录手机与电脑的请求结果

Clash 怎样分别记录手机与电脑的请求结果。了解适用条件、操作步骤与常见问题的排查方法。

更新于 2026/10/4

适用条件:何时必须把两端结果拆开

当同一套内核可能同时处理来自手机与电脑的请求,或两次试验分别在两端发起时,必须把请求结果拆开记录。依据来自全局配置:allow-lan 允许其他设备经过代理端口;find-process-mode 控制是否匹配进程;log-level 决定控制台与控制页面能看到的信息量;authentication 则可能让两端使用不同用户。官方说明并未给出按设备自动分文件的功能名称,因此分别记录要靠你在归档时固定拓扑、源地址、进程匹配方式和时间窗,而不是事后在同一段日志里补标签。

若不拆开,一条 debug 日志里的失败会被同时写成手机结论和电脑结论。profile.store-selected 与 store-fake-ip 还会把上次选择或 fakeip 映射带到下一次启动,进一步模糊“是哪一端、哪一次请求”的结果。

分开记录的操作步骤

第一步,先固定拓扑再写文件名。若手机与电脑都作为客户端访问同一内核的代理端口,用源地址区分,并结合 bind-address、lan-allowed-ips 与 lan-disallowed-ips。判断依据:禁止段优先;绑定可以是全部地址或单个 IPv4、IPv6。记录里写明该条日志对应的源地址属于哪一端,而不是只写时钟时间。某一端地址若落在禁止段,应记为未进入代理端口,而不是记为请求失败。

第二步,若两次请求发生在同一台电脑的不同进程,用进程匹配模式帮助对照。find-process-mode 为 always 时强制匹配所有进程;strict 为默认、由内核判断是否开启;off 不匹配,文档推荐在路由器上使用。判断依据:在 off 或纯转发场景下,日志不会按进程把手机转发与电脑本机请求分开,必须改用源 IP 或独立时间窗分割文件。不要在 off 时声称已经按应用区分两端。

第三步,若已启用代理用户验证,把鉴权主体作为第二标识。authentication 可配置多组用户名与密码;skip-auth-prefixes 可让回环等地址跳过验证。判断依据:电脑走需验证的端口、手机落在跳过段时,两边的成功或失败原因本来不同,必须分文件。把跳过验证的成功写成另一端也成功,属于混记。

第四步,统一级别但分割输出窗口。log-level 取值 silent、error、warning、info、debug,且仅在控制台和控制页面输出。只测电脑时保存一份,只测手机时再保存一份;文件头复制当时的 mode、interface-name、ipv6、allow-lan。判断依据:mode 默认规则模式,global 与 direct 的结果不能和规则模式写在同一段落。interface-name 只说明本机出站网卡,手机蜂窝出站不经过该项时,不能把电脑出站失败抄到手机记录里。

第五步,若通过 API 观察状态,记录 external-controller 监听地址与 secret。文档说明可将回环地址改为全接口监听;Unix socket 与 Windows namedpipe 访问不验证密钥。判断依据:电脑本机无密钥看到的状态,不能直接当作手机经局域网访问 API 的结果。外部用户界面路径问题应另记:external-ui 可为绝对路径或相对工作目录的路径,超出工作目录时需要 SAFE_PATHS,界面加载失败不等于某一端请求失败。

判断已经混记以及失败时下一步

混记的判断标准包括:同一结果段落没有源地址或进程说明;在 find-process-mode 为 off 时仍声称已按应用区分两端;把 store-selected 保存的策略组选择当成某端本次探测结果;把 store-fake-ip 的旧映射当成另一端的新解析;用 silent 的空白输出同时证明两端正常。命中则整段作废,只保留原始日志。

失败时下一步:将级别调到 info 或 debug 后,用两次独立复现分别保存;检查 allow-lan 与禁止网段是否让其中一端根本进不了代理端口;检查 interface-name 是否只影响电脑本机出站。unified-delay 与 tcp-concurrent 若开启,应在两端记录中都注明,否则延迟数字不能横向比较。若仍无法从日志辨认来源,不要发明设备标签,只按时间窗把原始输出放进对应文件,并在文首列出上述官方字段。

参考资料:https://wiki.metacubex.one/config/general/

返回文章索引使用教程