Sing-box UI
English | 中文

核心功能
协议支持
| 入站协议 | 出站协议 | 订阅解析 | |---------|---------|---------| | WireGuard | 所有入站协议 | VMess | | Mixed (Socks5+HTTP) | direct (直连) | VLESS | | VLESS | block (屏蔽) | Trojan | | VMess | | Shadowsocks | | Trojan | | AnyTLS | | Shadowsocks | | Clash YAML 格式 | | Hysteria2 | | | | TUIC | | | | Naive | | | | ShadowTLS | | | | AnyTLS | | | | HTTP | | |
TLS 证书管理
- ACME 自动证书: 支持 Let's Encrypt 自动申请和续期
- 手动证书: 支持上传自有证书文件
- 多协议支持: VLESS、VMess、Trojan、Hysteria2 等 TLS 协议均支持 ACME
路由规则配置
- 快速模板: 一键启用常用规则(广告屏蔽、中国 IP/域名直连、私有 IP 直连)
- 快速添加规则: 支持快速添加 IP 或域名到直连/代理/屏蔽列表
- 直连模式: 无代理出站时自动配置为直连模式
负载均衡
- URLTest 模式: 基于 sing-box
urltest出站,自动选择最低延迟节点 - 可配置容差: 自定义延迟容差值(默认 50ms),避免频繁切换
- 动态节点池: 从订阅中灵活选择多个节点组成负载均衡组
- 智能路由: 自动生成路由规则,实现流量智能分发
多实例管理
- 支持创建多个命名 sing-box 实例
- 每个实例独立配置、启停
- 独立的容器日志和状态监控
WireGuard VPN 管理
- Curve25519 密钥生成
- IP 绑定密钥缓存
- 客户端配置管理 (批量生成、二维码、配置下载)
Cloudflare WARP 出站
- 一键注册: 自动生成 Curve25519 密钥对并调用 Cloudflare 注册 API, 本地缓存设备 token, 无需手动配置
- WARP+ 绑定: 支持填入 License 绑定 WARP+ 账户, 获得无限流量
- 端点优选: 真实 WireGuard 握手探测——向候选
IP:Port发送 WG 初始化包, 校验返回的 92 字节MessageResponse, 按丢包率 + 平均 RTT 排序, 精确反映 UDP 路径质量(参考 CloudflareWarpSpeedTest 实现) - 广覆盖扫描: 8 个 Cloudflare /24 段 × 54 个已知 WARP UDP 端口, 并发探测并打乱采样, 快速找到最快的边缘节点
节点健康探测
- 异步多节点并发探测
- 成功率滑动窗口统计
- API 轮询获取探测结果
管理功能
- 配置预览(JSON 编辑器)
- 容器日志查看
- 容器状态监控
快速开始
Docker Compose(推荐)
创建 docker-compose.yml:
services:
singbox-ui:
image: ghcr.io/spadesa99/singbox_ui:latest
container_name: singbox-ui
restart: unless-stopped
network_mode: host
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./data:/home/data
environment:
- DATA_DIR=/home/data
- HOST_DATA_DIR=${PWD}/data
- LISTEN_ADDR=127.0.0.1:7000
- TZ=Asia/Shanghai
docker compose up -d访问 http://127.0.0.1:7000
说明:
- 使用 network_mode: host 以便容器直接使用宿主机网络
- 默认监听127.0.0.1:7000,仅本地访问,可通过LISTEN_ADDR环境变量自定义
- 挂载 Docker Socket 用于管理 sing-box 容器
-HOST_DATA_DIR通过${PWD}自动映射宿主机数据目录,用于 sing-box 容器挂载
- 内置 sing-box v1.13.5 镜像,首次启动自动加载,无需联网拉取
远程访问
服务默认仅监听 127.0.0.1,推荐通过 SSH 隧道安全访问:
ssh -L 7000:127.0.0.1:7000 user@your-server
然后在本地浏览器访问 http://127.0.0.1:7000安全提示: 不建议将LISTEN_ADDR改为0.0.0.0:7000直接暴露到公网,管理面板无认证保护。如需外网访问,请使用 SSH 隧道或配置带认证的反向代理(如 Nginx + Basic Auth)。
环境变量
| 变量 | 说明 | 默认值 |
|------|------|--------|
| DATA_DIR | 容器内数据目录 | /home/data |
| HOST_DATA_DIR | 宿主机数据目录(用于 sing-box 容器挂载) | ${PWD}/data |
| LISTEN_ADDR | 服务监听地址 | 127.0.0.1:7000 |
| TZ | 时区 | Asia/Shanghai |
技术栈
| 前端 | 后端 | |------|------| | Next.js 16 | Go 1.24 | | React 19 | Gin 1.11 | | Tailwind CSS | Docker SDK | | shadcn/ui | |