---
title: "Hysteria 2"
description: "iPhone 版 Potatso 支持的 Hysteria 2 选项、TLS 设置、链接和功能，包括 Salamander 混淆、端口跳跃和下载带宽。"
---

> Documentation Index
> Fetch the complete documentation index at: https://potatso.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Hysteria 2

Hysteria 2 服务器由**密码**和 **TLS 设置**描述，还可以使用**混淆**和**端口跳跃**。Hysteria 2 运行在 QUIC（HTTP/3 背后基于 UDP 的协议）之上，所以在丢包的网络中也能保持速度。只要 Potatso 支持服务器的设置，就能连接到它。你可以对照下面的表格，检查服务商提供的服务器设置，或其 `hysteria2://` 链接中的设置。

你可以手动添加 Hysteria 2 服务器、通过 [`hysteria2://` 或 `hy2://` 链接](#links)添加，或通过导入添加：

- Clash 或 Mihomo 订阅，
- Xray 配置，
- Surge 配置。

Potatso 暂不从 sing-box 配置中导入 Hysteria 2 服务器。请改用服务器的 `hysteria2://` 链接。

## 认证 {#authentication}

| 服务器的认证方式 | 支持情况 |
| --- | --- |
| 密码（`auth.type: password`） | ✅ |
| 用户名和密码（`auth.type: userpass`） | ✅ 合并成一个密码填写：`name:password` |
| HTTP 或命令认证器 | ✅ 填写它所期望的密码 |

密码错误时无法连接。许多服务器会向没有密码的访问者展示一个普通网站（即它们的伪装）。

## 混淆 {#obfuscation}

| 混淆 | Clash 键 | 链接参数 | 支持情况 |
| --- | --- | --- | --- |
| 无 | | | ✅ |
| Salamander | `obfs: salamander`, `obfs-password` | `obfs=salamander`, `obfs-password` | ✅ |
| Gecko | `obfs: gecko` | `obfs=gecko` | ❌ |

Salamander 会打乱每个数据包，让连接看起来不像 QUIC。密码必须与服务器的一致。请在服务器设置中把它设为 **Salamander 密码**。对于没有混淆的服务器，请留空。

如果服务器使用 Gecko 混淆，Potatso 不会导入它，因为无法连接。

## 带宽 {#bandwidth}

| 设置 | Clash 键 | 支持情况 |
| --- | --- | --- |
| 下载带宽 | `down` | ✅ 服务器按此速率向你发送数据 |
| 上传带宽 | `up` | ❌ Potatso 使用 BBR 拥塞控制上传，并忽略此设置 |
| 拥塞控制 | 官方客户端中的 `congestion` | ❌ 始终为 BBR |

设置**下载带宽**（如 `100 Mbps`）后，服务器会使用 Hysteria 的 Brutal 拥塞控制，即使丢包也按该速率发送。请把它设得接近你的真实下载速度：设得过高，连接反而会变慢。留空则由服务器自行调整速率。

带宽可以是带单位的数字（`bps`、`Kbps`、`Mbps`、`Gbps`），也可以是单纯的数字，单位按 Mbps 计。

## 端口跳跃 {#port-hopping}

启用端口跳跃的服务器会监听一段范围的 UDP 端口，Potatso 每隔一段时间就在这些端口之间切换。这对那些一段时间后会限速或封锁某个 UDP 端口的网络很有帮助。

| 设置 | Clash 键 | 支持情况 |
| --- | --- | --- |
| 端口 | `ports` | ✅ 范围如 `20000-30000`，列表如 `443,8443`，或两者并用 |
| 跳跃间隔 | `hop-interval` | ✅ 单位为秒，默认 30，最小 5。像 `10-30` 这样的范围会随机选取间隔。 |

请在服务器设置中把它们设为**端口跳跃**和**跳跃间隔**。此后服务器端口只用于第一次连接。

## TLS {#tls}

| 设置 | Clash 键 | 链接参数 | 支持情况 |
| --- | --- | --- | --- |
| 服务器名称（SNI） | `sni` | `sni`, `peer` | ✅ 未设置时，Potatso 使用服务器地址。 |
| 跳过证书验证 | `skip-cert-verify` | `insecure` | ✅ |
| 证书固定（SHA-256） | `fingerprint` | `pinSHA256` | ✅ |
| ALPN | `alpn` | `alpn` | ✅ 仅 `h3`，Potatso 始终使用它 |
| 自定义 CA 证书 | 官方客户端中的 `ca` | | ❌ |
| TLS 客户端证书 | `certificate`, `private-key` | | ❌ |
| Encrypted Client Hello（ECH） | `ech-opts` | `ech` | ❌ |
| 按另一个名称验证 | `name-cert-verify` | | ❌ |

关闭证书验证，会让你与服务器之间的任何人都能读取你的流量。许多 Hysteria 2 服务器使用自签名证书：请改为固定它。把服务器证书的 SHA-256 设为证书固定值。设置后，Potatso 只信任该证书，无论其名称是什么，不信任其他证书。

如果服务器需要上面某项不受支持的设置，Potatso 不会导入它，因为不带这项设置连接，服务器不会应答。

## UDP {#udp}

Hysteria 2 在 QUIC 数据报中承载 UDP，与 TCP 使用同一条连接。UDP 默认开启。只有当服务器关闭了 UDP（`disableUDP`）时，才需要在服务器设置中关闭 UDP 转发。

通过 Xray 服务器时，大于约 1,100 字节的 UDP 数据包到达时会损坏。这是 Xray 的 Hysteria 2 服务端的缺陷。官方服务端、sing-box 和 mihomo 可以转发任意大小的数据包。

## 功能支持 {#features}

| 功能 | 支持情况 |
| --- | --- |
| [Hysteria 2 协议](https://v2.hysteria.network/docs/developers/Protocol/)：HTTP/3 认证、TCP 流 | ✅ |
| QUIC 数据报中的 UDP，包括拆分成分片的大数据包 | ✅ |
| 一条 QUIC 连接承载多个连接 | ✅ |
| Salamander 混淆 | ✅ |
| Gecko 混淆 | ❌ |
| [下载带宽](#bandwidth)（服务器端 Brutal） | ✅ |
| 上传带宽（设备端 Brutal） | ❌ |
| [端口跳跃](#port-hopping) | ✅ |
| Fast open（每条连接少一次往返） | ✅ 始终开启 |
| 证书固定、跳过证书验证 | ✅ |
| ECH、自定义 CA、TLS 客户端证书 | ❌ |
| Realms（通过会合服务器连接） | ❌ |
| Fake TCP（`mimic`） | ❌ |
| 自定义 QUIC 流控窗口、`cwnd`、`udp-mtu` | ❌ |
| `hysteria2://` 和 `hy2://` 链接 | ✅ |

每一项受支持的功能，都至少用一台真实的 Hysteria 2 服务器测试过：[官方服务端](https://v2.hysteria.network/)、[sing-box](https://sing-box.sagernet.org/)、[mihomo](https://wiki.metacubex.one/) 或 [Xray](https://xtls.github.io/)。

官方 Hysteria 客户端的某些功能是它自带程序的设置，Potatso 用自己的方式完成同样的工作：

- 路由和 ACL：请使用配置中的规则。
- 本地 SOCKS5 和 HTTP 服务器、转发和 TUN 模式：Potatso 自行捕获设备的流量。
- 惰性连接：Potatso 在流量需要用到服务器时才连接。

服务器端的设置，如伪装网站、测速或服务器自身的带宽限制，不需要在你的设备上做任何设置。

## `hysteria2://` 链接 {#links}

`hysteria2://` 链接用一行文字包含完整的服务器信息。`hy2://` 是同一种链接的简短写法。

```text
hysteria2://password@host:port/?parameters#name
```

| 部分 | 说明 |
| --- | --- |
| `password` | 密码，经百分号编码。如果要用用户名和密码，请写作 `name:password`。 |
| `host` | 服务器地址。IPv6 地址要放在方括号里，如 `[2001:db8::1]`。 |
| `port` | 服务器端口。缺省时，Potatso 使用 443。若要使用[端口跳跃](#port-hopping)，请在这里列出端口，如 `443,20000-30000`。 |
| `name` | 可选。服务器在 Potatso 中的名称。 |

参数沿用[官方格式](https://v2.hysteria.network/docs/developers/URI-Scheme/)：

| 参数 | 说明 |
| --- | --- |
| `sni` | TLS 服务器名称。 |
| `insecure` | `1` 表示关闭证书验证。 |
| `pinSHA256` | 服务器证书的 SHA-256。 |
| `obfs`, `obfs-password` | `salamander` 及其密码。 |
| `mport` | 端口跳跃的端口，部分 App 用它代替在端口中列出。 |
| `hop-interval` | 跳跃间隔，单位为秒。 |
| `up`, `down` | 上传和下载带宽，部分 App 会这样写。 |

Potatso 不会导入带有 `obfs=gecko` 或 `ech` 的链接，也不会导入 `hysteria2+realm://` 链接。

分享 Hysteria 2 服务器时，Potatso 提供 `hysteria2://` 链接，跳跃的端口写在端口中或写作 `mport`。

### 示例 {#link-examples}

每个示例都是要导入的链接。密码是 `secret`。

基本服务器：

```text
hysteria2://secret@hy2.example.com:443/?sni=hy2.example.com#Basic
```

使用密码 `hidden` 的 Salamander 混淆：

```text
hysteria2://secret@hy2.example.com:443/?obfs=salamander&obfs-password=hidden#Salamander
```

在 20000 到 30000 之间跳跃的端口：

```text
hysteria2://secret@hy2.example.com:443,20000-30000/?sni=hy2.example.com#Hopping
```

固定的自签名证书：

```text
hysteria2://secret@203.0.113.7:443/?sni=hy2.example.com&pinSHA256=abababababababababababababababababababababababababababababababab#Pinned
```

Source: https://potatso.com/docs/zh/protocols/hysteria2/index.mdx
