Hysteria2(歇斯底里)协议介绍
Hysteria2是一款基于HTTP/1.3 QUIC魔改的翻墙协议,底层是用UDP协议进行数据传输,能够在网络拥堵、丢包等恶劣环境中提升科学上网体验。
Hysteria2通过修改过的拥塞控制算法来最大化吞吐量,最大限度榨干代理节点服务器的网速,拯救垃圾vps。
Hysteria2相比Hysteria1,大幅提升了稳定性,支持nginx反代伪装,预防长城防火墙gfw的主动探测,有效减少被封锁的概率。
项目地址:https://v2.hysteria.network/zh/
项目github地址:https://github.com/apernet/hysteria
Hysteria2节点搭建步骤
1.节点vps运行一键安装脚本
ssh到vps后,运行以下代码:
bash <(curl -fsSL https://get.hy2.sh/)
2.设置开机自启
systemctl enable hysteria-server.service
3.生成自签证书
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
4.编辑config.yaml配置文件,调整端口和密码
如果是使用自己的域名,可使用CA证书,需要先完成域名DNS解析到VPS IP。也可使用自签证书。
此处演示hy2.clashyun.com这个域名,处理前我已完成DNS解析。
ssh终端执行以下代码:
cat << EOF > /etc/hysteria/config.yaml
listen: :443 #监听端口
#使用CA证书
acme:
domains:
- hy2.clashyun.com #你的域名,需要先解析到服务器ip
email: test1232@sharklasers.com
#使用自签证书
#tls:
# cert: /etc/hysteria/server.crt
# key: /etc/hysteria/server.key
auth:
type: password
password: 123456 #设置认证密码
masquerade:
type: proxy
proxy:
url: https://bing.com #伪装网址
rewriteHost: true
EOF
以上代码表示监听端口为443,使用acme自动生成域名CA证书,认证密码为123456,将节点服务器伪装为bing.com网站。
5.启动Hysteria2
systemctl start hysteria-server.service
6.检查启动状态
systemctl status hysteria-server.service
如果提示active(running)表示启动成功,并且证书已申请成功。
如果提示failed失败,可能是防火墙未放行443端口,unbuntu系统可使用ufw disable关闭防火墙。
V2rayN连接Hysteria2节点方法
1.下载V2rayN
下载地址:zz_v2rayN-With-Core-SelfContained.7z
下载后解压,7z文件可使用7z软件解压
2.下载最新版本Hysteria 2
下载地址:https://github.com/apernet/hysteria/releases
windows一般选择amd64 exe文件,不清楚的朋友点击这个的地址下载:hysteria-windows-amd64.exe
3.替换V2rayN中的Hysteria 2 exe执行文件
找到V2rayN的bin/hysteria2文件夹,将2中下载的文件替换掉hysteria2下的hysteria-windows-amd64.exe文件
4.保存客户端yaml配置文件
以下代码为hy2.yaml文件
server: ip:443
auth: 123456
bandwidth:
up: 20 mbps
down: 100 mbps
tls:
sni: hy2.clashyun.com
insecure: false #使用自签时需要改成true
socks5:
listen: 127.0.0.1:1080
http:
listen: 127.0.0.1:8080
注意修改ip:443为真实的节点服务器IP和端口,auth改为真实的密码。
bandwidth up表示客户端最大上传速度,down表示客户端最大下载速度,根据家庭实际带宽选择。如果不清楚可使用https://www.speedtest.net/进行测速后调整。
tls sni 如果是自己的域名则改成真实域名,如果是自签证书则改成bing.com。
5.V2rayN添加Hysteria 2服务器
打开V2rayN软件,选择【服务器】-【添加自定义配置服务器】。
在弹出的窗口中任意输入合适的别名remarks,地址address点击浏览选择步骤4中的hy2.yaml文件(如果选择不到,按下图方法,将类型选为”*.yaml”),Core类型选择hysteria2,socks端口改为1080,点击保存。
6.启动v2rayN系统代理
在v2rayN选中添加的Hysteria2节点,右键点击“设为活动服务器”,然后下方选择自动配置系统代理。
7.效果测试
浏览器打开google,查看能够科学上网。尝试测试网速。
常见问题
1.Hysteria2为什么会大幅提升科学上网速度?
Hysteria2基于QUIC协议,底层是UDP协议传输,同时修改了拥塞控制算法来大幅提供吞吐量,最大限度抢占网络带宽,从而优化节点网速。
2.Hysteria2与Hysteria1的区别是什么?
Hysteria2几乎包含Hysteria1的所有特性,主要改进有:
- 新协议:重新设计的协议,伪装成 HTTP/3,增加对抗审查的能力。
- 0-RTT UDP 会话建立:每个新 UDP 会话的第一个包没有额外延迟。
- 新的 ACL 和出站系统:根据不同的请求使用不同的出口。
- 流量统计 API:便于监控和管理。
- 性能改进:各种底层优化,提高了性能和稳定性。
注意,由于Hysteria2在Hysteria1基础上,对底层协议进行了大量改动,因此不与Hysteria1兼容。
3.哪些客户端支持Hysteria2协议?
windows系统支持Hysteria2协议的客户端有:v2rayN(新版本)、clash verge
android系统:nekobox(推荐)、clash-meta、sing-box
4.Hysteria2端口跳跃是什么?有什么作用?
众所周知,国内运营商有UDP端口限速、阻断的机制,为了避免这种情况,Hysteria2设计了端口跳跃功能,不再用固定端口进行数据传输。
Hysteria2支持设定某个范围内的端口进行传输。比如我们可以通过以下代码设置在20000~50000端口范围内进行端口跳跃。
example.com:20000-50000
客户端还可配置端口跳跃时间间隔,灵活度高。
transport: udp: hopInterval: 30s