Skip to content

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 + TLSQUIC
握手 RTT2-3 RTT0-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/hysteria

2. 创建配置文件

创建 /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:22

3. 启动服务

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: 下行带宽

如何设置:

  1. 测速: 使用 speedtest.net 测试你的网络速度
  2. 保守设置: 设置为测速结果的 80-90%
  3. 示例:
    测速结果: 下载 100 Mbps, 上传 20 Mbps
    配置: down: 90 mbps, up: 18 mbps

为什么保守:

  • 避免过载导致丢包
  • 留出余量给其他应用
  • 确保稳定性

进阶配置

1. 多用户配置

yaml
auth:
  type: userpass
  userpass:
    user1: password1
    user2: password2
    user3: password3

2. 流量统计

yaml
trafficStats:
  listen: :9999  # 统计 API 端口

查询流量:

bash
curl http://localhost:9999/traffic

3. 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

带宽调优

测试方法:

  1. 从低带宽开始测试
  2. 逐步提高,观察效果
  3. 找到最佳平衡点

调优技巧:

  • 下载速度慢 → 增加 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 限速
  • 带宽设置过高
  • 服务器不稳定

解决:

  1. 降低带宽设置
  2. 尝试换端口
  3. 检查服务器日志

3. 无法连接

bash
# 检查端口
sudo lsof -i :443

# 检查防火墙
sudo ufw allow 443/udp

# 测试 UDP 连通性
nc -u -v your-server 443

Hysteria 1 vs Hysteria 2

特性Hysteria 1Hysteria 2
协议自定义更标准化
混淆内置Salamander 可选
认证单一方式多种方式
性能优秀更优秀
配置JSONYAML (更简洁)
推荐⚠️ 已废弃✅ 推荐使用

迁移建议: 建议从 Hysteria 1 升级到 Hysteria 2


与其他工具对比

Hysteria 2 vs Xray

场景推荐工具原因
移动网络Hysteria 2QUIC + Brutal 优势明显
稳定网络XrayTCP 更稳定
UDP 被限制Xray基于 TCP
流媒体Hysteria 2高吞吐量
通用翻墙Xray更成熟稳定

结论: 两者互补,可以同时部署


相关资源


许可证

Hysteria 2 采用 MIT 许可证。


💡 适用建议: 如果你经常使用移动网络,或者所在网络环境丢包严重,Hysteria 2 是你的最佳选择!

基于 MIT 许可发布