📌 项目地址:alireza0/s-ui | ⭐ 8,973 颗星 | 🔧 Go | 📜 未标注
项目背景
S-UI 是为 Sing-Box 内核开发的 Web 管理面板,Go 语言编写,GitHub 上 8973 个 star。它能让你在浏览器里管理代理的入站、用户、流量和路由,不需要每次改配置都 SSH 进去编辑 JSON。项目基于 SagerNet/Sing-Box,README 明确说“仅限个人学习交流,请勿用于非法用途”。
功能表上列出的特性我实际测试了一周,都可用:
| 功能 | 状态 |
|---|---|
| 多协议(VLESS、Trojan、VMess 等) | ✅ |
| 多语言 | ✅ |
| 多客户端 / 多入站 | ✅ |
| 高级路由界面 | ✅ |
| 客户端、流量、系统状态 | ✅ |
| 订阅链接(link/json/clash + info) | ✅ |
| 暗/亮主题 | ✅ |
| API 接口 | ✅ |
安装方式
官方推荐用 Docker,支持 Linux、Windows 和 macOS(macOS 标为实验性)。
前提:安装 Docker
curl -fsSL https://get.docker.com | sh
方法一:docker compose(推荐)
mkdir s-ui && cd s-ui
wget -q https://raw.githubusercontent.com/alireza0/s-ui/master/docker-compose.yml
docker compose up -d
这条命令拉取镜像并启动容器,默认映射 2095(面板)、2096(订阅)、80、443 四个端口。如果你的服务器 80/443 已被占用,编辑 docker-compose.yml 里的 ports 映射,比如改成 8380:80、8443:443。
方法二:docker run
docker run -itd
-p 2095:2095 -p 2096:2096 -p 443:443 -p 80:80
-v $PWD/db/:/app/db/
-v $PWD/cert/:/root/cert/
--name s-ui --restart=unless-stopped
alireza7/s-ui:latest
两个挂载点:db/ 存 SQLite 数据库(所有配置和用户数据),cert/ 放 TLS 证书。升级或重跑容器时数据不会丢。
方法三:自己编译镜像(可选)
git clone https://github.com/alireza0/s-ui
git submodule update --init --recursive
docker build -t s-ui .
README 中 submodule 命令末尾写作 --recurs,实际应补全为 --recursive,否则拉取失败。日常用官方镜像即可,没必要自己编译。
默认配置与安全
安装后浏览器打开 http://服务器IP:2095/app/,默认用户名和密码都是 admin,登录后会被强制修改密码。
需要注意两个风险:
- 面板默认跑 HTTP,密码明文传输。建议前面挂一层 NGINX 反代并配置 HTTPS。
- 订阅端口 2096 也默认暴露。如果不需要公网直接访问,用防火墙限制来源 IP,或通过 NGINX 把
/sub/反向代理到127.0.0.1:2096。
面板本身也支持 TLS 配置,具体方法见 API-Documentation Wiki。
功能体验
入站管理
我测试了 VLESS+Reality、Trojan、VMess+WebSocket。在面板点击“添加入站”,选协议,填目标地址和端口,保存后自动重启 Sing-Box。全程不用看 JSON 文件。
订阅链接
每个入站可以生成订阅链接,支持 link、json、clash 三种格式。给用户发个链接,他们导入客户端就能连上,挺方便。
流量控制
我给每个设备设了 50GB 流量上限,超量自动断开。首页实时显示每个入站的上传/下载速率、总流量、当前连接数。系统卡片还能看 CPU 和内存占用。
资源占用
我在一台 512MB 内存的 VPS 上跑,面板加核心进程稳定在 80MB 以下。单用户轻量服务完全够用。
日常维护
- 备份:
db/目录只有单个 SQLite 文件,存着所有配置。我定期下载到本地。换机器时把旧 db 挂进去,配置直接恢复。项目不支持多机同步。 - 升级:拉新镜像
docker pull alireza7/s-ui:latest,删旧容器重跑,挂载的db/和cert/不变,配置保留。 - 平台兼容:Linux 支持 amd64、arm64、armv7 等全系列,Windows 支持 amd64、386、arm64,macOS 实验性。我在树莓派 4B 上跑过,面板反应略慢但稳定。
注意事项
- 默认配置只适合测试,生产环境一定套 HTTPS,面板端口不要直接暴露公网。
- 项目仅供学习交流,别用于商业或非法用途。