Hysteria2配置文件怎么写?2026 Mihomo YAML参数、SNI、obfs与导入教程

Hysteria2配置文件怎么写?2026 Mihomo YAML配置、参数说明与导入教程

使用 Mihomo、Clash Verge Rev 等客户端时,如果订阅中包含 Hysteria2 节点,经常会看到一段包含 server、port、password、sni 等字段的 YAML 配置。

对于刚开始接触 Hysteria2 的用户,最常见的问题包括:

  • Hysteria2配置文件怎么写
  • Hysteria2怎么配置到Mihomo
  • Hysteria2 YAML格式是什么
  • Clash怎么添加Hysteria2节点
  • Hysteria2的server和port怎么填
  • Hysteria2 password是什么
  • Hysteria2 SNI怎么设置
  • skip-cert-verify要不要开启
  • Hysteria2 obfs怎么配置
  • Hysteria2配置导入后为什么不能用
  • Mihomo配置Hysteria2报Invalid Config
  • Hysteria2节点显示Timeout怎么办

Hysteria2的配置并不复杂,但它和普通 Shadowsocks、VLESS、Trojan 节点使用的字段并不完全相同。

如果某一个关键参数填写错误,就可能出现:

配置可以导入,但节点无法连接;

或者:

配置文件直接无法加载。

本文按照 Mihomo / Clash Meta 常见 YAML 结构,讲清楚 Hysteria2 配置文件中的主要参数、正确写法以及常见错误。


Hysteria2 配置参数太复杂,想获取可直接导入 Clash / Mihomo 的稳定订阅线路?

获取稳定订阅线路

一、先确认客户端是否支持Hysteria2

在写配置之前,首先确认客户端底层核心支持 Hysteria2。

目前常见的:

  • Mihomo
  • Clash Meta
  • 部分新版Clash Verge Rev

通常具备较完整的 Hysteria2 支持。

而较老的传统 Clash 核心可能无法识别:

type: hysteria2

如果内核不支持,即使 YAML 写得完全正确,也可能提示:

Unsupported Proxy Type

或者:

unknown proxy type hysteria2

所以配置 Hysteria2 之前,第一步不是修改 YAML。

而是先确认:

当前使用的是支持 Hysteria2 的 Mihomo / Clash Meta 核心。


二、最基础的Hysteria2 YAML配置长什么样?

一个简化的 Hysteria2 节点可以写成:

proxies:

  • name: HY2-US
    type: hysteria2
    server: example.com
    port: 443
    password: your-password
    sni: example.com
    skip-cert-verify: false

这是一个最容易理解的基础结构。

主要字段包括:

name
type
server
port
password
sni
skip-cert-verify

实际服务端还可能使用:

obfs
obfs-password
up
down
fingerprint

等更多参数。


三、type为什么必须写hysteria2?

在 Mihomo 配置中:

type

用于告诉核心当前节点使用什么协议。

Hysteria2 节点通常需要:

type: hysteria2

如果误写成:

type: hysteria

或者:

type: hy2

客户端可能无法识别。

常见结果包括:

Invalid Config

或者:

Unsupported Proxy Type

所以不要自行缩写协议名称。


四、name参数是什么?

例如:

name: HY2-US

这个字段只是节点在客户端中显示的名称。

可以改成:

name: 美国Hysteria2

或者:

name: 美国高速01

一般不会影响协议本身。

但要注意:

如果 Proxy Groups 已经引用:

HY2-US

你把节点改成:

美国Hysteria2

以后,代理组里的节点名称也需要同步修改。

否则可能出现:

Proxy Not Found


五、server应该填写什么?

server 是 Hysteria2 节点服务器地址。

例如:

server: example.com

或者:

server: 1.2.3.4

可以是:

  • 域名
  • IPv4地址
  • 部分情况下IPv6地址

这个值必须和服务端实际提供的信息一致。

不要把:

订阅网站域名

误认为:

Hysteria2节点服务器。

它们可能完全不是同一个地址。


六、port应该怎么填?

port 是 Hysteria2 服务端监听端口。

例如:

port: 443

也可能是:

port: 8443

或者其他端口。

必须使用服务端提供的实际端口。

如果端口错误,常见表现就是:

Timeout

Connection Failed

无法建立连接

配置本身可能仍然能够正常导入。


七、password是什么?

Hysteria2通常需要认证密码。

例如:

password: abc123456

客户端连接服务器时,会使用这个密码进行身份验证。

如果密码错误,可能出现:

Authentication Failed

Handshake Failed

连接超时

因此如果节点来自远程订阅,一般不建议自己修改 password。


八、password包含特殊字符怎么办?

如果密码中包含:

:

{
}
[
]
&
*

等特殊字符,建议使用引号。

例如:

password: “abc#123:456”

这样可以避免 YAML 把其中某些字符当成语法。

尤其:

在 YAML 中可能被理解成注释。

所以如果密码是:

abc#123

写成:

password: abc#123

就可能被解析成:

abc

后面的内容被当成注释。

更安全的写法是:

password: “abc#123”


九、SNI是什么?

配置中经常会看到:

sni: example.com

SNI主要用于TLS握手。

可以简单理解为:

客户端在建立加密连接时,需要告诉服务器自己要验证哪个域名。

通常 SNI 应该使用服务端提供的值。

不要自己随便改成:

google.com

或者其他域名。

如果 SNI 与服务端证书不匹配,可能出现:

TLS Handshake Failed

Certificate Error

Connection Closed


十、server和SNI一定一样吗?

不一定。

例如:

server: 1.2.3.4

但:

sni: cdn.example.com

这是完全可能的。

server负责:

实际连接哪个地址。

sni负责:

TLS握手时使用哪个域名。

所以不要看到两者不同,就认为配置一定错误。

以服务端提供的参数为准。


十一、skip-cert-verify是什么意思?

例如:

skip-cert-verify: false

它控制:

是否跳过TLS证书验证。

false:

正常验证证书。

true:

跳过证书验证。

一般情况下,如果服务端证书配置正常,优先使用:

false

不要为了“连接成功”随便改成:

true

如果必须开启才能连接,应该进一步检查:

  • SNI
  • 证书
  • 系统时间
  • 服务端TLS配置

十二、系统时间为什么会影响Hysteria2?

Hysteria2通常涉及TLS。

如果电脑日期或时间严重错误,证书可能被判断为:

未生效

或者:

已经过期

于是出现TLS连接失败。

所以如果所有参数看起来都正常,却提示:

Certificate Error

可以先确认:

Windows系统时间
时区
自动同步时间

是否正确。


十三、obfs是什么?

部分Hysteria2服务端会启用流量混淆。

配置里可能出现:

obfs: salamander

以及:

obfs-password: xxxxxx

例如:

proxies:

  • name: HY2-US
    type: hysteria2
    server: example.com
    port: 443
    password: your-password
    obfs: salamander
    obfs-password: “your-obfs-password”

如果服务端启用了 obfs,而客户端没有填写对应参数,就可能无法连接。


十四、obfs-password和password是同一个东西吗?

不是。

password通常用于:

Hysteria2认证。

obfs-password用于:

流量混淆。

如果服务端同时设置了两者,就需要分别填写。

不要把:

password

复制到:

obfs-password

除非服务端明确就是同一个值。


十五、为什么有些Hysteria2配置没有obfs?

因为:

obfs不是所有Hysteria2服务器都必须使用。

部分服务器不启用混淆,就不会出现:

obfs

或者:

obfs-password

所以不要为了“配置完整”自行添加。

服务端没有要求,就不需要额外填写。


十六、Hysteria2的up和down是什么?

部分配置中可能看到:

up: 50 Mbps

down: 200 Mbps

或者类似带宽参数。

这些参数通常与:

客户端速率控制

或:

拥塞控制

有关。

具体支持格式会随 Mihomo 版本变化。

如果订阅已经自动生成,一般保持原配置即可。

普通用户不建议为了“提高速度”随意把数值改得非常大。


十七、带宽参数越大速度越快吗?

不一定。

真正速度还受到:

  • 本地宽带
  • 节点服务器带宽
  • 国际线路
  • UDP丢包
  • 网络拥塞
  • 节点负载

影响。

把:

100 Mbps

改成:

1000 Mbps

并不会凭空提高服务器带宽。

设置错误反而可能影响实际表现。


十八、Hysteria2为什么特别依赖UDP?

Hysteria2主要基于QUIC/UDP通信。

所以相比TCP协议,它对UDP环境更加敏感。

即使配置完全正确,如果当前网络:

  • 禁止UDP
  • UDP丢包严重
  • 路由器限制QUIC
  • 企业网络阻止UDP

仍然可能出现:

Timeout

这属于网络环境问题,而不是 YAML 写错。


十九、配置正确但节点一直Timeout怎么办?

可以按照下面顺序排查:

第一:

检查server和port。

第二:

检查password。

第三:

检查SNI。

第四:

检查obfs。

第五:

确认Mihomo核心支持Hysteria2。

第六:

更换手机热点测试。

如果:

原Wi-Fi失败

手机热点正常

则更像当前网络UDP受限。


二十、一个较完整的Hysteria2配置示例

例如:

proxies:

  • name: HY2-US
    type: hysteria2
    server: hy2.example.com
    port: 443
    password: “your-password”
    sni: hy2.example.com
    skip-cert-verify: false
    obfs: salamander
    obfs-password: “your-obfs-password”

需要强调:

上面的:

域名
密码
obfs密码

只是格式示例。

实际使用时必须替换成服务端真实参数。


二十一、只有一个节点配置还不够吗?

如果只是作为完整 Clash/Mihomo 配置文件使用,通常还需要:

proxy-groups

和:

rules

例如:

proxy-groups:

  • name: 节点选择
    type: select
    proxies:
    • HY2-US

然后:

rules:

  • MATCH,节点选择

否则即使:

proxies

里已经有节点,也不代表完整分流配置已经建立。


二十二、完整的最小配置可以怎么写?

一个非常简化的结构可以是:

mixed-port: 7890
mode: rule

proxies:

  • name: HY2-US
    type: hysteria2
    server: hy2.example.com
    port: 443
    password: “your-password”
    sni: hy2.example.com
    skip-cert-verify: false

proxy-groups:

  • name: 节点选择
    type: select
    proxies:
    • HY2-US

rules:

  • MATCH,节点选择

这种结构更接近一份可以实际加载的完整配置。


二十三、为什么只有proxies时客户端没有节点选择?

因为:

proxies

只定义节点。

而:

proxy-groups

定义:

这些节点怎样被用户选择和调用。

所以如果没有代理组,部分客户端可能:

能解析配置

但没有正常的策略组供用户选择。


二十四、Proxy Groups中的节点名称必须完全一致

例如节点定义:

name: HY2-US

代理组写:

proxies:

  • HY2-USA

两者不一致。

就可能出现:

Proxy Not Found

所以节点重命名以后,一定同步修改代理组。


二十五、Rules又有什么作用?

Rules负责决定:

流量应该走哪个策略组。

例如:

rules:

  • DOMAIN-SUFFIX,google.com,节点选择
  • MATCH,节点选择

表示:

google.com

以及其他最终没有匹配的流量,都使用:

节点选择

这一代理组。


二十六、Hysteria2节点必须单独写规则吗?

不需要。

规则通常引用的是:

Proxy Group

而不是直接针对协议。

例如:

节点选择

里面可以同时存在:

Hysteria2
VLESS
Trojan
Shadowsocks

规则不需要关心节点是什么协议。


二十七、Hysteria2可以放进url-test自动测速组吗?

通常可以。

例如:

proxy-groups:

  • name: 自动选择
    type: url-test
    proxies:
    • HY2-US
    • HY2-JP

客户端会根据测试结果选择节点。

但如果UDP网络本身不稳定,Hysteria2测速结果可能出现:

Timeout

或者:

-1

所以测速失败不一定代表 YAML 语法错误。


二十八、为什么Hysteria2配置导入后节点不显示?

重点检查:

1. type是否正确

必须确认:

type: hysteria2

2. 核心是否支持

旧Clash可能直接忽略。

3. YAML缩进

缩进错误可能导致整个节点无法解析。

4. 节点是否被订阅转换过滤

第三方转换器可能不支持Hysteria2。


二十九、YAML缩进错误是什么样?

错误示例:

proxies:

  • name: HY2-US
    type: hysteria2
    server: example.com

正确结构更应该类似:

proxies:

  • name: HY2-US
    type: hysteria2
    server: example.com

YAML依靠缩进判断层级。

所以空格非常重要。


三十、不要使用Tab进行YAML缩进

建议只使用:

空格。

不要混入:

Tab制表符。

有些编辑器中看起来完全一样,但 Mihomo 解析时可能直接报:

YAML Parse Error

如果手动编辑配置,建议使用:

VS Code
Notepad++

等编辑器。


三十一、为什么从JSON复制过来的配置不能直接用?

例如 sing-box Hysteria2 配置可能是:

JSON结构。

而 Mihomo 使用:

YAML结构。

两者字段和层级可能完全不同。

不能只把:

.json

文件改名成:

.yaml

就认为完成转换。

必须按照目标客户端的配置规范重新组织。


三十二、订阅自动生成和手动配置哪个更推荐?

普通用户优先:

服务端提供的Mihomo订阅。

因为它可以自动填入:

  • server
  • port
  • password
  • sni
  • obfs

减少手动填写错误。

手动YAML更适合:

  • 自建节点
  • 配置调试
  • 自定义规则
  • 配置学习
  • 本地备份

三十三、为什么不建议手动修改订阅中的Hysteria2参数?

因为服务端参数可能会变化。

例如:

今天:

port: 443

下周变成:

port: 8443

订阅更新以后会自动同步。

但你手动保存的本地配置不会变化。

所以长期使用订阅服务时,应优先通过:

更新订阅

获取最新参数。


三十四、Hysteria2本地配置为什么突然失效?

如果之前一直正常,几天后突然连接失败,可能是:

  • server更换
  • port更换
  • password更换
  • SNI变化
  • obfs参数变化
  • 节点服务器下线

所以不要第一时间修改 YAML。

先重新获取最新订阅进行对比。


三十五、怎样对比新旧Hysteria2配置?

重点看下面几个字段:

server
port
password
sni
obfs
obfs-password

如果任何一项变化,本地旧配置就可能无法继续使用。

可以把:

旧config.yaml

和:

新订阅YAML

放在文本比较工具中查看差异。


三十六、Hysteria2配置报Invalid Config怎么排查?

如果出现:

Invalid Config

优先检查:

  1. YAML缩进
  2. type字段
  3. Mihomo核心版本
  4. 字段是否被当前版本支持
  5. 特殊字符是否正确加引号
  6. 是否复制了其他客户端的配置格式

如果连配置都无法加载,就还没有进入网络连接阶段。

此时不要优先折腾DNS和路由器。


三十七、出现Unsupported Proxy Type怎么办?

如果报错:

Unsupported Proxy Type: hysteria2

基本可以优先判断:

当前核心不支持Hysteria2。

处理方向应该是:

升级或切换支持Hysteria2的Mihomo / Clash Meta核心。

而不是修改server、password或DNS。


三十八、配置能加载但连接失败意味着什么?

如果:

节点正常显示

配置没有报错

但:

连接Timeout

说明 YAML 基础结构大概率已经被正确解析。

接下来重点转向:

  • server
  • port
  • password
  • SNI
  • obfs
  • UDP网络
  • 服务端状态

三十九、如何快速区分配置问题还是网络问题?

可以使用一个简单判断方式。

导入阶段就报错

例如:

Invalid Config
Unsupported Proxy Type
YAML Parse Error

优先属于:

配置 / 内核问题。

可以导入,但节点Timeout

优先属于:

参数 / 网络 / 节点服务器问题。

这个区分非常重要。


四十、Hysteria2配置排查顺序

遇到问题时建议按照下面顺序:

第一步

确认Mihomo核心支持Hysteria2。

第二步

检查:

type: hysteria2

第三步

检查YAML缩进和格式。

第四步

确认:

server
port
password

正确。

第五步

检查:

SNI
TLS

第六步

如果使用obfs,确认相关参数完整。

第七步

更换手机热点测试UDP。

第八步

测试其他Hysteria2节点。

第九步

更新订阅获取最新参数。

第十步

最后再判断节点服务器是否故障。


四十一、Hysteria2参数快速对照表

参数作用常见问题
name节点名称修改后代理组引用失效
type协议类型必须正确识别hysteria2
server服务器地址地址失效、DNS解析异常
port服务端端口错误时通常Timeout
password认证密码错误时认证失败
sniTLS域名错误时TLS握手失败
skip-cert-verify是否跳过证书验证不建议随意开启
obfs混淆类型与服务端不一致无法连接
obfs-password混淆密码与认证password不同

四十二、普通用户最推荐的配置方式

如果你不是在搭建自己的Hysteria2服务器,最简单的使用方式通常不是手写配置。

推荐流程:

获取服务端Mihomo订阅
↓
导入Clash Verge Rev/Mihomo客户端
↓
更新订阅
↓
选择Hysteria2节点
↓
测试连接

这样可以避免手动填写:

server
port
password
sni
obfs

造成错误。


总结

Hysteria2配置文件的核心并不复杂。

最基本的节点通常围绕:

type
server
port
password
sni

几个关键字段构成。

如果服务端启用了混淆,还可能需要:

obfs
obfs-password

但真正配置时需要注意:

所有参数必须与服务端保持一致。

如果出现:

Unsupported Proxy Type

优先检查 Mihomo / Clash Meta 核心版本。

如果出现:

Invalid Config
YAML Parse Error

优先检查 YAML 格式和字段。

如果配置能够正常导入,但节点一直:

Timeout

重点检查:

server
port
password
SNI
UDP网络

对于普通订阅用户,最推荐的方法仍然是:

直接使用服务端提供的原生Mihomo订阅,让客户端自动生成Hysteria2配置。

手动YAML更适合作为:

配置学习、调试、自建节点和本地配置维护

使用。

按照:

核心兼容 → YAML格式 → 参数 → TLS → UDP网络

这个顺序检查,可以更快定位Hysteria2配置中的具体问题。