一、前言

Hysteria 2 是一个强大、快速、抗审查的代理工具。通过魔改的 QUIC 协议驱动,Hysteria 即使在最不稳定和容易丢包的网络环境中也能提供无与伦比的性能。协议旨在伪装成标准的 HTTP/3 流量,无论中间人还是主动探测,都很难分辨和封锁。Hysteria 2是在Hysteria基础上进行了重写和优化,提高了稳定性和抗封锁能力。下面介绍一下利用 sing-box搭建Hysteria 2和reality协议,并在v2rayN上如何设置的方法。


二、安装sing-box

1、首先连接到VPS服务器,输入以下代码安装sing-box。然后使用查看状态命令查看sing-box运行状态。

bash -c "$(curl -L https://sing-box.vercel.app)" @ install --beta

程序路径:/usr/local/bin/sing-box
配置文件:/usr/local/etc/sing-box/config.json
加载服务:systemctl reload sing-box
重启服务:systemctl restart sing-box
查看状态:systemctl status sing-box

2023-09-23_163906.jpg


2、卸载sing-box

bash -c "$(curl -L https://sing-box.vercel.app)" @ remove


三、安装证书

1、如果没有自己的域名,可以使用以下自签证书命令来创建证书。此命令申请证书的存储路径为:/root/hysteria/

mkdir -p /root/hysteria && openssl ecparam -genkey -name prime256v1 -out /root/hysteria/private.key && openssl req -new -x509 -days 36500 -key /root/hysteria/private.key -out /root/hysteria/cert.pem -subj "/CN=bing.com"

2、如果有自己的域名,可以使用以下的命令创建自己的证书。需要注意的是在申请证书时安装脚本提示正确输入自己的域名和安装路径,如果没有经验的朋友,可以自签证书命令申请证书。

bash <(curl -Ls https://raw.githubusercontent.com/vveg26/myself/main/BashScript/SSLAutoInstall/SSLAutoInstall.sh)

2023-09-23_164216.jpg


四、生成私钥和公钥

输入以下命令生成私钥和公钥,保存生成的密钥,在服务端配置和客户端配置的时候需要用到。

sing-box generate reality-keypair


五、服务器配置文件

服务器配置文件路径为:/usr/local/etc/sing-box/config.json,可以再终端中直接打开config.json文件,将以下内容粘贴到文件中保存。需要注意的是,服务器配置文件更新后,需要重新启动sing-box服务。

{
    "inbounds": [
        {
            "type": "hysteria2",
            "listen": "::",
            "listen_port": 8443, //端口号
            "users": [
                {
                    "password": "这里输入你自己的密码" 
                }
            ],
            "tls": {
                "enabled": true,
                "alpn": [
                    "h3"
                ],
                "certificate_path": "/root/hysteria/cert.pem", //证书路径
                "key_path": "/root/hysteria/private.key"
            }
        },
        {
            "type": "vless",
            "listen": "::",
            "listen_port": 443,
            "users": [
                {
                    "uuid": "这里输入自己的UUID", 
                    "flow": "xtls-rprx-vision"
                }
            ],
            "tls": {
                "enabled": true,
                "server_name": "m.media-amazon.com", //偷取证书的域名,tls1.3,h2
                "reality": {
                    "enabled": true,
                    "handshake": {
                        "server": "m.media-amazon.com", //偷取证书的域名
                        "server_port": 443
                    },
                    "private_key": "", //输入上面生成的公钥
                    "short_id": [
                        "d5c8df5449d237fa"//这里可以随意修改,但位数需要保持16位
                    ]
                }
            }
        }
    ],
    "outbounds": [
        {
            "type": "direct"
        }
    ]
}


六、客户端配置文件

在本机创建扩展名为yaml的文件,文件名随意。然后将以下你自己修改好的代码粘贴到文件中保存文件。

server: "vps服务器地址:8443" //端口号和服务器配置文件一致
auth: 这里填写密码,和服务端密码一致
tls:
  sni: bing.com   //这里填写你申请证书的域名地址,如果使用自签证书不需要修改。
  insecure: true
bandwidth:
  up: 300 mbps  //根据实际情况设置上传下载的带宽限制.
  down: 500 mbps
socks5:
  listen: 127.0.0.1:50000

关于带宽设置的详细说明可以参考此网址内容

七、v2rayN中添加服务

1、首先下载Hysteria 2客户端文件,替换v2rayN中的hysteria.exe文件。具体文件位置在v2rayN客户端\bin\hysteria文件夹下。

2、打开v2rayN,点击服务器-添加自定义配置服务器。

2023-09-23_192044.jpg

3、添加到v2rayN中后,将该服务设置为活动服务器,看到下面图片显示的代码,表示代理正常运行。

2023-09-23_192643.png

4、reality协议按照服务端配置文件添加即可,这里就不详细说明了。