1 前言

Hysteria协议大家可能在很多地方都见过,很多人都说是可以拯救吃灰小鸡的脚本。但是由于他使用的udp协议,并且比较暴力。除去有qos的风险,还有可能会被商家删鸡,所以使用起来见仁见智了。

hysteria的多倍发包比较克制,hostloc论坛反馈像是racknerd和cloudcone等商家并没有对此进行删机。
目前来说只要是你本地和vps商家对于udp协议没有qos的严重,都是可以流畅起飞的。Hysteria 2 与 Hysteria 1.x 完全不兼容

并且,作者还开发了tcp-brutal这个项目,TCP Brutal是Hysteria的拥塞控制算法移植到TCP上,期待以后有人做出可以让reality协议也使用hysteria算法的方法。

在文章末尾有大家关心的一些问题,比如Hysteria 2和Hysteria 1的区别,是否是暴力发包等等。

另外,关于Hysteria 2的稳定性,我和一个用Hysteria 2协议做直连机场的机场主讨论过,他说稳定性还是很不错的,关于自签证书是否会封IP他说没有实际证据,但是如果开了混淆是有概率封端口的,由于这个脚本默认自带混淆大家可以不用考虑,如果后续有封端口的情况发生,大家可以换一个可以决定是否开启混淆的脚本使用来关闭混淆。

hysteria的github项目页:https://github.com/apernet/hysteria

本次使用的脚本是御坂的脚本,他的github项目页:https://github.com/Misaka-blog/hysteria-install

并没有使用某人的四合一脚本,实在是不敢用他的脚本,用你的vps挖矿谁受得了。御坂的脚本有点是可以不使用自己的域名,直接使用bing的自签证书,目前这个证书的防墙效果有待考证,我使用是没有问题的。

hy2安装脚本:wget -N --no-check-certificate https://raw.githubusercontent.com/Misaka-blog/hysteria-install/main/hy2/hysteria.sh && bash hysteria.sh

给大家看以下Hysteria 2协议的速度,测试环境是移动晚高峰时间测速,vps是cloudcone的dc1垃圾小鸡,进行油管4K测速。

油管测速

2 安装

SSH链接上你的vps以后,确定在此vps上你要使用hy2的端口是开放的,这里推荐debian系统,默认端口就是开放的。然后使用此一键脚本,会提示你以下界面。

  1. 安装 Hysteria 2
  2. 卸载 Hysteria 2

  1. 关闭、开启、重启 Hysteria 2
  2. 修改 Hysteria 2 配置
  3. 显示 Hysteria 2 配置文件

  1. 更新 Hysteria 2 内核

  1. 退出脚本

请输入选项 [0-5]:

这里我们输入 1 ,然后等待程序反应。

后续提示

Hysteria 2 安装成功!
Hysteria 2 协议证书申请方式如下:

  1. 必应自签证书 (默认)
  2. Acme 脚本自动申请
  3. 自定义证书路径

请输入选项 [1-3]:

这里我们需要选择证书,如果使用自己的域名申请证书,可以选择2,如果觉得麻烦,可以直接输入1使用bing的自签证书。默认回车也是bing的自签证书。

然后会提示你选择端口,443最好。默认回车是随机,随机也可以。
然后会提示你Hysteria 2 端口使用模式,这里有单端口和端口跳跃。Hysteria作者有说明:中国用户有时报告运营商会阻断或限速 UDP 连接。不过,这些限制往往仅限单个端口。端口跳跃可用作此情况的解决方法。客户端将随机选择一个端口进行初始连接,并定期随机跳跃到另一个端口。用于控制时间间隔的选项是 transport 部分中的 hopInterval。一句话来说就是定期换连接端口来防止某些qos。

所以我们默认选择单端口即可,如果后续有使用一段时间后限速。排除vps商家qos以后,可以使用端口跳跃。

然后会提示你设置 Hysteria 2 密码,这里默认回车使用随机密码即可。
然后会提示你Hysteria 2 的伪装网站地址,如果有喜欢的可以自己选择,默认回车是使用世嘉maimai日本网站。

一路畅快淋漓的回车下来,你的Hysteria 2就搭建完成了。
后续会给你客户端 配置文件Hysteria 2 节点分享链接。某些软件比如v2rayn不支持用节点链接一键导入,就需要配置文件。配置文件可以直接复制脚本给出的客户端配置文件,或者从服务器的/root/hy/路径里面寻找也是可以的。

如果需要json配置文件,找到你刚刚安装脚本的ssh界面。在桌面新创建一个txt文件,里面脚本返回给你的客户端 JSON 配置文件内容。比如我的服务器的内容就是下面的内容:

{
  "server": "74.18.114.19:9168",
  "auth": "081e248c",
  "tls": {
    "sni": "www.bing.com",
    "insecure": true
  },
  "quic": {
    "initStreamReceiveWindow": 16777216,
    "maxStreamReceiveWindow": 16777216,
    "initConnReceiveWindow": 33554432,
    "maxConnReceiveWindow": 33554432
  },
  "fastOpen": true,
  "socks5": {
    "listen": "127.0.0.1:5080"
  },
  "transport": {
    "udp": {
      "hopInterval": "30s"
    }
  }
}

然后我们将该txt的文件名改成hy-client.json重点是后面的文件格式一定要是.json结尾。

3 导入软件

3.1 windows的V2rayn

V2rayn的项目页:https://github.com/2dust/v2rayN

v2rayn的github项目下载页面:https://github.com/2dust/v2rayN/releases
推荐下载新版本的v2rayN-With-Core.zip,解压后得到的文件夹。点击v2rayN即可打开软件使用。

然后我们需要替换Hysteria 2内核,截止到写文章时,v2rayn的sing-box内核并无法使用Hysteria 2协议,这不是sing-box内核的问题,最新版内核是支持的,可能是内核和软件之间没有协作好,所以我们仍然使用Hysteria内核,需要自己下载替换。

Hysteria内核下载页,https://github.com/apernet/hysteria/releases/

进去以后下载名字为hysteria-windows-amd64-avx.exe的版本。然后进入你解压的V2rayn文件夹里面的bin/hysteria目录中,将我们下载的hysteria-windows-amd64-avx.exe改名为hysteria-windows-amd64.exe后替换掉原本目录里面改的hysteria-windows-amd64.exe文件。

然后我们打开v2rayn软件,点击右上角的 服务器,点击 添加自定义服务器

添加自定义服务器

然后添加服务器。注意内核选择Hysteria,然后配置文件点击右边的浏览选择刚刚保存在桌面的json文件。端口是你在用脚本搭建服务器时候选择的脚本,选择回车使用随机脚本的用户去ssh界面找一下默认的是哪个端口。

添加服务器

然后这个节点就导入成功了,可以使用了。具体的v2rayn设置系统代理和分流去谷歌搜以下v2rayn的使用教程。

3.3 windows的Nekoray / 安卓的Nekobox

新版的nekoray和nekobox可以直接导入节点链接,并且使用sing-box进行代理。

Nekoray的GitHub下载地址:https://github.com/MatsuriDayo/nekoray/releases

我写的nekoray使用教程:https://duangks.com/archives/153/

nekobox的github项目下载页:https://github.com/MatsuriDayo/NekoBoxForAndroid/releases

我写的nekobox使用教程:https://duangks.com/archives/146/

首先复制你的节点链接,比如我搭建好的链接就是hysteria2://[email protected]:9368/?insecure=1&sni=www.bing.com#Misaka-Hysteria2

在nekoray界面点击程序然后点击从剪切板导入即可。

nekoray使用hy2

在nekobox界面点击右上角第二个图标,一个文档中间带有加号的图标,然后点击从剪切板导入。

4 常见问题

4.1 Hysteria 2 与 Hysteria 1 的比较

Hysteria 2 继承了 Hysteria 1.x 的几乎所有功能,同时引入了各种新的修复和增强。但值得注意的是,由于协议和代码经过了重大更改,Hysteria 2 与 Hysteria 1.x 完全不兼容。 用户必须在客户端和服务器上使用一致的版本。

主要改进

最值得注意的几点包括:

  • 新协议 :重新设计的协议,伪装成 HTTP/3,增加对抗审查的能力。
  • 0-RTT UDP 会话建立 :每个新 UDP 会话的第一个包没有额外延迟。
  • 新的 ACL 和出站系统 :根据不同的请求使用不同的出口。
  • 流量统计 API :便于监控和管理。
  • 性能改进 :各种底层优化,提高了性能和稳定性。

缺失的功能

Hysteria 2 尚未实现 Hysteria 1.x 中的一些功能:

  • 客户端 ACL :目前 ACL 只在服务器端可用。
  • FakeTCP 协议 :FakeTCP 一直是相对小众的功能,我们还在评估是否要重新引入。
  • TUN 模式 :目前暂无,但很可能在未来重写、重新引入。

4.2 Hysteria 是多倍发包吗?

不是。Hysteria 不会在任何情况下主动对一份数据进行多次发送 ,只有在检测到丢包时才会对丢失的部分进行重传(丢包重传是任何可靠协议都必须有的)。而检测丢包和重传的策略和原版 QUIC 完全一致,QUIC 的策略本身也源自 TCP 没有太大区别。

在丢包率低的情况下,Hysteria 传输一份数据所消耗的流量和数据本身大小没有太大差异,并且能跑满带宽。假如是多倍发包,即使只多一倍,流量消耗也会是原来的两倍,并且最大有效传输速度只是线路的一半。因此所谓多倍发包是一个非常容易证伪的错误说法。

Last modification:December 1, 2023
打赏功能不开了,任性