上一篇讲述了如何手撸xray,这一篇我们来介绍一下如何手动安装hysteria2。hysteria自出世以来就备受关注,挽救了很多线路垃圾的小鸡,虽然免不了udp暴力发包的诟病,但是瑕不掩瑜,总体上来说还是很值得推荐的,尤其是你的小鸡没有优化线路且绕路的情况下。
1. 准备工作
2. 安装Hysteria2服务端
这里还是以linux系统debian 11为例,我们还是选择官方Linux服务端部署脚本安装。官方脚本开源可查,也比较简单,脚本的工作只是下载程序文件、创建目录和添加service配置文件,介意的话这部分自己完全纯手动安装吧,我是觉得没必要。
bash <(curl -fsSL https://get.hy2.sh/)
如图可以看到,工作目录为/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
查看服务状态是否启动成功。
看到类似上面的信息,就表示服务已正常启动运行。当然,别忘了放开服务监听的端口。
相关命令
# 查看状态及日志
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)。
沙发~😎
用一键脚本也叫纯手动。。
官方的脚本,并不算是一键吧。脚本的工作只是下载二进制文件,创建目录、配置文件和守护进程而已,配置文件都是需要自己写的。如果你要的手动是每一步都手动操作,那确实不是。