110 lines
3.2 KiB
Markdown
110 lines
3.2 KiB
Markdown
# 使用说明
|
||
项目使用自有证书搭建, 无需要准备域名.
|
||
默认使用`bing.com`域名作为伪装.
|
||
|
||
## 快速开始
|
||
|
||
### 部署服务器端
|
||
确认安装好下列软件
|
||
- docker
|
||
- docker-compose
|
||
- git
|
||
|
||
下载项目代码
|
||
```bash
|
||
git clone https://gittea.wingogo.top/William/hysteria_docker.git
|
||
```
|
||
|
||
进入项目目录
|
||
```bash
|
||
cd hysteria_docker
|
||
```
|
||
|
||
配置初始化, **第一次运行必须执行**
|
||
```bash
|
||
bash ./bin/init.sh
|
||
```
|
||
|
||
启动项目
|
||
```bash
|
||
docker-compose up -d
|
||
```
|
||
|
||
查看日志
|
||
```bash
|
||
docker-compose logs | head -n 50
|
||
```
|
||
|
||
### 查看分享链接
|
||
进入项目目录, 执行以下命令
|
||
```bash
|
||
bash ./bin/print_share_link.sh
|
||
```
|
||
|
||
### 客户端配置
|
||
可以用使用`v2rayN`或`NekoRay`客户端填写配置连接服务器端
|
||
- [v2rayN](https://github.com/2dust/v2rayN/releases)
|
||
- [nekoray](https://github.com/MatsuriDayo/nekoray/releases)
|
||
|
||
把分享链接直接粘贴到客户端
|
||
或者手工输入配置
|
||
无域名,使用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`
|
||
用来生成自签证书和设置伪装域名
|
||
```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年)
|
||
```
|
||
- `openssl`是一个开源的加密工具包,提供了一系列用于处理安全通信的命令和库。它支持多种加密算法、数字证书和相关的功能,包括生成和签名证书、创建和验证数字签名、加解密数据等。常见用途包括创建和管理SSL/TLS证书、进行加密通信以及执行与加密相关的各种操作。
|
||
|
||
- `-subj `参数用于在 OpenSSL 命令中设置证书主题字段,其中 "/CN=example.com" 指定了通用名称 (Common Name, CN),表示证书关联的主机名。
|
||
|
||
|
||
### 文件`server.crt`和`server.key`是证书文件
|
||
|
||
### 文件`config.json`是服务器端配置文件
|
||
|
||
## 参考
|
||
- https://v2.hysteria.network/zh/docs/getting-started/Server/
|
||
- https://v2rayssr.com/hysteria2.html
|
||
- https://www.iiiam.in/articles/server/deploy-hysteria2 |