update
This commit is contained in:
parent
bf8f6cd148
commit
f6d6ae5b27
110
README.md
110
README.md
@ -1,11 +1,39 @@
|
||||
# 使用说明
|
||||
|
||||
项目使用自有证书搭建, 无需要准备域名.
|
||||
默认使用`bing.com`域名作为伪装.
|
||||
## 项目描述
|
||||
项目使用自签名证书搭建 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),然后初始化配置并启动容器。
|
||||
|
||||
### 方法二:手动部署服务器端
|
||||
|
||||
如果您更喜欢手动控制,或需要在不同环境下进行自定义,请按以下步骤操作。
|
||||
|
||||
确认安装好下列软件
|
||||
|
||||
@ -33,7 +61,21 @@ 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` 并根据菜单选择。
|
||||
|
||||
### 查看日志
|
||||
检查服务端是否启动成功
|
||||
|
||||
```bash
|
||||
@ -57,75 +99,35 @@ bash ./bin/print_share_link.sh
|
||||
- [Hyteria 官方提及的第三方客户端](https://v2.hysteria.network/zh/docs/getting-started/3rd-party-apps/)
|
||||
|
||||
客户端配置
|
||||
把分享链接直接粘贴到客户端
|
||||
分享链接获取, 参考"查看分享链接"
|
||||
|
||||
- (方法 1)把分享链接直接粘贴到客户端
|
||||
分享链接获取, 参考"查看分享链接"
|
||||
|
||||
- (方法 2)手工输入配置
|
||||
无域名,使用 IP 搭建,download-bandwidth 根据实际填写
|
||||
|
||||
```yaml
|
||||
地址: 服务器ip
|
||||
端口: 8443 # 服务器端端口
|
||||
密码: RhCLi%T&MFe5&de # 服务器端密码
|
||||
传输安全层: tls
|
||||
SNI: bing.com # 伪装域名
|
||||
跳过证书验证: true
|
||||
download-bandwidth=200
|
||||
```
|
||||
|
||||
## 服务器端,修改域名
|
||||
|
||||
如果需要修改其他伪装域名, 进入项目目录, 执行以下命令
|
||||
|
||||
```bash
|
||||
bash ./bin/set_domain.sh expedia.com
|
||||
```
|
||||
|
||||
## 服务器端,修改端口
|
||||
|
||||
修改`config.json`配置文件
|
||||
|
||||
```json
|
||||
{
|
||||
"listen": ":9999" // 改为其他端口
|
||||
// 省略其他代码...
|
||||
}
|
||||
```
|
||||
|
||||
## 服务器端, 升级镜像
|
||||
|
||||
```bash
|
||||
bash ./bin/update_docker_images.sh
|
||||
```
|
||||
|
||||
## 文件解析
|
||||
|
||||
### 文件`set_domain.sh`
|
||||
### 文件`bin/gen_self_tls.sh`
|
||||
|
||||
用来生成自签证书和设置伪装域名
|
||||
用来生成自签证书和设置伪装域名。该脚本实际执行的 OpenSSL 命令:
|
||||
|
||||
```bash
|
||||
# 生成自签名的 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" \ # 设置证书的主题字段,CN是 Common Name (CN)
|
||||
-days 36500 \ # 设置证书的有效期为 36500 天(约100年)
|
||||
-newkey ec:<(openssl ecparam -name prime256v1) \ # 使用 bash process substitution 生成 ECDSA 私钥
|
||||
-keyout ./key/server.key \ # 将生成的私钥保存到项目 key 目录
|
||||
-out ./key/server.crt \ # 将生成的自签名证书保存到项目 key 目录
|
||||
-subj "/CN=yourdomain.com" \ # 设置证书主题的 CN(Common Name)
|
||||
-days 36500 # 设置证书有效期为 36500 天(约100年)
|
||||
```
|
||||
|
||||
- `openssl`是一个开源的加密工具包,提供了一系列用于处理安全通信的命令和库。它支持多种加密算法、数字证书和相关的功能,包括生成和签名证书、创建和验证数字签名、加解密数据等。常见用途包括创建和管理 SSL/TLS 证书、进行加密通信以及执行与加密相关的各种操作。
|
||||
|
||||
- `-subj `参数用于在 OpenSSL 命令中设置证书主题字段,其中 "/CN=example.com" 指定了通用名称 (Common Name, CN),表示证书关联的主机名。
|
||||
|
||||
### 文件`server.crt`和`server.key`是证书文件
|
||||
### 文件`key/server.crt`是 Tls 证书, `key/server.key`是 Tls 私钥
|
||||
|
||||
### 文件`config.json`是服务器端配置文件
|
||||
|
||||
## 参考
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user