问题描述
转换 hysteria2 URI 时(如 hysteria2://password@host:port/?pinSHA256=xxx),生成的 Clash 配置中缺少 fingerprint 字段。
复现方式
- 使用包含 pinSHA256 参数的 hysteria2 订阅链接
- 通过 subconverter 转换为 Clash 格式
- 检查输出的 YAML,hysteria2 节点中没有 fingerprint 字段
对比
对比 proxyToSurge() 和 proxyToClash():
proxyToSurge() (有 fingerprint):
case ProxyType::Hysteria2:
if (!x.Fingerprint.empty())
proxy["server-cert-fingerprint-sha256"] = x.Fingerprint;
proxyToClash() (漏掉):
case ProxyType::Hysteria2:
singleproxy["ports"] >>= ports;
singleproxy["up"] >>= up;
// ... 其他字段
// ❌ 没有写入 fingerprint
break;
影响
导致 OpenClash 等客户端无法验证服务器证书指纹,存在中间人攻击风险。
环境
- subconverter 版本: 最新
- 客户端: OpenClash
期望
转换后的 Clash 配置中应包含 fingerprint 字段,与 Surge 格式一致。
问题描述
转换 hysteria2 URI 时(如
hysteria2://password@host:port/?pinSHA256=xxx),生成的 Clash 配置中缺少fingerprint字段。复现方式
对比
对比
proxyToSurge()和proxyToClash():proxyToSurge() (有 fingerprint):
proxyToClash() (漏掉):
影响
导致 OpenClash 等客户端无法验证服务器证书指纹,存在中间人攻击风险。
环境
期望
转换后的 Clash 配置中应包含 fingerprint 字段,与 Surge 格式一致。