Hysteria 2 是一款基于 UDP 的高性能代理协议,由 ApertureNet 开发。相比传统 TCP 代理,Hysteria 2 利用 UDP 和自定义拥塞控制算法,在不稳定网络环境下表现优异,特别适合高延迟、丢包严重的网络环境。
🚀 推荐资源:
机场推荐 — 稳定高速的节点服务商
机场客户端下载 — 各平台客户端合集
一、Hysteria 2 简介
1.1 核心特性
| 特性 | 说明 |
|---|---|
| 基于 UDP | 利用 UDP 协议规避 TCP 拥塞控制,提升传输效率 |
| 自定义拥塞控制 | Brutal 算法,主动探测网络带宽,动态调整发送速率 |
| 高性能 | 在高延迟、丢包网络下性能显著优于 TCP 代理 |
| 多路复用 | 内置多路复用,减少连接开销 |
| TLS 加密 | 内置 TLS 1.3 加密,支持自定义证书 |
| ACL 支持 | 基于域名的访问控制列表,精细控制流量走向 |
1.2 适用场景
- 高延迟网络:跨国线路、卫星网络等高 RTT 环境
- 丢包严重:WiFi 不稳定、移动网络等丢包率高的场景
- 带宽受限:需要充分利用可用带宽,避免 TCP 拥塞控制限制
- 游戏加速:低延迟要求,UDP 传输更适合游戏流量
- 视频流媒体:高吞吐量,流畅播放 4K/8K 视频
二、服务端部署
2.1 安装 Hysteria 2
# 使用官方安装脚本
bash <(curl -fsSL https://get.hy2.sh/)
# 或手动下载
wget https://github.com/apernet/hysteria/releases/latest/download/hysteria-linux-amd64
chmod +x hysteria-linux-amd64
sudo mv hysteria-linux-amd64 /usr/local/bin/hysteria
# 验证安装
hysteria version
2.2 生成 TLS 证书
# 使用 acme.sh 申请 Let's Encrypt 证书
curl https://get.acme.sh | sh
~/.acme.sh/acme.sh --issue -d your-domain.com --standalone
# 或使用自签名证书(测试用)
openssl req -x509 -nodes -newkey ec:<(openssl ecparam -name prime256v1) \
-keyout /etc/hysteria/server.key -out /etc/hysteria/server.crt \
-subj "/CN=your-domain.com" -days 365
2.3 服务端配置文件
# /etc/hysteria/config.yaml
listen: :443
# TLS 配置
tls:
cert: /etc/hysteria/server.crt
key: /etc/hysteria/server.key
# 认证配置
auth:
type: password
password: your-strong-password
# 带宽配置(可选,用于 Brutal 拥塞控制)
bandwidth:
up: 100 mbps
down: 100 mbps
# 混淆配置(可选,用于绕过 QoS)
obfs:
type: salamander
salamander:
password: your-obfs-password
# ACL 配置(可选)
acl:
inline:
- direct(geosite:cn)
- proxy(all)
2.4 启动服务
# 前台运行(测试)
hysteria server -c /etc/hysteria/config.yaml
# 使用 systemd 后台运行
sudo tee /etc/systemd/system/hysteria-server.service > /dev/null <<EOF
[Unit]
Description=Hysteria 2 Server
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/hysteria server -c /etc/hysteria/config.yaml
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable hysteria-server
sudo systemctl start hysteria-server
sudo systemctl status hysteria-server
三、客户端配置
3.1 Windows 客户端
官方客户端 Hysteria 2
- 下载:GitHub Releases
- 解压到任意目录
- 创建配置文件
config.yaml
配置文件示例
# client-config.yaml
server: your-domain.com:443
auth: your-strong-password
tls:
sni: your-domain.com
insecure: false
# 带宽配置(必须与服务端匹配或更低)
bandwidth:
up: 50 mbps
down: 100 mbps
# 混淆配置(必须与服务端匹配)
obfs:
type: salamander
salamander:
password: your-obfs-password
# SOCKS5 代理出口
socks5:
listen: 127.0.0.1:1080
# HTTP 代理出口
http:
listen: 127.0.0.1:8080
启动客户端
# 命令行启动
hysteria.exe -c client-config.yaml
# 或使用图形界面客户端
# 推荐:Hysteria 2 官方 GUI 或第三方客户端
3.2 macOS 客户端
# 使用 Homebrew
brew install hysteria
# 运行
hysteria -c client-config.yaml
3.3 Linux 客户端
# 下载二进制
wget https://github.com/apernet/hysteria/releases/latest/download/hysteria-linux-amd64
chmod +x hysteria-linux-amd64
sudo mv hysteria-linux-amd64 /usr/local/bin/hysteria
# 运行
hysteria -c client-config.yaml
3.4 Android 客户端
- 安装 Sing-box 或 Clash Meta for Android
- 导入 Hysteria 2 配置链接
- 或使用 Hysteria 2 官方 Android 客户端(开发中)
3.5 iOS 客户端
- 安装 Shadowrocket 或 Stash
- 支持 Hysteria 2 协议的客户端即可导入配置
四、高级配置
4.1 多用户配置
# 服务端配置多个用户
auth:
type: userpass
userpass:
user1: password1
user2: password2
user3: password3
4.2 端口跳跃(Port Hopping)
用于绕过 ISP 的 UDP QoS 限制:
# 服务端监听多个端口
listen: :443
# 客户端配置端口范围
server:
type: udp
udp:
addr: your-domain.com
ports: 443,1000-2000,3000-4000
4.3 ACL 规则详解
# ACL 配置文件
# direct: 直连
# proxy: 走代理
# block: 阻断
# 国内网站直连
direct(geosite:cn)
direct(geoip:cn)
# 广告阻断
block(geosite:category-ads)
# 特定域名代理
proxy(domain:google.com)
proxy(domain:youtube.com)
# 默认规则
proxy(all)
五、性能优化
5.1 带宽设置建议
| 网络环境 | 推荐设置 |
|---|---|
| 家庭宽带 100M | up: 10 mbps, down: 50 mbps |
| 家庭宽带 500M | up: 30 mbps, down: 200 mbps |
| 企业宽带 1G | up: 100 mbps, down: 500 mbps |
| 移动网络 4G | up: 5 mbps, down: 20 mbps |
| 移动网络 5G | up: 20 mbps, down: 100 mbps |
5.2 系统优化
# Linux 系统优化 UDP 性能
# 编辑 /etc/sysctl.conf
# 增加 UDP 缓冲区
net.core.rmem_max = 134217728
net.core.wmem_max = 134217728
net.ipv4.udp_rmem_min = 8192
net.ipv4.udp_wmem_min = 8192
# 应用配置
sudo sysctl -p
六、常见问题排查
| 问题 | 解决方案 |
|---|---|
| 连接失败 | 检查防火墙是否放行 UDP 端口,确认服务端运行状态 |
| 证书错误 | 检查证书路径和权限,确认域名匹配,或设置 insecure: true(不推荐) |
| 速度慢 | 调整带宽配置,检查网络 QoS,尝试端口跳跃 |
| 频繁断线 | 检查 UDP 连接稳定性,调整心跳间隔,开启 obfs 混淆 |
| 无法访问特定网站 | 检查 ACL 规则,确认域名分流配置 |
| 服务端启动失败 | 检查配置文件语法,确认端口未被占用,查看日志输出 |
七、与其他代理协议对比
| 协议 | 传输层 | 适用场景 | 性能特点 |
|---|---|---|---|
| Hysteria 2 | UDP | 高延迟、丢包网络 | 极高吞吐,抗丢包能力强 |
| Shadowsocks | TCP/UDP | 通用场景 | 轻量快速,兼容性好 |
| VMess | TCP/WebSocket | 需要伪装流量 | 功能丰富,配置灵活 |
| Trojan | TCP | HTTPS 伪装 | 伪装性强,性能优秀 |
| VLESS + Reality | TCP | 深度伪装 | 抗检测能力最强 |
| WireGuard | UDP | VPN 场景 | 内核级性能,配置简单 |
八、相关资源推荐
- 机场推荐 — 支持 Hysteria 2 协议的优质机场
- 机场客户端下载 — 各平台 Hysteria 2 客户端合集
- 官方文档 — Hysteria 2 完整配置参考
- GitHub 仓库 — 源码与 Releases
九、总结
Hysteria 2 凭借其独特的 UDP 传输和 Brutal 拥塞控制算法,在复杂网络环境下展现出卓越的性能。对于经常遇到网络不稳定、高延迟、丢包严重的用户来说,Hysteria 2 是一个值得尝试的选择。
通过本教程,你应该已经掌握了从服务端部署到客户端配置的完整流程。建议先在国内 VPS 上测试部署,确认配置无误后再用于生产环境。
如有任何问题,欢迎在评论区留言交流!