本文最后更新于 2024-03-27,文章原本内容可能已经过时,请查看是否有更新内容。

前言

上一篇教程点此

本文仅为docker compose搭建


准备

  1. cloudflare账号(弄15年证书)

  2. 一个域名

  3. 一台vps


安装docker compose

apt-get update && apt-get -y upgrade

# 国外
curl -fsSL https://get.docker.com | bash -s docker
# 国内
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

# 安装docker-compose:
# 如果之前安装了2.0以下的版本的话,请先执行卸载指令:
sudo rm /usr/local/bin/docker-compose

# 如果之前安装了2.0以上的版本的话,请先执行卸载指令:
rm -rf .docker/cli-plugins/

# compose
apt-get install docker-compose-plugin -y

docker compose version

systemctl enable docker 

安装Hy2服务端

创建文件夹

mkdir /root/hysteria2

cd /root/hysteria2

创建docker-compose.yml

cat > /root/hysteria2/docker-compose.yml << EOF
version: "3.8" 
services:
  hysteria:
    image: tobyxdd/hysteria
    container_name: hy2
    restart: always
    network_mode: host
    volumes:
      - .:/etc/hysteria
    command: ["server", "-c", "/etc/hysteria/hysteria.yaml"]
EOF

创建hy2配置

cat > /root/hysteria2/hysteria.yaml << EOF
listen: :443

tls:
  cert: /etc/hysteria/cert.crt    # 记住这个证书的名字
  key: /etc/hysteria/private.key  # 记住这个证书的名字

quic:
  initStreamReceiveWindow: 26843545
  maxStreamReceiveWindow: 26843545
  initConnReceiveWindow: 67108864
  maxConnReceiveWindow: 67108864
  maxIdleTimeout: 30s
  maxIncomingStreams: 1024
  disablePathMTUDiscovery: false

bandwidth:
  up: 300 mbps       # 可以改
  down: 100 mbps       # 可以改

ignoreClientBandwidth: false

udpIdleTimeout: 60s

auth:
  type: password
  password: xxxxxx         # 改成你的密码
EOF

折腾证书

创建15年证书

⚠️⚠️注意:首先解析好域名,记住关闭小云朵

如图(可以是二级域名,比如test.testxxx.com一样,可以几个使用二级域名的节点共同使用一个cloudflare15年证书

如图,我已经弄了三个二级域名,搭建了三个hy2节点,都是用的同一个15年证书

接着创建这个域名的15年证书

按照下图创建15年证书就好,很方便(cloudflare还是良心

把里面的内容复制出来,分别改名为 cert.crtprivate.key ,也就是这一步的证书名字(图里源证书命名是fullchain.pem,要改为cert.crt,而privkey.pem也要改为private.key,用的以前的图doge)

然后找一个有SFTP功能的SSH工具,连接上自己的VPS,比如 finalshell,termius,shellfish等

把上面两个证书文件都拖入到/root/hysteria2文件夹即可

如果实在没有这类工具,那就用以下命令

vim /root/hysteria2/cert.crt
#然后复制你的fullchain的对应内容,然后:wq保存

vim /root/hysteria2/private.key
#然后复制你的privkey的对应内容,然后:wq保存

复制完之后按ESC然后 :wq 退出保存即可

如果输入错误不知道怎么改回来,可以输入 :q! 来强制退出不保存,然后重新输入vim那一串命令进去编辑即可

获取指纹

openssl x509 -noout -fingerprint -sha256 -inform pem -in /root/hysteria2/cert.crt

你会得到一串长字符xx:xx:xx:xx:xx这样的,保存好

启动Hy2

依次输入以下命令即可

cd /root/hysteria2

docker compose up -d

查看日志

docker logs -f hy2

按 crtl + c 退出日志

如果没有报错的话那就是起来了!!!!

在surge应用

现在服务端已经搭建完成

在导入节点到surge的文本如下

HY2 = hysteria2, 解析的域名, 443, password=密码, skip-cert-verify=true, server-cert-fingerprint-sha256=指纹, download-bandwidth=300

你需要这些准备

你解析好的域名

密码

指纹