Hysteria2 新增 Gecko 混淆:把 QUIC 握手拆碎,对抗 Salamander 包长识别
如果你的 Hysteria2 节点最近又开始时好时坏,可能不全是机场的锅。2024 年起 GFW 已经能审查 QUIC 流量,连 Hysteria2 自带的 Salamander 混淆,其握手包的包长特征都可能被统计型 DPI 盯上。
hysteria 在 v2.9.2 给了个新解法——Gecko。这篇讲清它是什么、谁能用上、怎么配。
30秒先看完
- Gecko 是 Hysteria2 在 v2.9.2(2026 年 5 月下旬) 新增的实验性混淆,不是新协议:它建立在 Salamander 之上,额外把 QUIC 握手包拆成随机大小、随机填充的碎片,打散包长特征。
- 谁能用:协议本体(hysteria 官方)已支持;mihomo 1.19.26 已跟进;sing-box 仅 1.14 alpha 预览版有,稳定版还没;Xray 系(含 3x-ui)不支持。别笼统说"全生态可用"。
- 怎么开:服务端和客户端都升到 v2.9.2+,两端
obfs填一样的type: gecko和同一个 password 即可;机场用户用支持的客户端更新订阅就行。
一、Gecko 到底是什么
Salamander 是 Hysteria2 原本就有的混淆层,作用是给流量加扰、不让它一眼看出是 Hysteria2。但"加扰"不等于"无特征"——统计型 DPI 仍可能通过握手包的长度、结构这类统计特征来识别。
Gecko 就是冲着这点来的。官方文档对它的定位是(原文):
(experimental) builds on Salamander and additionally fragments QUIC handshake packets into randomly-sized, randomly-padded chunks.
翻成人话:它在 Salamander 之上,再把 QUIC 握手包拆成随机大小、随机填充的碎片,让原本相对固定的包长特征被打散。
两个关键认知:
- 它是
obfs下的一个 type,建立在 Salamander 之上的增强,不是用来"替代 Hysteria2"的新协议。 - 官方明确标了 experimental(实验性),意味着可能有坑、配置后续可能变。
一个细节,别当定论
有第三方资料说 Gecko 会把"长头握手包拆成 2–8 个碎片、短头包走普通 Salamander"。这个具体数字来自 sing-box 的 issue 讨论,官方文档并未确认,了解即可,别当成权威参数到处引用。
二、谁能用上:区分"协议发布"和"客户端跟进"
这是最容易被自媒体说糊的地方。协议本体发布 ≠ 你手上的客户端就能用。逐个看:
| 组件 | 版本 | Gecko 支持 |
|---|---|---|
| hysteria 官方(协议本体) | app/v2.9.2(2026-05) | ✅ 已支持(experimental) |
| mihomo / Clash.Meta 内核 | v1.19.26(2026-05-31) | ✅ 已支持 |
| sing-box | 1.14.0-alpha 预览版 | ⚠️ 仅 alpha 可用,稳定版(1.13.x)还没有 |
| 3x-ui(Xray 系面板) | v3.2.7 | ❌ 不支持(受上游 Xray-core 限制) |
| Xray-core 及其生态 | — | ❌ 未实现 |
一句话落地:
- 用 mihomo 内核的客户端(各种 Clash Meta 壳),升级到带 1.19.26+ 内核的版本就能用。
- sing-box 用户得装 1.14 的 alpha 预览版,稳定版还等不到。
- 走 Xray 的那套(部分 v2rayN 配置、3x-ui 搭的服务端)用不了。
两端都得支持
不支持 Gecko 的客户端导入 obfs: gecko 的节点,可能直接连不上、或静默忽略这个字段。服务端和客户端必须都升到 v2.9.2+、都开 Gecko 才有意义。
三、怎么配
服务端和客户端的写法一致(password 两端必须相同):
obfs:
type: gecko
gecko:
password: 你的强密码 # 客户端与服务端必须完全一致
minPacketSize: 512 # 每个握手碎片的最小字节数,默认 512
maxPacketSize: 1200 # 每个握手碎片的最大字节数,默认 1200(上限 2048)字段名是 camelCase,别写错
官方写法是 minPacketSize / maxPacketSize(驼峰),不是 min_packet_size(下划线)——网上一些转述写成下划线是错的。另外,sing-box 等其它内核自己的键名风格可能不同,以你所用客户端的文档为准。
机场用户基本不用碰这些:这些是机场在服务端配好的,你只要用一个支持 Gecko 的客户端(mihomo 系,或 sing-box 1.14 alpha)更新订阅即可。
四、用之前想清楚
- 它还是 experimental:尝鲜可以,别指望它"永不被封";实验性功能后续配置和行为都可能调整。
- 顺手升个级也值:v2.9.2 同时带了多项安全修复,官方建议更新——就算不为 Gecko,为安全也该升。
- 别和 Salamander 二选一搞混:Gecko 是在 Salamander 之上的增强,不是和它并列的另一个选项。
- 不是万能:它针对的是"统计型包长特征"这一类识别手段,能不能改善你的线路,取决于对手到底用什么方式封。
小结
- Gecko 是 Hysteria2 v2.9.2 起的实验性混淆,在 Salamander 之上把 QUIC 握手包拆成随机碎片,打散包长特征。
- 能不能用看内核:mihomo 1.19.26+ 和 sing-box 1.14 alpha 行,Xray 系不行。
- 两端同升 v2.9.2+、
obfs配置一致即可;字段名是 camelCase。 - 实验性功能,尝鲜没问题,别神化成"绝对抗封"。
免责声明
本文基于 hysteria 官方 Changelog 与文档、mihomo / sing-box 公开 release 整理,版本号与字段以官方文档为准(实验性功能随更新可能变动)。请在遵守当地法律法规的前提下,合理使用相关网络工具。
还没搞懂 Hysteria2 的 Brutal 拥塞控制、QUIC/UDP 传输和 Salamander 混淆?这篇把原理、配置和坑讲清楚,是看懂 Gecko 的前置知识。
Gecko 只是混淆层的小升级。想知道弱网该不该用 Hysteria2、强审查环境又该选谁,看这篇分场景的协议选型。
与其纠结混淆参数,不如先有一条底子好的线路。这份长期更新的清单按性价比、稳定性和解锁能力筛选,附速查表与分项简评。