本文介绍如何在vps上搭建Hysteria2协议的科学上网
hysteria2与vmess, vless相比, 传输速度大幅提升, 它是一款基于HTTP/1.3 QUIC魔改的翻墙协议,底层是用UDP协议进行数据传输,能够在网络拥堵、丢包等恶劣环境中提升科学上网体验。
Hysteria2与Hysteria1相比,大幅提升了稳定性,支持nginx反代伪装,预防GFW的主动探测,有效减少被封的概率。本文演示用的主机是RackNerd的vps, 笔者认为它是目前全宇宙最具性价比的vps, $10.99美元/年, 流量3000G/月. 当然, 你也可以使用其他品牌的vps进行操作.
一、准备工作
1、一台境外VPS
我使用的vps是 RackNerd云厂商的, 操作系统 Ubuntu18.04
二、搭建步骤
安装sing-box
直接安装预发布版(支持hysteria2)
bash -c "$(curl -L https://sing-box.vercel.app)" @ install --beta
如何需要卸载
bash -c "$(curl -L https://sing-box.vercel.app)" @ remove
等会用得到的指令
重启
systemctl restart sing-box
状态
systemctl status sing-box
实时日志
journalctl -u sing-box -o cat -f
服务端vps搭建
自签证书申请,这里申请的是bing.com,申请了10年,可以用到你vps商家跑路了
mkdir -p /etc/hysteria && openssl ecparam -genkey -name prime256v1 -out /etc/hysteria/private.key && openssl req -new -x509 -days 3650 -key /etc/hysteria/private.key -out /etc/hysteria/cert.pem -subj "/CN=bing.com"
搭建组合选择
参考网站 https://github.com/chika0801/sing-box-examples 后期可以根据需求自由组合
为什么选择reality和hysteria2
1.reality目前是TCP协议里面号称最安全的
2.hysteria2作者是最用心的,教程写得很清楚(https://v2.hysteria.network/zh/)
开始编辑confing文件
vim /usr/local/etc/sing-box/config.json
按照以下修改
{
"inbounds": [
{
"type": "hysteria2",
"listen": "::",
"listen_port": 8443,
"users": [
{
"password": "" //你的密码
}
],
"masquerade": "https://bing.com",
"tls": {
"enabled": true,
"alpn": [
"h3"
],
"certificate_path": "/etc/hysteria/cert.pem",
"key_path": "/etc/hysteria/private.key"
}
},
{
"type": "vless",
"listen": "::",
"listen_port": 443,
"users": [
{
"uuid": "", //vps上执行sing-box generate uuid
"flow": "xtls-rprx-vision"
}
],
"tls": {
"enabled": true,
"server_name": "www.tesla.com",
"reality": {
"enabled": true,
"handshake": {
"server": "www.tesla.com",
"server_port": 443
},
"private_key": "", //vps上执行sing-box generate reality-keypair
"short_id": [
"0123456789abcdef"// 0到f,长度为2的倍数,长度上限为16,默认这个也可以
]
}
}
}
],
"outbounds": [
{
"type": "direct"
}
]
}
然后重启
systemctl restart sing-box
再查看日志
journalctl -u sing-box -o cat -f
没问题就OK拉,开始导入passwall了因为申请的是自签证书,所有设置,都是开启允许不安全连接
五、参考网站
项目地址:https://v2.hysteria.network/zh/
github项目 hysteria 地址:https://github.com/apernet/hysteria
github项目 sing-box地址: https://github.com/chika0801/sing-box-examples
六、常见问题
1、搭建的账号之前能用,突然不能用了,怎么解决?
A.如果ip不能ping通,FinalShell不能直接连接vps服务器,说明ip被墙了,需要换ip。进入后台, 点击 chang Ip, 填写表单即可. 建议在美国工作日时间提交, 很快就可以更换IP. 注意, RackNerd购买后,前3天免费更换, 过期后$3美元/次.
B.如果ip正常,大概率是端口号被封了,换端口号,重新搭建。
2、需要安装bbr加速吗?
不需要。bbr加速是tcp加速,而hysteria是Quic(udp)协议。所以不用再部署bbr加速。
hysteria2搭建的节点如何设置Clash、小火箭、Linux客户端
Clash Meta
一定要使用新版,不要使用一年前的版本.
在 Clash Meta 中,进行如下操作来配置您的节点:
编辑配置文件:
打开 Clash Meta 的配置文件。
定位到
Proxies
节点部分。在此部分下面插入以下节点信息:
name: hy2 # 节点名称
type: hysteria2
server: 1.1.1.1 # 改成你的 VPS IP
port: 443 # 节点端口
password: afei123 # 节点认证密码
sni: hy.afeifree.com # 使用你的域名
skip-cert-verify: false # 使用 CA 证书,设置为 false
在代理组中增加节点名称:
在配置文件的代理组(Proxy Groups)部分,添加
Hysteria2
作为其中一个节点。
导入配置文件:
保存更改后的配置文件。
在 Clash Meta 中导入编辑后的配置文件。
Shadowrocket
在 Shadowrocket 中,请按照以下步骤操作:
打开 Shadowrocket 软件。
导航至“创建节点”页面。
在“节点类型”中选择“Hysteria2”。
输入服务器的地址和端口。
填入认证密码。
开启“允许不安全”和“快速打开”选项。
在 SNI 栏中,填入配置文件中提供的 SNI 域名。
最后,为节点输入一个备注。
完成以上步骤后,节点配置就完成了。
Linux客户端二进制安装配置:
wget https://github.com/apernet/hysteria/releases/download/app%2Fv2.5.2/hysteria-linux-amd64
配置文件test.yaml
root@hwnode:~# cat test.yaml
server: xx.caijintian.cn:8443
auth: asdasfsdaf
bandwidth:
up: 100000000 mbps
down: 100000000 mbps
http:
listen: 127.0.0.1:2018
username: 123
password: 123
socks5:
listen: 127.0.0.1:1080
username: user
password: pass
disableUDP: false
tls:
sni: bing.com
insecure: true
运行客户端配置
chmod +x hysteria-linux-amd64
./hysteria-linux-amd64 -c test.yaml
root@hwnode:~# ./hysteria-linux-amd64 -c test.yaml
2024-11-10T20:38:54+08:00 INFO client mode
2024-11-10T20:38:54+08:00 INFO connected to server {"udpEnabled": true, "tx": 12500000000000, "count": 1}
2024-11-10T20:38:54+08:00 INFO use this URI to share your server {"uri": "hysteria2://Aa%216681124@hw.caijintian.cn:8443/?insecure=1&sni=bing.com"}
2024-11-10T20:38:54+08:00 INFO HTTP proxy server listening {"addr": "107.175.62.3:2018"}
如果需要做开机启动,可以自己写systemctl文件,这里不概述。