Skip to content

Repository files navigation

BoxPanel — 多内核代理管理面板

GoVue 3License

BoxPanel 是一个面向 Windows 桌面的多内核代理管理面板:用一个轻量的单文件程序,统一管理节点、订阅、分组、路由和代理内核。它采用 Go + Vue 3 架构,内置 sing-box、Xray、mihomo 与 Hysteria2 适配能力,并会根据节点协议自动选择更合适的内核,减少手动配置和反复切换。

如果你经常遇到“节点能导入但内核不兼容”“切换节点必须重启”或“订阅、路由、日志分散在多个工具里”,BoxPanel 希望把这些操作收拢到一个清晰的控制面板中。

BoxPanel 概览界面

上图为 BoxPanel 概览页界面;完整运行时数据会在启动本地内核并导入节点后显示。

目录

English description below ↓


为什么选 BoxPanel?

痛点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 负责排序候选内核;订阅、路由、系统代理和实时日志则由后端统一协调。

BoxPanel 多内核架构


兼容性矩阵

协议 / 传输sing-boxXraymihomoHysteria2
VLESS + Reality--
VMess-
Trojan-
Shadowsocks-
Hysteria2-
TUIC--
WebSocket-
gRPC--
HTTP/2 / h2--
HTTPUpgrade--
XHTTP / SplitHTTP

快速开始

方式 A:直接运行(推荐)

双击 启动 BoxPanel.bat,浏览器自动打开 http://127.0.0.1:7820

端口被占用时自动换到 7821/7822...(控制台窗口会打印实际地址)。

方式 B:命令行

boxpanel.exe :: 默认 7820 端口,自动开浏览器
boxpanel.exe -port 9000 :: 指定端口
boxpanel.exe -no-browser :: 不自动开浏览器

关闭:关掉控制台窗口,或 Ctrl+C


5 步上网

1. 导入节点

左侧 节点 →「导入节点」→ 粘贴分享链接,每行一个:

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 订阅

2.(可选)建代理分组

左侧 分组 →「新建分组」→ 选类型:

类型行为
手动选择 (selector)你点哪个用哪个
自动选最优 (url_test)持续测速,自动用延迟最低的
故障转移 (fallback)按顺序,第一个可用就用

3.(可选)配路由规则

左侧 路由 →「新建规则」。例如:

类型出站效果
域名后缀github.com走代理GitHub 走代理
IP/CIDR192.168.0.0/16直连内网直连
进程名xxx.exe阻断拦截该进程

4. 启动

左侧 概览 → 点「启动」。状态点变绿 = 内核在跑。

AI/TUN 模式(接管全局流量)需管理员权限:右键 bat → 以管理员身份运行。

5. 开系统代理

概览页「系统代理」→ 点「开启」,浏览器即走代理。不用了点「关闭」。


各页面说明

页面功能
概览启停核心、系统代理开关、实时流量图、当前节点/分组
节点导入/编辑/删除/测速节点,点选当前节点,兼容性徽章
分组selector / url_test / fallback 组,运行时切换
路由自定义路由规则 + 规则集开关
订阅添加订阅 URL,定时刷新,合并去重
内核多内核管理:下载/添加/删除/切换/探测
日志内核实时日志(SSE 流),按级别着色
设置主题(深/浅)、语言(中/英)、端口、延迟测试 URL 等

多内核架构(v2rayN 路线)

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 加分支
  • 新 APIinternal/api/handlers_*.go 加 handler + server.go 注册路由

测试

go test .\internal\routing\...

English

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.

Key Features

  • 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

Quick Start

:: Download and run
boxpanel.exe :: Default port 7820, auto-open browser
boxpanel.exe -port 9000 :: Custom port
boxpanel.exe -no-browser :: Don't open browser

Build from Source

cd frontend && npm install --legacy-peer-deps && npm run build
cd .. && go build -o boxpanel.exe ./cmd/panel

Keywords (for search discovery)

proxy managerproxy panelmulti-kernel proxysing-box guixray guimihomo guiv2rayN alternativeclash alternativeVLESSVMessTrojanShadowsocksHysteria2TUICRealityXHTTPsubscription managersystem proxy代理管理代理面板多内核代理网络工具节点管理订阅管理流量管理

About

轻量级多内核代理管理面板,基于 Go 和 Vue 3 构建,支持 sing-box、Xray、mihomo、Hysteria2,并可根据节点协议自动选择兼容内核。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages