翻墙代理Hysteria2
- Rainbow
- Technology
- 04 Apr, 2022
Hysteria2简介
Hysteria 是一个强大、快速、抗审查的代理工具。
基于魔改的QUIC协议,Hysteria 即使在最不稳定和容易丢包的网络环境中也能提供无与伦比的性能。
服务端安装
首先进入位于境外服务器。
安装服务
推荐使用官方提供的脚本:
# 切换到 root, 如果本就是root, 就省略
sudo -i
# 一键安装 Hysteria2
bash <(curl -fsSL https://get.hy2.sh/)
大概输出一条成功提示,则安装成功:
Congratulation! Hysteria 2 has been successfully installed on your server.
并提示我们下一步要:
- 修改服务端配置文件 /etc/hysteria/config.yaml
- 启动 hysteria systemctl start hysteria-server.service
- 设置开机自启 systemctl enable hysteria-server.service
设置开机自启
systemctl enable hysteria-server.service
生成自签名证书
官方安装文档里需要域名,但实际上自签名证书即可。
参考:augustdoit博客
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
这段命令用于生成一个自签名的 ECDSA (Elliptic Curve Digital Signature Algorithm) 密钥对和相应的自签名 X.509 证书
- `openssl req`: 这是 OpenSSL 工具的一个子命令,用于生成或处理证书签名请求。
- `-x509`: 指定生成自签名的 X.509 证书,而不是签名请求。
- `-nodes`: 指示在生成密钥对时不加密私钥。
- `-newkey ec:<(openssl ecparam -name prime256v1)`: 指定使用 ECDSA 密钥对,并且生成新的私钥。`<(openssl ecparam -name prime256v1)` 用于生成 prime256v1(也称为 P-256)椭圆曲线参数。这将创建一个名为 prime256v1 的椭圆曲线密钥。
- `-keyout /etc/hysteria/server.key`: 指定生成的私钥文件路径为 `/etc/hysteria/server.key`。
- `-out /etc/hysteria/server.crt`: 指定生成的证书文件路径为 `/etc/hysteria/server.crt`。
- `-subj "/CN=bing.com"`: 设置证书的主题字段,其中 `/CN=bing.com` 指定了通用名称 (Common Name),这里被设置为 "bing.com"。这是 X.509 证书中的一个标准字段,通常用于指定证书的主机名。
- `-days 36500`: 指定证书的有效期为 36500 天,约等于 100 年。
最后两条命令是更改生成的私钥和证书的所有者为 `hysteria` 用户,以便限制对这些文件的访问权限。
有用的文件,当然是server.key, server.crt
设置配置文件
/etc/hysteria/config.yaml 如果找不到,find指令;
listen: :443 #监听端口
#有域名,使用CA证书
#acme:
# domains:
# - test.heybro.bid #你的域名,需要先解析到服务器ip
# email: augustdoit@gmail.com
#使用自签名证书
tls:
cert: /etc/hysteria/server.crt
key: /etc/hysteria/server.key
auth:
type: password
password: Se7RAuFZ8Lzg #设置认证密码
#伪装
masquerade:
type: proxy
proxy:
url: https://bing.com/ #伪装网址
rewriteHost: true
伪装 (Masquerade)
Hysteria 抵抗审查的关键之一就是它能伪装成标准的 HTTP/3 流量。这意味着数据包不仅对中间设备(middleboxes)看起来像是 HTTP/3,服务器还会像普通网站服务器一样真的响应 HTTP 请求。然而,这意味着你的服务器必须实际提供一些内容,以便看起来是真实的。
启动Hysteria2服务
systemctl start hysteria-server.service
查看状态
# 查看状态及日志
systemctl status hysteria-server.service -l
# 停止Hysteria2
systemctl stop hysteria-server.service
# 设置开机自启
systemctl enable hysteria-server.service
# 重启
systemctl restart hysteria-server.service
查看状态无异常,至此安装完成
客户端安装
很多客户端都支持hysteria代理,安装常用的v2rayN 即可; 示例版本为 Release 6.42 Release 6.42 · 2dust/v2rayN (github.com)
安装↓
zz_v2rayN-With-Core-SelfContained.7z
安装后添加 Hysteria2 服务器