上一篇讲述了如何手撸xray,这一篇我们来介绍一下如何手动安装hysteria2。hysteria自出世以来就备受关注,挽救了很多线路垃圾的小鸡,虽然免不了udp暴力发包的诟病,但是瑕不掩瑜,总体上来说还是很值得推荐的,尤其是你的小鸡没有优化线路且绕路的情况下。

1. 准备工作

2. 安装Hysteria2服务端

这里还是以linux系统debian 11为例,我们还是选择官方Linux服务端部署脚本安装。官方脚本开源可查,也比较简单,脚本的工作只是下载程序文件、创建目录和添加service配置文件,介意的话这部分自己完全纯手动安装吧,我是觉得没必要。

bash <(curl -fsSL https://get.hy2.sh/)

img
如图可以看到,工作目录为/etc/hysteria,这里我们需要将目录给予写权限chmod a+w /etc/hysteria,否则启动时会因为无法下载geo文件而报错。然后执行以下命令,生成自签证书。

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

3. 配置文件

hysteria配置文件为yaml文件,以下是完整的配置供大家参考。

listen: :443

#使用CA证书
#acme:
#  domains:
#    - a.com #你的域名,需要先解析到服务器ip
#  email: [email protected]

#使用自签证书
tls:
  cert: /etc/hysteria/server.crt // 上一步生成的自签证书路径
  key: /etc/hysteria/server.key

auth:
  type: password
  password: 你的密码

resolver:
  type: https
  https:
    addr: 8.8.8.8:443
    timeout: 10s
    sni: dns.google
    insecure: false

acl:
  inline:
    - reject(geoip:cn)
    - ipv4(all)

outbounds:
  - name: ipv4
    type: direct
    direct:
      mode: 4

masquerade:
  type: proxy
  proxy:
    url: https://bing.com // 伪装域名
    rewriteHost: true

你需要修改和注意的地方如下:

  • 端口修改为你需要的端口
  • 如果你已经有了域名,可以直接使用acme自动配置证书,然后伪装域名填写自己的域名,acme和tls二选其一
  • 出站协议同样为ipv4,如果你的小鸡是ipv6 only,请修改为ipv6

4. 启动服务端

systemctl start hysteria-server.service启动服务端,并通过systemctl status hysteria-server.service查看服务状态是否启动成功。
img
看到类似上面的信息,就表示服务已正常启动运行。当然,别忘了放开服务监听的端口。
相关命令

# 查看状态及日志
systemctl status hysteria-server.service
# 停止
systemctl stop hysteria-server.service
# 设置开机自启
systemctl enable hysteria-server.service
# 重启
systemctl restart hysteria-server.service

5. 客户端配置

因不同平台的客户端百花齐放,这里不再介绍不同客户端的配置,只以clash meta为例,说明几个需要注意的点。

  - name: "hy2"
    type: hysteria2
    server: 你的服务器ip
    port: 服务端监听的端口
    password: 服务端配置的密码
    sni: bing.com  // 这里填写伪装域名,如果服务端配置的自有域名,修改为自己的域名
    skip-cert-verify: true  // 如果是自签证书,这个选项设置为true,反之设置为false或不设置

关于带宽设置和拥塞控制算法,如果你在客户端设置了带宽且服务端未配置忽略带宽设置选项ignoreClientBandwidth: true,hysteria2会使用自有的Brutal拥塞控制算法。此配置会因为网络环境不同产生不同的效果,甚至可能负优化。不了解的同学建议不要在客户端配置带宽相关设置,默认会使用BBR。

6. 常见问题

为了避免暴力发包而被运营商QOS,建议客户端不要配置brandwidth,或者服务端配置加上ignoreClientBandwidth并设置为true。这样,服务器将忽略客户端设置的任何带宽,永远使用传统的拥塞控制算法(目前为 BBR)。

已有 3 条评论

  1. 沙发~😎

  2. 用一键脚本也叫纯手动。。

    1. @傻哔

      官方的脚本,并不算是一键吧。脚本的工作只是下载二进制文件,创建目录、配置文件和守护进程而已,配置文件都是需要自己写的。如果你要的手动是每一步都手动操作,那确实不是。

发表评论