s-ui 安装与配置指南(Hysteria 2 + TUIC)
一、s-ui 简介
s-ui 是由 alireza0/s-ui 开发的多协议代理面板管理工具,专门用于管理 Hysteria 2 和 TUIC 协议。s-ui 使用纯 Go 语言编写,性能出色,资源占用低,提供 Web 管理面板,方便用户进行图形化配置和管理。
相比传统的 xray 面板,s-ui 专注于 QUIC 协议栈(Hysteria 2 和 TUIC),是搭建高性能代理节点的理想选择。
二、一键安装
s-ui 提供了一键安装脚本,在全新服务器上执行以下命令即可安装:
bash <(curl -Ls https://raw.githubusercontent.com/alireza0/s-ui/master/install.sh)
安装完成后,面板默认监听端口为 2096(HTTPS),访问地址为 https://your-server-ip:2096。
默认登录用户名和密码为 admin / admin,首次登录后请立即修改。
安装后基本操作
# 查看 s-ui 运行状态
s-ui status
# 重启面板
s-ui restart
# 查看面板配置
s-ui config
三、Hysteria 2 协议介绍
协议特点
- 基于 QUIC (UDP) — 使用 HTTP/3 的 QUIC 协议作为传输层,充分利用 UDP 的高速特性
- 抗丢包、低延迟 — 内置 FEC(前向纠错)和 BBR 拥塞控制算法,在丢包率高达 30% 的网络环境下仍可保持稳定连接
- 适合高延迟/丢包网络 — 特别适合跨国连接、移动网络等不稳定环境
- 内置认证机制 — 支持密码或 token 认证,无需额外配置
- 端口跳跃(Port Hopping) — 支持多端口动态跳跃,提升抗干扰和 QoS 能力
- obfs 混淆 — 支持 salamander 混淆,隐藏流量特征
Hysteria 2 服务端配置示例(s-ui 面板)
# 在 s-ui 面板中配置 Hysteria 2 入站
端口: 443
认证密码: YOUR_PASSWORD
证书: /root/cert/fullchain.pem
私钥: /root/cert/privkey.pem
SNI: your-domain.com
obfs: salamander
obfs-password: YOUR_OBFS_PASSWORD
Hysteria 2 客户端配置
# Nekoray / sing-box 格式
server: your-domain.com:443
auth: YOUR_PASSWORD
transport: quic
obfs: salamander
obfs-password: YOUR_OBFS_PASSWORD
sni: your-domain.com
skip-cert-verify: false
四、TUIC 协议介绍
协议特点
- 基于 QUIC — 与 Hysteria 2 同样使用 QUIC 传输协议
- 轻量级设计 — 专为代理场景设计,协议开销极小
- v5 协议 — 最新版本性能优异,连接建立速度快
- UDP over TCP 模式 — 在不支持 UDP 的网络上可通过 TCP 传输 UDP 流量
- 支持端口跳跃 — 类比 Hysteria 2 的端口跳跃功能
- HE(混合加密) — 内置混合加密机制,保证数据传输安全
TUIC 服务端配置示例(s-ui 面板)
# 在 s-ui 面板中配置 TUIC 入站
端口: 8443
UUID(token): YOUR_UUID
证书: /root/cert/fullchain.pem
私钥: /root/cert/privkey.pem
SNI: your-domain.com
UDP 转发: 开启
TUIC 客户端配置
# sing-box 配置格式
{
"type": "tuic",
"tag": "tuic-client",
"server": "your-domain.com",
"server_port": 8443,
"uuid": "YOUR_UUID",
"password": "YOUR_PASSWORD",
"tls": {
"enabled": true,
"server_name": "your-domain.com",
"insecure": false
}
}
五、面板功能详解
Web 管理面板
- 可视化端口管理 — 添加、编辑、删除 Hysteria 2 和 TUIC 入站端口
- 用户管理 — 支持多用户,区分流量和权限
- 流量统计 — 实时查看各端口/用户的上传下载流量
- 在线用户 — 查看当前在线连接数
- 配置证书 — 支持上传 SSL/TLS 证书,或使用 ACME 自动申请 Let's Encrypt 证书
- Telegram Bot — 通过 Telegram bot 接收流量告警、服务器状态通知
ACME 自动证书
# 在 s-ui 面板设置中启用 ACME
域名: your-domain.com
邮箱: admin@your-domain.com
ACME 提供商: Let's Encrypt (ZeroSSL 也可)
Telegram Bot 配置
# 在面板中配置 Telegram 通知
Bot Token: YOUR_BOT_TOKEN
Chat ID: YOUR_CHAT_ID
通知类型:
- 流量使用警告
- 服务器离线通知
- 定期流量报告
六、常用配置参数说明
| 参数 | 说明 | 建议值 |
|---|---|---|
| listen port | 监听端口号 | 443 / 8443 / 2087 |
| authentication | 认证方式(密码/token/UUID) | 强密码或 UUID |
| obfs | 混淆类型(salamander) | salamander |
| SNI | TLS 握手时的服务器名称指示 | your-domain.com |
| masquerade | 伪装站点(被探测时返回的内容) | https://www.bing.com |
| port hopping | 端口跳跃范围 | 1000-2000,3000-4000 |
七、客户端配置
桌面端
- sing-box — 跨平台代理客户端,支持 Hysteria 2 和 TUIC 原生支持
- Nekoray / Nekobox — 基于 sing-box 的 GUI 客户端,支持多种协议
- v2rayN — Windows 平台主流客户端(需安装 sing-box 核心)
移动端
- Hiddify — Android/iOS 全平台支持,自动订阅配置
- Streisand — Android 客户端,支持 Hysteria 2 和 TUIC
- Sing-box (iOS) — 原生支持多协议
八、端口共用说明
s-ui 可以和 xray 共存,互不冲突:
- TLS 层面:s-ui 管理 Hysteria 2(UDP)和 TUIC(UDP)端口
- xray 层面:xray 管理 VLESS/VMess/Trojan(TCP)端口
- 原理:Hysteria 2 和 TUIC 基于 UDP,而 xray 核心协议基于 TCP,两者使用不同的传输层端口,可以同时运行在同一台服务器上
- 典型部署:s-ui 监听 UDP 443/TUIC 8443,xray 监听 TCP 443(通过回落分流)
九、验证配置
安装和配置完成后,可以通过以下命令验证服务是否正常运行:
# 查看 s-ui 各组件状态
s-ui status
# 检查端口监听情况(hy2 和 tuic 相关进程)
ss -tulnp | grep -E "hy2|tuic|hysteria"
# 查看 s-ui 日志
s-ui log
# 测试端口是否正常监听
netstat -anp | grep -E "LISTEN.*:(443|8443)"
如果看到对应端口处于 LISTEN 状态,且进程名为 s-ui 或 hysteria / tuic,说明服务已正常运行。
十、常见问题
Q: s-ui 面板无法访问?
A: 检查防火墙是否放行了 2096 端口。如果使用云服务器,需在安全组中添加相应规则。
Q: 客户端连接不上?
A: 检查以下几点:
- 服务器端 s-ui 是否正常运行(
s-ui status) - 证书是否配置正确
- 客户端 SNI 是否与证书域名一致
- 防火墙是否放行了对应 UDP 端口
Q: 速度慢或不稳定?
A: 尝试调整以下参数:
- Hysteria 2: 调整下行/上行速度限制(注意单位是 bps 而非 Bps)
- TUIC: 开启 UDP over TCP 模式
- 检查是否启用了端口跳跃来分散流量