hysteria_docker/README.md
2025-11-21 21:36:47 +08:00

137 lines
4.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 使用说明
## 项目描述
项目使用自签名证书搭建 Hysteria 代理服务器,无需准备域名。
默认使用 `bing.com` 域名作为伪装。
## 快速开始
### 方法一:使用交互脚本(推荐新手)
确认安装好下列软件
- git
- curl
下载项目代码
```bash
git clone https://gitea.9001001.xyz/William/hysteria_docker.git
```
进入项目目录
```bash
cd hysteria_docker
```
运行安装脚本选择选项1安装并启动
```bash
bash ./install.sh
```
脚本会自动检测并安装必要的软件Docker、Docker Compose、jq然后初始化配置并启动容器。
### 方法二:手动部署服务器端
如果您更喜欢手动控制,或需要在不同环境下进行自定义,请按以下步骤操作。
确认安装好下列软件
- docker
- docker-compose
- git
- jq
- curl
下载项目代码
```bash
git clone https://gitea.9001001.xyz/William/hysteria_docker.git
```
进入项目目录
```bash
cd hysteria_docker
```
执行命令初始化配置并启动容器
```bash
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` 并根据菜单选择。
### 查看日志
检查服务端是否启动成功
```bash
docker-compose logs | head -n 50
```
### 查看分享链接
服务器端启动成功后, 进入项目目录, 执行以下命令
```bash
bash ./bin/print_share_link.sh
```
### 电脑配置客户端
客户端软件(选择其中一种)
- [V2rayN](https://github.com/2dust/v2rayN/releases)
- [Nekoray](https://github.com/MatsuriDayo/nekoray/releases)
- [Hyteria 官方提及的第三方客户端](https://v2.hysteria.network/zh/docs/getting-started/3rd-party-apps/)
客户端配置
把分享链接直接粘贴到客户端
分享链接获取, 参考"查看分享链接"
## 文件解析
### 文件`bin/gen_self_tls.sh`
用来生成自签证书和设置伪装域名。该脚本实际执行的 OpenSSL 命令:
```bash
# 生成自签名的 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 私钥
## 参考
- https://v2.hysteria.network/zh/docs/getting-started/Server/
- https://v2rayssr.com/hysteria2.html
- https://www.iiiam.in/articles/server/deploy-hysteria2