安全与隐私 · Clash 技术博客

Clash 配置文件能直接分享吗?订阅、节点密码与 secret 脱敏指南

完整配置通常不能直接发给别人,因为订阅 token、节点密码和控制器 secret 可能都在里面。排障时应另外制作一份最小、可读、已经脱敏的副本。

  • 配置脱敏
  • YAML
  • secret
  • 隐私
本文目录

配置报错时,把整份文件发出去看似最快,却可能连订阅和节点密码一起交给别人。用于恢复的原始备份和用于求助的副本应分开保存:前者保持完整并加密,后者只保留能重现错误的结构和占位值,截图、二维码与日志也要一起检查。

求助文件中,哪些信息必须隐藏?

按下表检查配置、日志和截图,遮住订阅 token、节点密码、控制器 secret 与内网信息。另存用于求助的副本,并在本机确认还能重现原问题;原始备份不要直接改写,保存方法见下一节。

分享前逐项找

位置或字段可能暴露什么处理方式
订阅 URL 查询参数可直接拉取整份配置的 token删除完整 URL,只保留域名与状态码
proxies 节点server、UUID、password、PSK、private-key用 example.com 与 REDACTED 占位
external-controller / secret本地控制地址与 API 密钥保留字段结构,替换真实值
日志与截图Authorization、Cookie、用户名、二维码裁掉无关界面并再次通读
LAN 与公司域名内网地址、主机名和拓扑只保留问题必须出现的最小范围

加密保存原始备份,另建最小排障副本

原始备份必须保留真实订阅、节点与本地覆写,只放在自己控制的加密存储中。制作排障副本时从新文件开始,只加入能重现问题的字段;不要拿原文件一路删除,长 URL、Provider header 和脚本参数很容易漏掉。

备份文件名可以带客户端、内核与日期,例如 verge-macos-2026-07-16-private.zip。压缩包不是加密;若存入云盘,应使用平台的端到端加密或加密归档,并限制共享权限。

用占位值做一份仍能看懂结构的最小配置

可公开的结构示例
mixed-port: 7890
external-controller: 127.0.0.1:9090
secret: REDACTED

proxies:
  - name: test-node
    type: socks5
    server: example.com
    port: 1080
    username: REDACTED
    password: REDACTED

proxy-groups:
  - name: Test
    type: select
    proxies: [test-node, DIRECT]

rules:
  - DOMAIN,example.org,Test
  - MATCH,DIRECT

问题若发生在 DNS,只保留 DNS、一个测试策略组和相关规则;问题若是 YAML 解析,保留报错行前后的层级。占位后先在本机验证仍能触发同一错误,否则别人看到的已经不是原问题。

发出前用文本搜索补一次人工检查

先进入准备分享的副本目录,第一条 rg 命令只搜索这里的文件。后两条 Git 命令仅在实际 Git 仓库中运行:进入对应仓库根目录,把 path/to/config.yaml 换成配置文件相对于仓库根目录的真实路径。

git diff --staged 查看待提交内容,git log --all 查看各引用中的相关历史。命令报错、路径写错或查不到提交,都不能证明凭据从未入库;不是 Git 仓库的副本只做文本检查,不假装完成历史清理。

在副本目录中搜索常见敏感字段
rg -n -i 'token|secret|password|passwd|uuid|private-key|authorization|cookie' .
git diff --staged
git log --all -- path/to/config.yaml

搜索只能提醒常见字段,不能识别自定义 header、二维码和被改名的凭据。确认搜索结果后仍要逐行阅读准备分享的文件,并检查终端提示符、浏览器标签和截图通知。

真实配置已经发出去,要更换凭据而不是继续打码

如果原文件已经进过群聊、工单或公开仓库,补发一份脱敏版只能减少后续误用,不能让旧凭据失效。应更换已经暴露的凭据,让旧值失效。

泄露后的动作

泄露内容立即处理
完整订阅 URL在服务面板重置 token/订阅地址,并更新每台设备
external-controller secret生成新 secret,确认控制端口没有对不可信网络开放
节点认证信息由服务端管理员更换密码、UUID、PSK 或私钥
Git 历史先撤销或更换所有已暴露凭据,再按需要清理历史;只删除最新文件不够。
公开日志或截图撤回以减少传播,同时更换其中暴露的每项真实凭据

更换后从未登录窗口访问旧订阅地址,或使用旧 secret 请求控制接口,确认它确实失效。客户端显示名称改了、公开帖子删了,都不能替代这个验证。

配置、日志与截图可以发送的条件

可以发送的条件

  • 最小副本在本机仍能重现相同错误
  • 所有 URL 查询参数、节点认证和 secret 已替换
  • 日志没有 Authorization、Cookie、本机用户名和绝对路径
  • 截图没有二维码、账号、通知和无关标签页
  • 原始完整备份从未进入公开仓库或共享链接

参考资料