# 使用说明 项目使用自有证书搭建, 无需要准备域名. 默认使用`bing.com`域名作为伪装. ## 快速开始 ### 远程服务器, 部署服务器端 确认安装好下列软件 - docker - docker-compose - git - jq - curl 下载项目代码 ```bash git clone https://gittea.wingogo.top/William/hysteria_docker.git ``` 进入项目目录 ```bash cd hysteria_docker ``` 执行命令初始化配置并启动容器 ```bash bash ./bin/run.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/) 客户端配置 - (方法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` 用来生成自签证书和设置伪装域名 ```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