分享 Clash 面板连接信息前,应先按官方全局配置区分「别人连 API 所必需的地址」和「一旦泄露即可控制内核或读出证书私钥的材料」。可分享的是监听位置类信息;必须隐藏的是 secret、TLS 私钥、代理账号,以及文档写明不校验密钥的套接字入口。
适用条件与分享边界
仅当接收方需要打开外部用户界面或调用 RESTful API 时才分享连接信息。官方监听字段是 external-controller(示例 127.0.0.1:9090),界面在 API 地址/ui。若接收方只在本机使用,保留回环地址即可;若监听已改为 0.0.0.0,分享前要意识到任意网卡可达 API,此时更不能附带密钥明文。
不适用于把完整配置文件当连接说明转发。完整文件还含代理验证、TLS 私钥、GEO 下载地址等,超出面板连通所需。Unix socket、Windows named pipe、API 上的 DOH 按文档不验证 secret,这些路径本身就相当于未加密钥的控制面,分享前应视为高敏感,而不是「没有 secret 就可以公开」。
必须隐藏或脱敏的字段
secret:API 访问密钥,文档允许为空字符串。非空时禁止原文贴出;空密钥则应改成先设置密钥再分享,而不是把「无密钥的 API」广播出去。
tls.private-key 与 ech-key:HTTPS-API 的私钥和 ECH 密钥。certificate 虽是公钥证书,与私钥成套出现时也不应连带完整 PEM 一起发出。路径形式的私钥同样要隐藏;文档还提到路径越出工作目录需配置 SAFE_PATHS,该环境变量内容也不应随连接信息发送。
authentication 中的密码以及整份 user:pass 列表:这是 http(s) / socks / mixed 代理用户验证,不是面板连接所必需。skip-auth-prefixes 会放宽代理验证,也不应随面板说明公开。
external-controller-unix、external-controller-pipe 的具体路径或管道名,以及 external-doh-server 的 URL 路径:文档写明这些入口不验证 secret,泄露后调用方无需密钥即可访问 API。分享面板信息时默认删除这些项,或只说明「未启用」,不要给可达路径。
另外,不要把 bind-address、过宽的 lan-allowed-ips、以及 CORS 里 allow-origins: '*' 当成可以随意转发的「小提示」而不加说明:它们不替代密钥,但会放大密钥或无密钥入口被滥用的范围。external-ui-url 若指向未审查的压缩包地址,也不宜当连接二维码附件转发。
可以保留的信息与判断依据
在接收方已通过其它安全渠道单独拿到密钥的前提下,可保留:API 主机与端口(来自 external-controller 或仅告知其 TLS 端口对应的 external-controller-tls)、是否使用 HTTPS、界面相对路径为 /ui。external-ui-name 只影响目录名,不含密钥,一般可保留。Linux 的 external-controller-routing-mark 与连通无关,分享无益,直接省略。
判断「可以发出」的依据:该字段不能单独用于通过 API 鉴权,也不能单独用于解密 TLS,也不能绕过 secret。凡能直接调用控制接口或冒充代理用户的字符串,都应隐藏。局域网开关 allow-lan 只说明代理端口是否对局域网开放,不是面板密钥;即使提及,也不要附带黑白名单里的具体主机。
已经误分享或不确定时的下一步
若 secret、私钥或 unix/pipe/DOH 路径已经随连接信息发出,应视为控制面暴露:更换 secret,停止或限制不校验密钥的入口,并轮换 tls 私钥。接收方只需要面板时,改发「地址 + 端口 + 使用密钥(密钥另传)」三行说明,删除配置原文。无法判断某字段是否敏感时,对照官方「外部控制 (API)」「用户验证」「TLS」三节:凡标注访问密钥、私钥、不验证 secret 的项,默认隐藏。不要用代理端口密码顶替已泄露的 API 密钥。