BoxPanel 是一个面向 Windows 桌面的多内核代理管理面板:用一个轻量的单文件程序,统一管理节点、订阅、分组、路由和代理内核。它采用 Go + Vue 3 架构,内置 sing-box、Xray、mihomo 与 Hysteria2 适配能力,并会根据节点协议自动选择更合适的内核,减少手动配置和反复切换。
如果你经常遇到“节点能导入但内核不兼容”“切换节点必须重启”或“订阅、路由、日志分散在多个工具里”,BoxPanel 希望把这些操作收拢到一个清晰的控制面板中。
上图为 BoxPanel 概览页界面;完整运行时数据会在启动本地内核并导入节点后显示。
English description below ↓
| 痛点 | BoxPanel 方案 |
|---|---|
| 不同节点需要不同内核 | 多内核引擎:4 种内核自动切换,xhttp 节点自动下载 Xray |
| 切节点要重启 | 运行时切换:分组内秒级切节点,核心不重启 |
| 不知道哪个内核兼容 | NodeValidator 前置校验:启动前自动检测,不兼容降级为 block 而非阻断 |
| 管理工具太重 | 单 exe 交付:无运行时依赖,双击即用,前端 go:embed 打包 |
BoxPanel 的重点不是堆叠功能,而是让“导入节点 → 选择策略 → 启动代理 → 观察状态”这条路径尽可能短。主要能力包括:
- 多内核引擎 — sing-box(全协议)/ Xray(vless/vmess/trojan/ss + xhttp)/ mihomo(hy2/tuic)/ Hysteria2,自动匹配最佳内核
- 6 种协议 — VLESS / VMess / Trojan / Shadowsocks / Hysteria2 / TUIC,支持 Reality / XTLS
- 运行时分组 — selector 手动选择 / url_test 自动测速 / fallback 故障转移,切换无需重启
- 路由规则 — 域名 / IP / 进程名规则 + geosite/geoip 规则集开关
- 订阅管理 — URL 导入、定时刷新、合并去重
- 系统代理 — 一键开关,内核退出自动关闭防断网
- 代理模式 — 规则模式 / 全局模式 / AI(TUN) 模式
- 实时监控 — 流量图表、节点延迟、内核日志
- 多格式导入 — 分享链接 / sing-box JSON / Clash YAML / base64 订阅
- 节点导出 — 批量导出 + 二维码分享
BoxPanel 将前端操作、Go API、SQLite 数据存储和独立内核进程连接起来。节点导入后,NodeValidator 会参与兼容性判断,candidateCores 负责排序候选内核;订阅、路由、系统代理和实时日志则由后端统一协调。
| 协议 / 传输 | sing-box | Xray | mihomo | Hysteria2 |
|---|---|---|---|---|
| VLESS + Reality | ✓ | ✓ | - | - |
| VMess | ✓ | ✓ | ✓ | - |
| Trojan | ✓ | ✓ | ✓ | - |
| Shadowsocks | ✓ | ✓ | ✓ | - |
| Hysteria2 | ✓ | - | ✓ | ✓ |
| TUIC | ✓ | - | ✓ | - |
| WebSocket | ✓ | ✓ | ✓ | - |
| gRPC | ✓ | ✓ | - | - |
| HTTP/2 / h2 | ✓ | ✓ | - | - |
| HTTPUpgrade | ✓ | ✓ | - | - |
| XHTTP / SplitHTTP | ✗ | ✓ | ✗ | ✗ |
双击 启动 BoxPanel.bat,浏览器自动打开 http://127.0.0.1:7820。
端口被占用时自动换到 7821/7822...(控制台窗口会打印实际地址)。
boxpanel.exe :: 默认 7820 端口,自动开浏览器
boxpanel.exe -port 9000 :: 指定端口
boxpanel.exe -no-browser :: 不自动开浏览器关闭:关掉控制台窗口,或 Ctrl+C。
左侧 节点 →「导入节点」→ 粘贴分享链接,每行一个:
vless://uuid@example.com:443?type=tcp&security=reality&sni=www.apple.com&fp=chrome&pbk=xxx&sid=xxx&flow=xtls-rprx-vision#我的节点
vmess://eyJ2IjoiMiIs...
trojan://password@server:443#名字
ss://...
hysteria2://...
tuic://...
也支持粘贴 sing-box JSON 配置、Clash YAML、整段 base64 订阅。
左侧 分组 →「新建分组」→ 选类型:
| 类型 | 行为 |
|---|---|
| 手动选择 (selector) | 你点哪个用哪个 |
| 自动选最优 (url_test) | 持续测速,自动用延迟最低的 |
| 故障转移 (fallback) | 按顺序,第一个可用就用 |
左侧 路由 →「新建规则」。例如:
| 类型 | 值 | 出站 | 效果 |
|---|---|---|---|
| 域名后缀 | github.com | 走代理 | GitHub 走代理 |
| IP/CIDR | 192.168.0.0/16 | 直连 | 内网直连 |
| 进程名 | xxx.exe | 阻断 | 拦截该进程 |
左侧 概览 → 点「启动」。状态点变绿 = 内核在跑。
AI/TUN 模式(接管全局流量)需管理员权限:右键 bat → 以管理员身份运行。
概览页「系统代理」→ 点「开启」,浏览器即走代理。不用了点「关闭」。
| 页面 | 功能 |
|---|---|
| 概览 | 启停核心、系统代理开关、实时流量图、当前节点/分组 |
| 节点 | 导入/编辑/删除/测速节点,点选当前节点,兼容性徽章 |
| 分组 | selector / url_test / fallback 组,运行时切换 |
| 路由 | 自定义路由规则 + 规则集开关 |
| 订阅 | 添加订阅 URL,定时刷新,合并去重 |
| 内核 | 多内核管理:下载/添加/删除/切换/探测 |
| 日志 | 内核实时日志(SSE 流),按级别着色 |
| 设置 | 主题(深/浅)、语言(中/英)、端口、延迟测试 URL 等 |
BoxPanel 借鉴 v2rayN 多内核架构,核心设计:
| 概念 | 说明 |
|---|---|
| CoreInfo 元数据注册表 | 每种内核的协议/传输兼容性、下载地址等均为数据驱动,新增内核 = 追加一条记录 |
| NodeValidator 前置校验 | 启动前检查节点兼容性,不兼容时自动切换到兼容内核,而非硬拦截 |
| candidateCores 排序 | 按 NodeValidator 评分排序:兼容=0 > 警告=1 > 不兼容=2 |
| 自动下载 | 缺少兼容内核时自动从 GitHub 下载并注册 |
| 版本适配 | configgen 按目标内核版本生成对应格式 |
Q:启动后状态点不变绿? 看「日志」页报错。常见:节点配置无效、端口被占用、TUN 模式没管理员权限。
Q:改了节点/分组/路由不生效? 分组切换是实时的。改节点配置或路由规则后需重启核心(概览页「重启」)。
Q:xhttp 节点启动失败? xhttp/splithttp 是 Xray 独有传输,sing-box 不支持。BoxPanel 会自动下载 Xray 并切换。
Q:数据存在哪?data/boxpanel.db(SQLite)。删掉 = 重置。
Q:怎么完全卸载?
删 boxpanel.exe + data/ 目录。
- 后端:Go 1.22+ · chi · modernc.org/sqlite(纯 Go 无 CGO)· gorilla/websocket
- 前端:Vite 5 · Vue 3 · TypeScript · Element Plus · Pinia · vue-i18n · ECharts
- 内核:sing-box / Xray / mihomo / Hysteria2(独立二进制,子进程管理)
BoxPanel/
├── cmd/panel/ Go 入口
├── internal/
│ ├── api/ HTTP/SSE 层(chi,40+ 接口)
│ ├── core/ 多内核进程管理 + Clash API + 配置生成
│ │ ├── configgen/ sing-box 配置生成 + 版本适配器
│ │ ├── xray/ Xray 内核适配
│ │ ├── mihomo/ mihomo 内核适配
│ │ └── hysteria2/ Hysteria2 内核适配
│ ├── coreinfo/ CoreInfo 元数据注册表
│ ├── nodevalidator/ NodeValidator 前置校验
│ ├── protocol/ 6 协议插件(vless/vmess/trojan/ss/hy2/tuic)
│ ├── routing/ 路由规则编译引擎
│ ├── coredl/ 多内核下载器(GitHub + 镜像回退 + 断点续传)
│ ├── import_/ 多格式导入
│ ├── subscription/ 订阅抓取/合并
│ ├── latency/ 穿代理测速
│ ├── readyprobe/ SOCKS5 握手探测
│ ├── sysproxy/ 跨平台系统代理
│ ├── store/sqlite/ 持久化
│ ├── models/ 领域模型
│ └── web/ go:embed 前端
├── frontend/ Vite 工程
└── data/ 运行时数据(db + 内核 + 规则集)
:: 1. 构建前端cd frontend
npm install --legacy-peer-deps
npm run build :: 产物 → internal/web/dist
:: 2. 构建后端(含前端)cd ..
go build -o boxpanel.exe .\cmd\panel
:: 3. 前端开发模式(热更新,代理 /api 到 7820)cd frontend && npm run dev :: 另开终端跑 boxpanel.exe- 新协议:
internal/protocol/<name>/实现Protocol接口 +init()注册 - 新内核:
internal/core/<name>/实现Core接口 +coreinfo.Registry追加元数据 - 新路由规则类型:
internal/routing/routing.go加分支 - 新 API:
internal/api/handlers_*.go加 handler +server.go注册路由
go test .\internal\routing\...BoxPanel is a multi-kernel proxy management panel (Go + Vue 3, single binary). Inspired by v2rayN architecture, it supports sing-box / Xray / mihomo / Hysteria2 kernel engines with automatic kernel switching based on node protocol.
- Multi-kernel engine — Auto-switch between sing-box, Xray, mihomo, Hysteria2 based on node compatibility
- 6 protocols — VLESS, VMess, Trojan, Shadowsocks, Hysteria2, TUIC with Reality/XTLS support
- Runtime group switching — selector / url_test / fallback groups, switch without kernel restart
- Routing rules — Domain / IP / process rules + geosite/geoip rule-set toggles
- Subscription management — URL import, scheduled refresh, deduplication
- System proxy — One-click toggle with auto-cleanup on kernel exit
- Proxy modes — Rule / Global / AI(TUN)
- Real-time monitoring — Traffic charts, latency badges, kernel logs
- Multi-format import — Share links / sing-box JSON / Clash YAML / base64 subscription
- Node export — Batch export + QR code sharing
:: Download and run
boxpanel.exe :: Default port 7820, auto-open browser
boxpanel.exe -port 9000 :: Custom port
boxpanel.exe -no-browser :: Don't open browsercd frontend && npm install --legacy-peer-deps && npm run build
cd .. && go build -o boxpanel.exe ./cmd/panelproxy managerproxy panelmulti-kernel proxysing-box guixray guimihomo guiv2rayN alternativeclash alternativeVLESSVMessTrojanShadowsocksHysteria2TUICRealityXHTTPsubscription managersystem proxy代理管理代理面板多内核代理网络工具节点管理订阅管理流量管理

