Hysteria 2
项目状态: ✅ 活跃开发中 | 推荐度: ⭐⭐⭐⭐⭐ | 世代: 第四代 | 特色: 移动网络优选
快速概览
Hysteria 2 是专为恶劣网络环境设计的代理协议,基于 QUIC 协议,采用自研的 Brutal 拥塞控制算法。它在高延迟、高丢包的网络环境下表现出色,是移动网络(4G/5G)和弱网环境的最佳选择。
核心特性
- 🚀 Brutal 拥塞控制: 专为丢包环境优化的算法
- 📱 移动网络优化: 4G/5G 网络表现优秀
- ⚡ QUIC 协议: 0-RTT 连接建立,低延迟
- 🎭 流量伪装: 支持多种伪装方式
- 🔧 配置简单: YAML 格式,清晰直观
- 🌐 多平台支持: 全平台客户端
关键指标
| 指标 | 评分 | 说明 |
|---|---|---|
| 性能 | ⭐⭐⭐⭐⭐ | 弱网环境下性能最强 |
| 安全性 | ⭐⭐⭐⭐⭐ | QUIC + TLS 1.3 |
| 稳定性 | ⭐⭐⭐⭐ | 整体稳定,但 UDP 可能受限 |
| 隐蔽性 | ⭐⭐⭐⭐ | 支持伪装,但 UDP 特征明显 |
| 易用性 | ⭐⭐⭐⭐ | 配置简单,一键脚本可用 |
| 文档 | ⭐⭐⭐⭐⭐ | 官方文档非常详细 |
| 社区 | ⭐⭐⭐⭐ | 活跃但相对较小 |
技术创新
1. Brutal 拥塞控制算法
传统 TCP 拥塞控制的问题:
检测到丢包 → 降低发送速率 → 等待恢复 → 慢启动
↑___________________________________|
在高丢包环境下,速度永远提不上去Brutal 的创新:
用户指定带宽 → 按固定速率发送 → 忽略丢包 → QUIC 保证可靠性
结果: 即使 30% 丢包,仍能达到设定的带宽核心理念: "带宽够用就行,不用最大化利用"
2. QUIC 协议优势
| 特性 | TCP + TLS | QUIC |
|---|---|---|
| 握手 RTT | 2-3 RTT | 0-1 RTT |
| 连接迁移 | ❌ IP 变化断开 | ✅ 无缝切换 |
| 多路复用 | ❌ 队头阻塞 | ✅ 独立流 |
| 丢包处理 | 影响所有数据 | 仅影响单个流 |
适用场景: 移动网络(IP 频繁变化)
3. 性能对比
在 20% 丢包、200ms 延迟的网络下:
| 协议 | 实际速度 | 理论带宽利用率 |
|---|---|---|
| TCP (BBR) | ~30 Mbps | ~30% |
| QUIC (默认) | ~50 Mbps | ~50% |
| Hysteria 2 (Brutal) | ~95 Mbps | ~95% |
快速开始
一键安装
服务端:
bash
bash <(curl -fsSL https://get.hy2.sh/)安装完成后会自动:
- 安装 Hysteria 2
- 生成配置文件
- 申请 SSL 证书(如果提供域名)
- 启动服务
- 生成客户端配置
手动安装
1. 下载二进制文件
bash
# Linux AMD64
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/hysteria2. 创建配置文件
创建 /etc/hysteria/config.yaml:
yaml
listen: :443
# ACME 自动证书(推荐)
acme:
domains:
- your.domain.com
email: your@email.com
# 或使用自己的证书
# tls:
# cert: /path/to/cert.pem
# key: /path/to/key.pem
auth:
type: password
password: your-strong-password
# 伪装网站(可选但推荐)
masquerade:
type: proxy
proxy:
url: https://www.bing.com
rewriteHost: true
# 带宽限制(可选)
bandwidth:
up: 100 mbps
down: 100 mbps
# 端口转发(可选)
# portForward:
# - listen: :2222
# remote: 127.0.0.1:223. 启动服务
bash
# 创建 systemd 服务
sudo cat > /etc/systemd/system/hysteria.service <<EOF
[Unit]
Description=Hysteria Server
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/hysteria server -c /etc/hysteria/config.yaml
Restart=on-failure
RestartSec=10s
[Install]
WantedBy=multi-user.target
EOF
# 启动服务
sudo systemctl daemon-reload
sudo systemctl start hysteria
sudo systemctl enable hysteria
# 查看状态
sudo systemctl status hysteria客户端配置
配置文件
创建 config.yaml:
yaml
server: your.domain.com:443
auth: your-strong-password
# 带宽配置(重要!)
bandwidth:
up: 20 mbps # 你的上传带宽
down: 100 mbps # 你的下载带宽
# SOCKS5 代理
socks5:
listen: 127.0.0.1:1080
# HTTP 代理(可选)
http:
listen: 127.0.0.1:8080
# TLS 设置
tls:
sni: your.domain.com
insecure: false # 不验证证书设为 true
# 快速打开(可选)
fastOpen: true
# 懒加载(可选)
lazy: false带宽设置说明
⚠️ 重要: 带宽设置直接影响性能
yaml
bandwidth:
up: 上行带宽
down: 下行带宽如何设置:
- 测速: 使用 speedtest.net 测试你的网络速度
- 保守设置: 设置为测速结果的 80-90%
- 示例:
测速结果: 下载 100 Mbps, 上传 20 Mbps 配置: down: 90 mbps, up: 18 mbps
为什么保守:
- 避免过载导致丢包
- 留出余量给其他应用
- 确保稳定性
进阶配置
1. 多用户配置
yaml
auth:
type: userpass
userpass:
user1: password1
user2: password2
user3: password32. 流量统计
yaml
trafficStats:
listen: :9999 # 统计 API 端口查询流量:
bash
curl http://localhost:9999/traffic3. ACL 规则
yaml
acl:
inline:
- reject(all, udp/443) # 阻止 QUIC
- reject(geoip:cn) # 阻止访问中国 IP
- reject(geosite:cn) # 阻止访问中国网站4. 端口跳跃(Multi-port)
yaml
listen: :20000-30000/udp # 监听端口范围客户端:
yaml
server: your.domain.com:20000-30000优势: 进一步提高隐蔽性
5. Obfs 混淆(Salamander)
服务端:
yaml
obfs:
type: salamander
salamander:
password: obfs-password客户端:
yaml
obfs:
type: salamander
salamander:
password: obfs-password性能优化
系统优化
bash
# 增大 UDP 缓冲区
cat >> /etc/sysctl.conf <<EOF
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.rmem_default = 1048576
net.core.wmem_default = 1048576
net.core.netdev_max_backlog = 16384
net.ipv4.udp_rmem_min = 8192
net.ipv4.udp_wmem_min = 8192
EOF
sysctl -p带宽调优
测试方法:
- 从低带宽开始测试
- 逐步提高,观察效果
- 找到最佳平衡点
调优技巧:
- 下载速度慢 → 增加 down
- 上传速度慢 → 增加 up
- 频繁断流 → 降低带宽设置
- 高丢包时 → 适当降低带宽
使用场景
1. 移动网络
为什么选 Hysteria:
- 4G/5G 网络延迟高、丢包多
- IP 地址频繁变化
- QUIC 的连接迁移特性完美适配
配置建议:
yaml
bandwidth:
up: 10 mbps # 4G 上行通常较低
down: 50 mbps # 4G 下行可以较高2. 流媒体观看
优势:
- 高吞吐量
- 低延迟
- 抗丢包
配置:
yaml
bandwidth:
down: 100 mbps # 4K 视频需要较高带宽3. 游戏加速
注意:
- UDP 协议适合游戏
- 但部分游戏可能检测到代理
配置:
yaml
bandwidth:
up: 20 mbps
down: 20 mbps
fastOpen: true # 减少延迟常见问题
1. 速度很慢
检查:
- 带宽设置是否正确
- 服务器带宽是否足够
- 测试丢包率
解决:
bash
# 检查丢包
ping -c 100 your-server
# 如果丢包高,降低带宽设置2. 频繁断线
可能原因:
- UDP 被 QoS 限速
- 带宽设置过高
- 服务器不稳定
解决:
- 降低带宽设置
- 尝试换端口
- 检查服务器日志
3. 无法连接
bash
# 检查端口
sudo lsof -i :443
# 检查防火墙
sudo ufw allow 443/udp
# 测试 UDP 连通性
nc -u -v your-server 443Hysteria 1 vs Hysteria 2
| 特性 | Hysteria 1 | Hysteria 2 |
|---|---|---|
| 协议 | 自定义 | 更标准化 |
| 混淆 | 内置 | Salamander 可选 |
| 认证 | 单一方式 | 多种方式 |
| 性能 | 优秀 | 更优秀 |
| 配置 | JSON | YAML (更简洁) |
| 推荐 | ⚠️ 已废弃 | ✅ 推荐使用 |
迁移建议: 建议从 Hysteria 1 升级到 Hysteria 2
与其他工具对比
Hysteria 2 vs Xray
| 场景 | 推荐工具 | 原因 |
|---|---|---|
| 移动网络 | Hysteria 2 | QUIC + Brutal 优势明显 |
| 稳定网络 | Xray | TCP 更稳定 |
| UDP 被限制 | Xray | 基于 TCP |
| 流媒体 | Hysteria 2 | 高吞吐量 |
| 通用翻墙 | Xray | 更成熟稳定 |
结论: 两者互补,可以同时部署
相关资源
- 📖 官方文档
- 🔧 配置示例
- 🚀 一键脚本
- 💬 Telegram 群组
许可证
Hysteria 2 采用 MIT 许可证。
💡 适用建议: 如果你经常使用移动网络,或者所在网络环境丢包严重,Hysteria 2 是你的最佳选择!