Go to file
2025-12-09 16:26:00 +08:00
bin update 2025-12-09 16:26:00 +08:00
config_template update 2025-11-20 20:43:47 +08:00
key
.editorconfig update 2024-05-16 00:38:29 +08:00
.gitignore 取消跟踪config.json文件 2025-11-20 19:20:47 +08:00
docker-compose.yml feat(docker): set hysteria container name to project name 2025-11-26 09:52:18 +08:00
install.sh update 2025-12-09 16:26:00 +08:00
README.md update 2025-11-21 21:36:47 +08:00

使用说明

项目描述

项目使用自签名证书搭建 Hysteria 代理服务器,无需准备域名。 默认使用 bing.com 域名作为伪装。

快速开始

方法一:使用交互脚本(推荐新手)

确认安装好下列软件

  • git
  • curl

下载项目代码

git clone https://gitea.9001001.xyz/William/hysteria_docker.git

进入项目目录

cd hysteria_docker

运行安装脚本选择选项1安装并启动

bash ./install.sh

脚本会自动检测并安装必要的软件Docker、Docker Compose、jq然后初始化配置并启动容器。

方法二:手动部署服务器端

如果您更喜欢手动控制,或需要在不同环境下进行自定义,请按以下步骤操作。

确认安装好下列软件

  • docker
  • docker-compose
  • git
  • jq
  • curl

下载项目代码

git clone https://gitea.9001001.xyz/William/hysteria_docker.git

进入项目目录

cd hysteria_docker

执行命令初始化配置并启动容器

bash ./bin/run.sh

其他说明

install.sh 脚本说明

项目提供了 install.sh 交互脚本,可以帮助您轻松管理 Hysteria 服务。运行脚本后,根据提示选择数字编号来执行相应操作:

  1. 安装并启动 - 自动检测并安装所需软件Docker、Docker Compose、jq然后初始化配置并启动服务。
  2. 生成配置/重置配置 - 重新生成 Hysteria 配置文件。
  3. 启动容器 - 仅启动 Hysteria 容器(假设配置已存在)。
  4. 查看分享链接 - 显示客户端可用的配置链接。
  5. 停止容器 - 停止并移除运行中的容器。
  6. 更新镜像 - 下载最新的 Hysteria docker镜像。
  7. 更新端口 - 修改服务监听端口。

使用方法:进入项目目录后,运行 bash ./install.sh 并根据菜单选择。

查看日志

检查服务端是否启动成功

docker-compose logs | head -n 50

查看分享链接

服务器端启动成功后, 进入项目目录, 执行以下命令

bash ./bin/print_share_link.sh

电脑配置客户端

客户端软件(选择其中一种)

客户端配置 把分享链接直接粘贴到客户端 分享链接获取, 参考"查看分享链接"

文件解析

文件bin/gen_self_tls.sh

用来生成自签证书和设置伪装域名。该脚本实际执行的 OpenSSL 命令:

# 生成自签名的 ECDSA 证书并设置有效期为 100 年

openssl req \
    -x509 \                           # 生成自签名的X.509证书
    -nodes \                          # 不使用加密算法保护私钥
    -newkey ec:<(openssl ecparam -name prime256v1) \    # 使用 bash process substitution 生成 ECDSA 私钥
    -keyout ./key/server.key \         # 将生成的私钥保存到项目 key 目录
    -out ./key/server.crt \            # 将生成的自签名证书保存到项目 key 目录
    -subj "/CN=yourdomain.com" \       # 设置证书主题的 CNCommon Name
    -days 36500                        # 设置证书有效期为 36500 天约100年
  • openssl是一个开源的加密工具包,提供了一系列用于处理安全通信的命令和库。它支持多种加密算法、数字证书和相关的功能,包括生成和签名证书、创建和验证数字签名、加解密数据等。常见用途包括创建和管理 SSL/TLS 证书、进行加密通信以及执行与加密相关的各种操作。

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

文件key/server.crt是 Tls 证书, key/server.key是 Tls 私钥

参考