一个简洁高效的 sing-box 代理管理工具,支持智能分流、DNS 防泄漏、命令行和 Web 界面双模式管理。
专为 OpenWrt 软路由 设计,让全屋设备无感翻墙。
- 开箱即用 - 一条命令初始化,自动生成最优分流配置
- 无需手写配置 - 告别复杂的 JSON 配置文件
- 智能分流 - 国内直连、国外代理,访问速度和隐私兼得
- DNS 防泄漏 - 未知域名通过代理查询,保护隐私
- 现代化界面 - 深色主题 Web 面板,手机电脑都能用
- 模块化架构 - 代码重构为清晰的模块结构 (api/config/generator/process/subscription)
- 专业 YAML 解析 - 使用
gopkg.in/yaml.v3库解析 Clash 订阅,更稳定可靠 - 轮询替代 SSE - Web 界面改用轮询机制,解决长连接假死问题
- 智能轮询 - 页面不可见时自动暂停轮询,节省资源
- 实时流量统计 - 仪表盘显示实时上传/下载速度
- 智能分流 - 国内直连、国外代理,基于 BGP IP 列表和 GeoSite 规则
- DNS 防泄漏 - FakeIP + 代理 DNS,未知域名通过代理查询
- 三种代理模式 - 规则模式、全局代理、直连模式一键切换
- 多协议支持 - Shadowsocks、VLESS、VMess
- 多订阅格式 - 支持标准 URI 和 Clash YAML 格式订阅(使用专业 YAML 库解析)
- 节点测速 - TCP 延迟测试和 HTTP 连通性测试
- 智能切换 - 自动选择最快可用节点
- 故障检测 - 定时检测连接状态,失败自动切换
- 现代化设计 - Tailwind CSS + Alpine.js,深色主题
- 仪表盘 - 服务状态、内存占用、TUN 状态、运行时间、实时流量
- 节点管理 - 搜索过滤、类型筛选、延迟显示、一键切换
- 订阅管理 - 添加、编辑、更新订阅
- 规则管理 - 自定义分流规则(域名/IP/进程)
- 日志查看 - 搜索过滤、级别筛选、日志级别设置
- 连接管理 - 实时查看活跃连接、流量统计、断开连接
| 要求 | 说明 |
|---|---|
| sing-box | >= 1.12.0 (支持新版 DNS 和路由规则格式) |
| 操作系统 | Linux (推荐 OpenWrt) |
| 权限 | Root 权限 |
| 架构 | x86_64 / ARM64 |
# 下载最新版本 (根据你的架构选择)
# x86_64
wget https://github.com/xiaokun5460/sing-box-manager/releases/latest/download/sb-linux-amd64 -O sb
# ARM64
wget https://github.com/xiaokun5460/sing-box-manager/releases/latest/download/sb-linux-arm64 -O sb
# 安装
chmod +x sb
sudo mv sb /usr/bin/sb# 克隆仓库
git clone https://github.com/xiaokun5460/sing-box-manager.git
cd sing-box-manager
# 编译 (本机)
go build -o sb .
# 交叉编译 (OpenWrt x86_64)
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="-s -w" -o sb .
# 交叉编译 (OpenWrt ARM64)
GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -ldflags="-s -w" -o sb .
# 安装到系统目录
sudo cp sb /usr/bin/sb只需 3 步,即可完成配置:
通过 Web 界面或命令行添加订阅:
# 启动 Web 界面后,在"订阅"页面添加订阅链接
sb web
# 或使用命令行添加订阅文件
sudo mkdir -p /etc/sing-box-manager
sudo nano /etc/sing-box-manager/subscriptions.txt支持的订阅格式:
| 格式 | 示例 |
|---|---|
| Shadowsocks URI | ss://base64... |
| VMess URI | vmess://base64... |
| VLESS URI | vless://uuid@server:port?... |
| Clash YAML | 直接粘贴 Clash 订阅链接 |
sb update # 从订阅链接获取节点
sb start # 启动 sing-box# 启动 Web 管理界面
sb web然后访问 http://你的IP:7788 即可使用 Web 界面管理。
现代化的 Web 管理面板,功能一览:
- 服务运行状态(运行中/已停止)
- 内存占用实时显示
- TUN 接口状态
- 运行时间统计
- 当前节点和延迟
- 实时上传/下载速度
- 代理模式快速切换
- 节点列表展示(名称、类型、服务器、延迟)
- 关键词搜索过滤
- 按协议类型筛选(SS/VMess/VLESS)
- 一键切换节点
- 批量测速
- 添加/编辑/删除订阅
- 一键更新所有订阅
- 支持 Clash YAML 格式自动转换
- 实时日志滚动
- 关键词搜索过滤
- 级别筛选(debug/info/warn/error)
- 日志级别动态设置
- 清理 DNS 缓存
- 实时活跃连接列表
- 连接详情(目标地址、规则、出站、流量)
- 断开指定连接
- 流量统计
| 模式 | 说明 | 适用场景 |
|---|---|---|
rule |
规则模式 - 国内直连,国外代理 | 日常使用(推荐) |
global |
全局模式 - 所有流量走代理 | 需要全程代理时 |
direct |
直连模式 - 所有流量直连 | 临时关闭代理 |
切换方式:
# 命令行
sb mode rule # 切换到规则模式
sb mode global # 切换到全局模式
sb mode direct # 切换到直连模式
# Web 界面
# 在仪表盘页面点击对应模式按钮即可| 命令 | 简写 | 说明 |
|---|---|---|
sb status |
sb s |
显示 sing-box 运行状态 |
sb list [关键词] |
sb l |
列出节点,可按关键词过滤 |
sb switch <编号> |
sb sw |
切换到指定编号的节点 |
sb mode <模式> |
sb m |
切换代理模式 |
sb update |
sb u |
更新订阅,获取最新节点 |
sb test |
sb t |
测试当前节点连通性 |
sb web |
- | 启动 Web 管理界面 (端口 7788) |
| 命令 | 简写 | 说明 |
|---|---|---|
sb speed [数量] |
sb sp |
测速,默认测试前 10 个节点 |
sb auto |
- | 自动切换到最快可用节点 |
sb check |
- | 检测连接,失败时自动切换 |
sb init |
- | 初始化/重建完整配置 |
sb restart |
sb r |
重启 sing-box |
sb start |
- | 启动 sing-box |
sb stop |
- | 停止 sing-box |
sb log |
- | 查看最近 100 行日志 |
sb cron [on N|off] |
- | 定时检测开关,N 为间隔分钟 |
sb version |
sb v |
显示版本号 |
# 查看当前状态
sb status
# 列出所有香港节点
sb list 香港
# 切换到第 3 个节点
sb switch 3
# 测试前 5 个节点速度
sb speed 5
# 自动选择最快节点
sb auto
# 开启每 5 分钟自动检测
sb cron on 5sing-box-manager 采用智能 DNS 分流,确保国内域名使用国内 DNS,国外域名通过代理查询:
┌─────────────────────────────────────────────────────────────┐
│ DNS 查询流程 │
├─────────────────────────────────────────────────────────────┤
│ │
│ HTTPS/SVCB 查询 │
│ └─→ 代理 DNS (1.1.1.1 via proxy) │
│ └─→ 防止 FakeIP 不支持错误 │
│ │
│ 代理服务器域名 │
│ └─→ 国内 DNS (223.5.5.5) │
│ └─→ 真实 IP → 直连 │
│ │
│ 已知中国域名 (geosite-cn + china-domains) │
│ └─→ 国内 DNS (223.5.5.5) │
│ └─→ 真实 IP → 直连 │
│ │
│ 已知国外域名 (geosite-geolocation-!cn) │
│ └─→ FakeIP (198.18.x.x) │
│ └─→ 代理 │
│ │
│ 未知域名 │
│ └─→ 代理 DNS (1.1.1.1 via proxy) │
│ └─→ 真实 IP │
│ └─→ BGP IP 列表匹配 │
│ ├─→ 中国 IP → 直连 │
│ └─→ 其他 IP → 代理 │
│ │
└─────────────────────────────────────────────────────────────┘
流量处理顺序:
- DNS 劫持 - 接管系统 DNS 请求 (53 端口)
- 协议嗅探 - 识别 HTTP/TLS/QUIC 等协议
- 域名解析 - FakeIP 转真实 IP (resolve action)
- 私有网络直连 - 10.x, 192.168.x, 172.16.x 等内网地址
- 中国域名直连 - geosite-cn + dnsmasq-china-list
- 中国 IP 直连 - BGP 路由表 (比 MaxMind GeoIP 更准确)
- 其他流量代理 - 默认走代理出站
| 规则集 | 来源 | 用途 |
|---|---|---|
| chnroutes-bgp | chnroutes2 | BGP 中国 IP (更准确) |
| china-domains | dnsmasq-china-list | 中国域名加速列表 |
| geosite-cn | sing-geosite | 中国域名规则 |
| geosite-geolocation-!cn | sing-geosite | 国外域名规则 |
在 OpenWrt 上配置开机自启:
# 1. sing-box 服务
cat > /etc/init.d/sing-box << 'EOF'
#!/bin/sh /etc/rc.common
START=90
STOP=15
USE_PROCD=1
start_service() {
procd_open_instance
procd_set_param command /usr/bin/sing-box run -c /etc/sing-box/config.json -D /etc/sing-box
procd_set_param respawn
procd_set_param stdout 1
procd_set_param stderr 1
procd_set_param file /etc/sing-box/config.json
procd_close_instance
}
EOF
chmod +x /etc/init.d/sing-box
/etc/init.d/sing-box enable
# 2. Web 管理界面服务
cat > /etc/init.d/sb-web << 'EOF'
#!/bin/sh /etc/rc.common
START=99
STOP=10
USE_PROCD=1
start_service() {
procd_open_instance
procd_set_param command /usr/bin/sb web
procd_set_param respawn
procd_set_param stdout 1
procd_set_param stderr 1
procd_close_instance
}
EOF
chmod +x /etc/init.d/sb-web
/etc/init.d/sb-web enable# sing-box 服务
/etc/init.d/sing-box start # 启动
/etc/init.d/sing-box stop # 停止
/etc/init.d/sing-box restart # 重启
/etc/init.d/sing-box status # 状态
# Web 管理界面
/etc/init.d/sb-web start # 启动
/etc/init.d/sb-web stop # 停止| 路径 | 说明 |
|---|---|
/etc/sing-box-manager/config.yaml |
管理器配置文件 |
/etc/sing-box-manager/state.json |
运行状态(代理模式、当前节点) |
/etc/sing-box-manager/cache/ |
订阅缓存目录 |
/etc/sing-box/config.json |
sing-box 主配置文件(自动生成) |
/etc/sing-box/cache.db |
sing-box DNS 和规则缓存 |
/var/log/sing-box.log |
sing-box 运行日志 |
sing-box-manager/
├── main.go # 入口文件和 CLI 命令
├── internal/
│ ├── api/ # HTTP API 和 Web 界面
│ │ ├── handlers.go # API 处理函数
│ │ ├── server.go # HTTP 服务器
│ │ └── web/ # 前端资源 (HTML/JS/CSS)
│ ├── config/ # 配置管理
│ ├── generator/ # sing-box 配置生成
│ ├── openwrt/ # OpenWrt 集成
│ ├── process/ # 进程管理
│ ├── service/ # 业务逻辑层
│ ├── subscription/ # 订阅解析 (URI/Clash YAML)
│ └── utils/ # 工具函数
└── deploy.sh # 部署脚本
A: 首次启动需要下载规则集文件(约 10MB),请耐心等待。后续启动会使用缓存。
A: 访问 ip.sb 或 ipinfo.io,如果显示代理服务器 IP 则说明生效。
A: 检查是否使用了 rule 模式。如果仍然慢,可能是规则集未正确加载,尝试 sb init 重新初始化。
A: 检查订阅链接是否有效,以及网络是否能访问订阅地址。Clash 格式订阅会自动转换。
A: 确认 sb web 已启动,检查防火墙是否放行 7788 端口。
A: 目前 Web 端口固定为 7788,Clash API 端口为 9090。
- sing-box 版本 - 需要 sing-box >= 1.12.0,支持新版 DNS 和路由规则格式
- 首次启动 - 首次启动会下载规则集文件,可能需要等待几秒
- 权限要求 - 部分操作需要 root 权限(如启停服务、修改配置)
- 网络环境 - 测速功能使用 Google 和 Cloudflare 进行连通性测试
- OpenWrt 适配 - 使用 auto_redirect 自动管理 nftables 规则
MIT License
- sing-box - 优秀的代理内核
- dnsmasq-china-list - 中国域名列表
- chnroutes2 - BGP 中国 IP 列表
- Tailwind CSS - 现代化 CSS 框架
- Alpine.js - 轻量级 JavaScript 框架