要把个人 Clash 配置整理成可分享的最小示例,适用条件是:你已经有一份能被解析的配置,目的是让他人看懂字段关系或复现加载错误,而不是迁移你的生产环境。因此示例必须是合法 YAML,并且不能携带订阅凭证、登录口令、证书私钥,以及只属于你的主机路径。建议按先保证能加载、再去掉身份信息、最后替换代理集合的顺序处理。
按 YAML 良构规则裁剪而不是随机删行
YAML 把数据表示为映射、序列和标量。块映射用冒号连接键与值,块序列用短横线列举条目,注释以井号开头,缩进空格决定作用域。规范在加载过程中会检查流是否良构、别名能否解析、标签能否识别。最小示例只保留与问题直接相关的键,删除多余注释、重复节点和用不到的多文档分隔符。标量若包含冒号、井号或其他指示符,应加上引号,以免被解析成结构。判断依据有两条:缩进全部为空格且同一层级对齐;他人加载时失败点不应落在流不良构。
操作步骤:从顶层映射列出真正要用的键;按子树整块删除无关配置,而不是在行内零碎涂改;保存后确认仍是单一文档。若对方无法打开文件,下一步应检查是否混入制表符、引号未闭合,或把注释写进了未加引号的字符串,此时不要先改代理协议字段。
全局配置只保留行为开关
运行模式、日志级别、是否处理 IPv6、进程匹配模式等属于行为开关,可用文档给出的可选值演示。允许局域网、绑定地址、局域网白名单与黑名单、用户验证、跳过验证的网段、API 密钥、TLS 证书与私钥、外部控制器监听、出站接口名和路由标记会暴露网络位置或凭据,分享前应删除或改成无法使用的占位。外部用户界面路径、安全路径环境变量、GEO 下载地址和全局 UA 属于部署细节,不是结构最小集。用于记住策略组选择和 fake-ip 映射的缓存项对阅读没有帮助,可以省略。判断依据:示例里找不到可登录口令、可直连的个人地址,以及可下载你私有资源的完整链接。
若对方能够解析却对应不上你的问题,下一步核对是否误删了题目所需的键。若提示文件路径不在允许范围,应只使用工作目录内的相对路径来说明,而不是公开家目录下的绝对路径。
用 inline 代理集合代替真实订阅
代理集合必须提供不可重复的名称,类型为 http、file 或 inline。对外说明结构时优先使用 inline,在 payload 里放置少量字段完整、口令不可用的节点。若需要说明 http 类型,不要写出完整订阅网址,只保留 token=示例 这类参数片段。路径字段受家目录约束,示例写相对路径即可。更新间隔、请求头、健康检查、包含与排除过滤、按类型排除以及覆写项都是附加能力,只有主题正好是筛选或检查时才保留。解密用密钥不得出现在公开文本。判断依据:读者不依靠你的订阅也能看出集合如何声明;过滤条件不会把示例节点全部排除。
若 http 或 file 无法解析,下一步改用 payload 作为备用内容。若加载后节点列表为空,检查名称是否与策略组重复、排除类型是否命中示例节点、正则是否过宽。
https://yaml.org/spec/1.2.2/ https://wiki.metacubex.one/config/general/ https://wiki.metacubex.one/config/proxy-providers/