Skip to content

了不起的hysteria(歇斯底里),拯救垃圾线路的VPS #23

@wqlabs

Description

@wqlabs

前言

首先还是介绍一下,hysteria是一款强大的代理协议,目前已经更新到第二代了。通过魔改的 QUIC 协议驱动,即使在最不稳定和容易丢包的网络环境中也能提供无与伦比的性能。Hysteria 之所以快,一个重要原因是其使用自定义的拥塞控制,以及许多调整过的协议参数。
更详细的介绍推荐去看官方文档,我就不在这边班门弄斧了。
详细文档在这:https://v2.hysteria.network/zh/docs/misc/Hysteria-Brutal/

准备工作

  1. 一台VPS(系统使用ubuntu)
  2. 一个域名,并解析到VPS(可选)

嗯,确信的,这次用不到CF,这是因为hysteria并不支持CDN,所以直连就好。

安装Hysteria服务器

这首先,当然还是得登陆VPS了。登陆完之后执行下列命令:

bash <(wget -qO- https://github.com/seagullz4/hysteria2/raw/main/install.sh)

这是有大佬写好的一键安装hysteria2的脚本,hysteria带了个2并不是打错了字,而是表示hysteria第二代协议的意思。
当然,这个大佬有点顽皮,文案有点跳脱,咱们忽略就好。执行完的命令如下:
image

咱们根据提示输入1,并回车。
此时会提示输入协议端口,咱们可以选个不常用的端口,比如7001,并再次回车。
此时会提示选择证书类型:

  1. 如果你用自己的域名,那么你可以选择输入1,回车。接着输入域名之后,跟着提示一路回车,直到开启端口跳跃部分。
  2. 如果你不使用域名,则在此时输入2,回车。默认自签证书域名为bing.com,可以默认直接回车。接着也是跟着提示一路回车,直到开启端口跳跃部分。
    重点来了,笔记记好
    输入1,并回车,开启端口跳跃,再输入起始端口(如:50000)和末尾端口(如:60000)用于表示端口跳跃的范围。
    image

完整操作

输入末尾端口并回车之后,脚本就会自动执行,并生成一个节点的节点链接信息,如图:
image

或者:

image

此时节点就已经创建完成,但是将节点信息导入客户端,发现并不能使用,别急,只是端口跳跃还没有配置好而已。
那么此时你可以有这样两种操作:
3. 放弃端口跳跃,直接复制节点到nakobox中,并编辑节点,将跳跃端口中的“,50000-60000”删除,此时节点应当能够使用了。但是:中国用户有时报告运营商会阻断或限速 UDP 连接。不过,这些限制往往仅限单个端口。端口跳跃可用作此情况的解决方法,客户端将随机选择一个端口进行初始连接,并定期随机跳跃到另一个端口。所以,还是得看下一种方法。
image

  1. 换一种端口跳跃的方式,比如使用iptables,没想到吧,防火墙还能做这种东西?
    执行命令:
iptables -t nat -A PREROUTING -p udp --dport 50000:60000 -j REDIRECT --to-port 7001

如果端口和我设置的不一样,这里的命令也跟着调整一下即可。

此时你的端口跳跃应当就能生效了,如果节点还是不可用,可以检查下的VPS服务商是否有默认的网络防火墙,需要开放7001和50000~60000端口。

请注意,v2rayN并不支持端口跳跃,所以客户端可以选择和我一样使用nekobox,使用起来一样丝滑。

总结

Hysteria 自发布以来一直在一些圈子被冠以 "暴力"、"多倍发包"、"内卷"、"自私"、"不道德" 的名号,主要是因为它本身是基于UDP,并且有自己的一套拥塞控制算法,在线路拥堵的情况下也能保证自己的发包量。
所以,具体是否不道德,就见仁见智了。

Metadata

Metadata

Assignees

No one assigned

    Labels

    技术Improvements or additions to documentation魔法Good for newcomers

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions