Go to file
2024-05-16 00:38:29 +08:00
bin update 2024-05-16 00:35:10 +08:00
key 修改整数文件路径 2024-05-15 19:51:10 +08:00
.editorconfig update 2024-05-16 00:38:29 +08:00
config.json update 2024-05-16 00:35:10 +08:00
docker-compose.yml 将配置文件改为config.json.待测试版本 2024-05-15 20:53:04 +08:00
README.md 增加配置初始化说明 2024-05-16 00:36:59 +08:00

使用说明

项目使用自有证书搭建, 无需要准备域名. 默认使用bing.com域名作为伪装.

快速开始

部署服务器端

确认安装好下列软件

  • docker
  • docker-compose
  • git

下载代码

git clone https://gittea.wingogo.top/William/hysteria_docker.git

配置初始化, 第一次运行必须执行

cd ./bin
bash ./init.sh

启动项目

docker-compose up -d

查看日志

docker-compose logs | head -n 50

查看分享链接

cd ./bin
bash ./print_share_link.sh

客户端配置

可以用使用NekoRay ,v2rayN客户端(其中一个)填写配置连接服务器端

把分享链接直接粘贴到客户端 或者手工输入配置 无域名使用IP搭建download-bandwidth 根据实际填写

地址: 服务器ip
端口: 8443    # 服务器端端口
密码: RhCLi%T&MFe5&de # 服务器端密码
传输安全层: tls
SNI: bing.com  # 伪装域名
跳过证书验证: true
download-bandwidth=200

服务器端,修改域名

如果需要修改伪装域名

  1. 根据新域名生成证书文件

    • 修改gen_cent.sh文件, 把-subj "/CN=bing.com"改为其他域名, 例如-subj "/CN=abc.com"
    • 然后执行bash gen_cert.sh重新生成证书文件server.crtserver.key
  2. 修改config.json文件 修改masquerade.proxy.url属性

    "masquerade": {
      "type": "proxy",
      "proxy": {
         "url": "https://改为其他tls1.3的域名",
         "rewriteHost": true
      }
    }
    

服务器端,修改端口

修改config.json文件

{
   "listen": ":9999", // 改为其他端口
   // 省略其他代码...
}

服务器端, 升级镜像

cd ./bin
bash ./update_docker_images.sh

文件解析

  • 文件gen_cert.sh, 用来生成自签证书
        # 生成自签名的 ECDSA 证书并设置有效期为 100 年
  
        # 使用 OpenSSL 的证书请求工具
        openssl req \
            -x509 \                         # 生成自签名的X.509证书
            -nodes \                        # 不使用加密算法保护私钥
            -newkey ec:<(openssl ecparam -name prime256v1) \   # 生成 ECDSA 私钥和公钥,使用 prime256v1 曲线
            -keyout /etc/hysteria/server.key \                  # 将生成的私钥保存到指定路径
            -out /etc/hysteria/server.crt \                     # 将生成的自签名证书保存到指定路径
            -subj "/CN=bing.com" \          # 设置证书的主题字段,这里是 Common Name (CN)
            -days 36500 \                   # 设置证书的有效期为 36500 天约100年

-subj 参数用于在 OpenSSL 命令中设置证书主题字段,其中 "/CN=example.com" 指定了通用名称 (Common Name, CN),表示证书关联的主机名。

openssl是一个开源的加密工具包提供了一系列用于处理安全通信的命令和库。它支持多种加密算法、数字证书和相关的功能包括生成和签名证书、创建和验证数字签名、加解密数据等。常见用途包括创建和管理SSL/TLS证书、进行加密通信以及执行与加密相关的各种操作。

  • 文件server.crtserver.key是证书文件

  • 文件hysteria.yaml是hysteria服务器端配置文件

参考