前言
去年9月2日,歇斯底里推出了 APP / V2.0.0,表示 Hysteria 协议,正式进入了 2.0 时代。
2.0版本,大幅提升了其性能和稳定性,而且支持反代伪装,这就进一步的增加了抗审查的能力。
因为是刚发布出来,各项运行也不是特别稳定,匹配的 APP 也是在极少数,所以使用的人群也并不算太大。
那,截止到目前,已经过去了差不多四个月了,Hysteria 2 也已经是更新到了 V2.2.3 ,很多 APP 也是逐渐适配了这个协议。图形化界面的客户端也是有了不少,涵盖了我们经常使用的各种平台,什么 PC 端、iOS、安卓、Openwrt 等等等等
那我们今天就一起在来看看这个简单、暴力的协议。
视频演示
准备工作
可以选择使用
ACME(CA证书)和自签证书两种方式,二选一,也就是可以使用域名,也可以不使用域名后面我们分别会讲到 服务端 / 客户端 的配置和参数
-
- 1、VPS 一台,新手请重置好主流的操作系统( Debian / CentOS ),演示用的 VPS 来自 搬瓦工 CN2 49$/年 搬瓦工库存监控
- 2、域名一个,非必须,做好解析 (解析不明白请看 这里)
相关工具和介绍
Hysteria 2 GitHub 项目地址:点击访问
Hysteria 2 详细中文文档:点击访问
Sing – Box 中文文档 :点击访问
Hysteria 2 下载:点击访问
V2rayN 科学上网工具下载:点击访问
搭建 Hysteria 2
安装 Hysteria 2 服务器端
更新 VPS 系统,安装所需组件 (根据系统,自行选择命令)
apt update -y #Debian 命令 apt install curl sudo -y #Debian 命令
yum update -y #CentOS 命令 yum install curl sudo -y #CentOS 命令
我们使用 Hysteria 官方的一键安装脚本
# 安装或升级到最新版本 Hysteria 2: bash <(curl -fsSL https://get.hy2.sh/) # 移除 Hysteria 2: bash <(curl -fsSL https://get.hy2.sh/) --remove
若无域名,生成自签证书
命令会在 VPS 目录
/etc/hysteria中生成server.crt及server.key文件,并变更相关权限
openssl req -x509 -nodes -newkey ec:<(openssl ecparam -name prime256v1) -keyout /etc/hysteria/server.key -out /etc/hysteria/server.crt -subj "/CN=bing.com" -days 36500 && sudo chown hysteria /etc/hysteria/server.key && sudo chown hysteria /etc/hysteria/server.crt
服务端配置文件
服务端的配置要和客户端状态一致,也就是说,服务端配置的是无域名的配置,客户端也必须选择无域名的配置参数,必须一致,反之一样,服务端配置的是有域名的,那稍后客户端也必须选择有域名的参数
好在配置更改起来很简单,有域名和无域名更换起来,也就几分钟的事情。
推荐密码设置 :点击访问 生成随机高强度密码
listen: :443
# 以下 acme 和 tls 字段,二选一
# 有域名部署的选择 acme ,无域名的选择 tls
# 选择 acme,必须注释掉 tls,反之一样
acme:
domains:
- cn2.bozai.us # 域名
email: [email protected] # 邮箱,格式正确即可
#tls:
# cert: /etc/hysteria/server.crt
# key: /etc/hysteria/server.key
auth:
type: password
password: 88888888 # 请及时更改密码
masquerade:
type: proxy
proxy:
url: https://bing.com # 伪装网站
rewriteHost: true
服务相关命令
systemctl start hysteria-server.service # 启动 hysteria 服务 systemctl enable hysteria-server.service # 设置 hysteria 服务 开机自启 systemctl restart hysteria-server.service # 重启 hysteria 服务 systemctl stop hysteria-server.service # 停止 hysteria 服务 systemctl status hysteria-server.service # 查看 hysteria 服务 状态
检查服务是否正常运行
如下图红框显示,即为服务正常!若有域名,并且多次CA证书下发失败,请尝试不用域名搭建

至此,服务端设置完毕。
客户端配置
Windows 推荐使用 V2rayN
当然 sing-box 正在研发之中,具体施工进程:点击查看该网页
V2rayN 科学上网工具下载:点击访问 推荐使用带 Core 的版本 v2rayN-With-Core.zip
解压 V2rayN,找到文件目录中的 \bin\hysteria2 ,替换 hysteria-windows-amd64.exe 为 最新文件,点击下载
客户端配置文件
请看清楚配置文件中的注释,修改
ip,auth(VPS 服务端 上面配置的密码) ,bandwidth,sni,insecure等参数
server: ip:443 auth: **** #bandwidth: # up: 20 mbps # down: 100 mbps tls: sni: cn2.bozai.us # 若无域名,请改为 bing.com insecure: false # 若无域名,需要改参数为 true socks5: listen: 127.0.0.1:1080 http: listen: 127.0.0.1:8080

具体配置文件导入,请看 演示视频
OpenWRT 推荐使用 PassWall2
添加协议,如下图所示:
下图配置为有域名的配置参数。(请自行评估自己的上传和下载带宽,数值过大会引起流量浪费)
若是无域名的配置,请在
域名栏目,填写 伪装网站bing.com,并勾选允许不安全连接即可认证密码,为 VPS 服务端 上面配置的密码

Android / IOS / MacOS 推荐使用 sing-box
sing-box 图形化客户端下载:点击访问
MacOS 和 iOS 需要使用美区 AppleID (我只有美区,其他区域未进行尝试)进行正版下载,若是没有,可以 点击这里 免费申请外区 AppleID
sing-box 配置文件
请看清楚以下配置文件中的注释,请根据自己的需要,自行更改。
{
"dns": {
"servers": [
{
"tag": "cf",
"address": "https://1.1.1.1/dns-query"
},
{
"tag": "local",
"address": "223.5.5.5",
"detour": "direct"
},
{
"tag": "block",
"address": "rcode://success"
}
],
"rules": [
{
"geosite": "category-ads-all",
"server": "block",
"disable_cache": true
},
{
"outbound": "any",
"server": "local"
},
{
"geosite": "cn",
"server": "local"
}
],
"strategy": "ipv4_only"
},
"inbounds": [
{
"type": "tun",
"inet4_address": "172.19.0.1/30",
"auto_route": true,
"strict_route": false,
"sniff": true
}
],
"outbounds": [
{
"type": "hysteria2",
"tag": "proxy",
"server": "ip", // VPS ip
"server_port": 443,
"up_mbps": 50, //上传速率,实际填写,过大会导致流量浪费
"down_mbps": 200, //下载速率,实际填写,过大会导致流量浪费
"password": "**********", //hysteria2 服务密码
"tls": {
"enabled": true,
"server_name": "cn2.bozai.us", //若域名搭建,请填写域名,若IP搭建,请填写 bing.com
"insecure": false //若域名搭建,请填写 false,若IP搭建,请填写 true
}
},
{
"type": "direct",
"tag": "direct"
},
{
"type": "block",
"tag": "block"
},
{
"type": "dns",
"tag": "dns-out"
}
],
"route": {
"rules": [
{
"protocol": "dns",
"outbound": "dns-out"
},
{
"geosite": "cn",
"geoip": [
"private",
"cn"
],
"outbound": "direct"
},
{
"geosite": "category-ads-all",
"outbound": "block"
}
],
"auto_detect_interface": true
}
}
MacOS 客户端图片

在 Surge 中使用 Hysteria 2
在 Surge 中,我们也是可以配置 Sub-Store 来使用 hysteria2
具体的 Sub-Store 教程
使用域名搭建,download-bandwidth 根据实际填写
Proxy = hysteria2, VPSip, 443, password=服务密码, sni=你的域名, download-bandwidth=200
无域名,使用IP搭建,download-bandwidth 根据实际填写
Proxy = hysteria2, VPSip, 443, password=服务密码, skip-cert-verify=true,sni=bing.com, download-bandwidth=200
Hysteria 2 的伪装验证
进入 Chrome.exe 目标地址(路径),开启 Hysteria2 代理,Windows 打开 TUN 模式,cmd 命令如下:
chrome --origin-to-force-quic-on=你的域名:443
访问 https://你的域名 ,若是按照上述搭建的话,会跳转到 bing.com 的网页。
若是不明白,也是可以 观看本期视频
后记
Hysteria 从出现就是饱受争议。
有人觉得他直接、有人觉得他暴力,还有人觉得他不道德,这个看我们如何去定义。
Hysteria 自有的拥塞控制算法,的确有别于传统的一些算法,若网络状态很好,丢包的情况少,我们在客户端可以选择不填入带宽数值,那其实 Hysteria 和其他的任何协议几乎一样,他并不能突破我们 VPS 的上传和下载的速度上限,使用的也仅仅是 BBR 的拥堵算法。
但若是网络拥挤,丢包率高,我们在填入了 UP 和 DOWN 的数值带宽数值以后,Hysteria 会通过计算丢包率来提升速度进行补偿。










Hysteria 2 也是服务端客户端两用的吗?