本教程基于当前项目 S-Hy2-Manager 编写,适用于希望通过交互菜单快速部署、配置和维护 Hysteria2 服务的用户。
1. 项目简介
S-Hy2 Manager 是一个 Hysteria2 代理服务器一键部署与管理工具,提供交互式菜单和部分非交互式 CLI 参数,适合用于快速安装、配置、维护 Hysteria2 服务。
主要能力包括:
-
一键安装 / 卸载 Hysteria2
-
快速配置 / 手动配置服务端
-
ACME 自动证书、自签名证书、自定义证书管理
-
用户管理与客户端配置导出
-
防火墙自动配置
-
端口跳跃、ACL、DNS、带宽限制
-
出站规则管理:Direct / SOCKS5 / HTTP
-
配置备份恢复、日志查看、速度测试、流量统计
-
Hysteria2 更新与脚本自身更新
项目地址:https://github.com/motao123/S-Hy2-Manager
2. 准备工作
2.1 系统要求
推荐系统:
-
Ubuntu 18.04+
-
Debian 9+
-
CentOS 7+
-
Fedora 30+
-
其他支持 systemd 的 Linux 发行版
权限要求:
-
需要 root 或 sudo 权限
基础依赖:
-
curl
-
wget
-
git
-
openssl
-
iptables / nftables
-
systemd
一键安装脚本会尝试自动安装常见依赖。
2.2 准备服务器
建议准备一台全新的 VPS,避免已有服务占用端口或修改防火墙规则造成冲突。
常用检查命令:
cat /etc/os-release
uname -a
ip addr
2.3 可选:准备域名
如果你希望使用 ACME 自动签发证书,需要提前准备一个域名,并将域名解析到服务器 IP。
示例:
doamin(域名) -> 你的服务器 IPv4
检查解析:
ping domain(域名)
或:
nslookup domain(域名)
3. 安装 S-Hy2 Manager
git clone https://github.com/motao123/S-Hy2-Manager.git cd S-Hy2-Manager chmod +x hy2-manager.sh scripts/*.sh modules/*.sh sudo ./hy2-manager.sh
安装完成后会创建快捷命令:
hy2-manager
进入管理菜单。
3.1卸载管理脚本
仅卸载 S-Hy2 Manager 管理脚本,不等同于卸载 Hysteria2 服务:
sudo bash quick-install.sh --uninstall
4. 启动管理菜单
安装完成后执行:
sudo ./hy2-manager.sh
你会看到主菜单:
5. 安装 Hysteria2
进入主菜单后,选择:
1. 安装 Hysteria2
脚本会执行以下流程:
-
检查系统环境
-
检查必要命令
-
检查网络连接
-
下载 Hysteria2 官方安装脚本到临时文件
-
执行语法检查
-
安装 Hysteria2 二进制文件
-
创建 /etc/hysteria 配置目录
-
配置 systemd 服务
-
记录安装版本和二进制 SHA256
6. 快速配置 Hysteria2
快速配置适合新用户,脚本会自动生成基础配置。
在主菜单选择:
2. 快速配置
快速配置通常会涉及:
-
监听端口
-
认证密码
-
证书模式
-
混淆配置
-
伪装域名选择
-
服务启动 / 重启
6.1 伪装域名选择
脚本支持以下方式:
1. 使用默认域名
2. 自动测试选择最优域名
3. 手动输入
建议普通用户选择自动测试或默认值。
6.2 快速配置完成
配置完成后,服务配置文件通常位于:
/etc/hysteria/config.yaml
你可以使用以下命令查看服务状态:
systemctl status hysteria-server.service
7. 手动配置 Hysteria2
如果你已经准备好域名、证书,或希望自定义更多参数,可以使用手动配置。
主菜单选择:
3. 手动配置
手动配置适合以下场景:
-
使用 ACME 自动证书
-
使用自签名证书
-
使用自定义证书
-
自定义监听端口
-
自定义认证信息
-
自定义伪装站点
7.1 ACME 证书模式
如果你有域名,并且域名已经解析到服务器 IP,可以选择 ACME 自动证书。
需要注意:
-
域名必须正确解析到当前服务器
-
服务器需要能访问公网
-
防火墙不能阻断证书签发需要的端口
7.2 自签名证书模式
如果没有域名,可以使用自签名证书。
优点:
-
不需要域名
-
配置简单
注意:
-
客户端一般需要允许不安全证书或配置对应证书校验参数
7.3 自定义证书模式
如果你已有证书和私钥,可以上传或指定路径。
常见路径示例:
/etc/hysteria/server.crt
/etc/hysteria/server.key
8. 服务管理
主菜单选择:
7. 服务管理
服务管理通常用于:
-
查看服务状态
-
启动服务
-
停止服务
-
重启服务
-
设置开机自启
-
查看运行状态
常用 systemd 命令:
sudo systemctl status hysteria-server.service
sudo systemctl restart hysteria-server.service
sudo systemctl stop hysteria-server.service
sudo systemctl start hysteria-server.service
sudo journalctl -u hysteria-server.service -f
9. 客户端配置导出
主菜单选择:
8. 订阅链接 / 客户端导出
支持导出:
-
Hysteria2 客户端 YAML
-
Hysteria2 URI 链接
-
二维码
-
订阅链接
-
一键导出全部
9.1 导出 YAML 配置
选择生成客户端 YAML 后,可以将配置保存到本地客户端。
9.2 导出 URI 链接
URI 链接可用于支持 Hysteria2 URI 的客户端。
9.3 导出二维码
二维码适合移动端扫码导入。
9.4 订阅链接
订阅链接可用于支持订阅的客户端。
10. 多用户管理
主菜单选择:
11. 多用户管理
多用户管理适用于 userpass 认证模式,可进行:
-
查看用户列表
-
添加用户
-
删除用户
-
修改用户密码
-
批量添加 / 删除
10.1 CLI 添加用户
也可以使用 CLI 添加用户:
sudo s-hy2 --add-user alice
脚本会自动生成密码,避免密码进入 shell 历史。
添加后建议重启服务:
sudo s-hy2 --restart
10.2 CLI 删除用户
sudo s-hy2 --del-user alice
sudo s-hy2 --restart
11. 域名与证书管理
11.1 域名管理
主菜单选择:
5. 域名管理
域名管理包含:
-
ACME 域名管理
-
伪装域名管理
-
域名解析检查
-
伪装连通性测试
11.2 证书管理
主菜单选择:
6. 证书管理
证书管理支持:
-
查看当前证书状态
-
生成自签名证书
-
上传自定义证书
-
查看证书信息
-
修改证书路径
-
删除证书文件
12. 防火墙管理
主菜单选择:
10. 防火墙管理
防火墙模块支持自动识别和管理常见防火墙环境,例如:
-
firewalld
-
ufw
-
iptables
-
nftables
可执行操作:
-
查看当前规则
-
删除 Hysteria2 相关规则
-
重新添加 Hysteria2 规则
-
启用 / 停用防火墙规则
-
管理防火墙服务
-
一键管理 Hysteria2 端口
-
部署后检查
13. 出站规则管理
主菜单选择:
9. 出站规则
出站规则用于配置 Hysteria2 的出站代理行为。支持:
-
Direct 直连
-
SOCKS5 代理
-
HTTP / HTTPS 代理
常见操作:
-
查看当前出站配置
-
添加出站规则
-
修改出站规则
-
删除出站规则
-
将规则应用到 Hysteria2 配置
13.1 添加 Direct 规则
Direct 规则适合指定某些流量直接连接。
13.2 添加 SOCKS5 规则
SOCKS5 规则适合将流量转发到 SOCKS5 上游代理。
13.3 添加 HTTP / HTTPS 规则
HTTP / HTTPS 规则适合接入 HTTP 上游代理。
14. ACL 规则管理
主菜单选择:
12. ACL 规则管理
ACL 用于控制流量分流规则,例如:
-
指定域名直连
-
指定 IP 段走特定出站
-
导入远程 ACL 规则
-
启用 / 禁用 ACL
-
编辑 ACL 文件
15. 带宽限制与 DNS 管理
15.1 带宽限制
主菜单选择:
13. 带宽限制
可设置:
-
上行带宽
-
下行带宽
-
是否忽略客户端带宽设置
示例格式:
100 mbps
1 gbps
500 kbps
15.2 DNS 配置
主菜单选择:
14. DNS 配置管理
可设置:
-
自定义 DNS 服务器
-
推荐 DNS 配置
-
移除 DNS 配置
16. 备份、日志、测速与流量统计
16.1 配置备份与恢复
主菜单选择:
15. 配置备份与恢复
支持:
-
创建备份
-
恢复备份
-
查看备份列表
-
删除备份
-
设置自动备份
-
清理旧备份
16.2 日志管理
主菜单选择:
16. 日志管理
支持:
-
查看最近日志
-
实时跟踪日志
-
搜索日志
-
清理日志
-
设置日志轮转
16.3 速度测试
主菜单选择:
17. 速度测试
支持:
-
下载速度测试
-
延迟测试
-
Hysteria2 连接测试
16.4 流量统计
主菜单选择:
18. 流量统计
支持:
-
流量概览
-
连接统计
-
实时连接快照
-
按用户查看流量
17. 更新与卸载
17.1 检查更新
主菜单选择:
19. 检查更新
更新模块会检查 Hysteria2 版本,并可记录已安装版本与二进制 SHA256,用于完整性验证。
也可以使用 CLI:
sudo s-hy2 --update
17.2 卸载服务
主菜单选择:
20. 卸载服务
卸载会清理:
-
Hysteria2 程序文件
-
systemd 服务
-
配置文件和证书
-
用户账户
-
端口跳跃规则
-
部分系统残留
⚠️ 卸载前请务必先备份配置。
18. 常用 CLI 命令
除了交互菜单,也可以直接使用 CLI 参数。
18.1 基础命令
sudo s-hy2 # 进入交互菜单
sudo s-hy2 --install # 安装 Hysteria2
sudo s-hy2 --uninstall # 卸载 Hysteria2
sudo s-hy2 --status # 查看服务状态
sudo s-hy2 --restart # 重启服务
sudo s-hy2 --stop # 停止服务
sudo s-hy2 --start # 启动服务
18.2 用户管理
sudo s-hy2 --list-users # 列出用户
sudo s-hy2 --add-user alice # 添加用户,自动生成密码
sudo s-hy2 --del-user alice # 删除用户
18.3 客户端导出
sudo s-hy2 --export # 导出客户端 YAML
sudo s-hy2 --export-uri # 导出 URI 链接
sudo s-hy2 --export-sub # 导出订阅链接
18.4 运维命令
sudo s-hy2 --backup # 创建备份
sudo s-hy2 --restore # 恢复最新备份
sudo s-hy2 --validate # 验证配置文件
sudo s-hy2 --speed-test # 速度测试
sudo s-hy2 --update # 检查更新
sudo s-hy2 -v # 显示版本
19. 常见问题
19.1 提示需要 root 权限
请使用:
sudo s-hy2
或切换到 root 用户后执行。
19.2 安装脚本下载失败
可能原因:
-
服务器无法访问 GitHub
-
DNS 异常
-
防火墙限制
-
网络质量差
建议检查:
curl -I https://github.com
curl -I https://raw.githubusercontent.com
19.3 服务启动失败
查看日志:
sudo journalctl -u hysteria-server.service -n 100 --no-pager
检查配置:
sudo s-hy2 --validate
19.4 客户端无法连接
建议检查:
-
服务是否运行
-
端口是否监听
-
防火墙是否放行 TCP/UDP
-
客户端密码是否正确
-
证书/SNI 是否匹配
-
域名是否解析到服务器
常用命令:
sudo systemctl status hysteria-server.service
ss -tulpn | grep hysteria
sudo s-hy2 --status
19.5 ACME 证书申请失败
请确认:
-
域名解析正确
-
服务器公网 IP 正确
-
相关端口未被阻断
-
没有频繁申请导致触发 CA 限制
19.6 修改配置后不生效
修改配置后需要重启服务:
sudo s-hy2 --restart
或:
sudo systemctl restart hysteria-server.service
结语
通过本教程,你可以完成 S-Hy2 Manager 的安装、Hysteria2 服务部署、客户端配置导出以及日常运维管理。
建议首次部署时按照以下顺序操作:
安装管理脚本 -> sudo s-hy2 -> 安装 Hysteria2 -> 快速配置 -> 服务管理 -> 客户端导出 -> 客户端连接测试
如果你是高级用户,可以继续使用域名证书、出站规则、ACL、DNS、带宽限制等功能进行深度定制。
-
ACME 域名管理
-
伪装域名管理
-
域名解析检查
-
伪装连通性测试









