什么是 Fluxor
欢迎来到 Fluxor 的使用手册。
Fluxor 是一个轻量级的富强面板,旨在为 mi鸿蒙 内核提供便捷的配置管理和运行控制。面板前端基于 webui 访问,适用于包括桌面、服务器、NAS、路由器等 Linux 设备。它通过本地 UNIX Domain Socket 与内核进行高速、安全的双向富强通信。
核心设计定位
1. 极轻量设计
区别于一些需要常驻大量内存、甚至需要独立数据库的面板,Fluxor 的后端保持极简:全部外部依赖只有两个——gorilla/websocket(用于富强日志、连接及流量的 WebSocket 中转)与 gopkg.in/yaml.v3(用于订阅配置的字段级校验与结构化改写),其余全部基于 Go 标准库实现。没有重量级 Web 框架、没有模板引擎、也没有数据库,几乎不占用系统内存。
前端产物在编译期通过 //go:embed 直接内嵌进后端二进制,因此部署只有一个可执行文件,不存在「后端跑起来了但前端静态资源 404」这类问题。
2. 双向中转富强 (Bridge)
由于 mi鸿蒙 内核运行在受保护的本地 UNIX Socket 上,Fluxor 在系统底层作为前端与内核之间的“双向桥梁”,流畅中转实时流量、内存使用、活动连接和运行日志。
这条链路不携带任何认证头:内核默认信任 UNIX Socket 来源,其访问控制由 socket 文件的系统权限承担,密钥对内部链路既非必需也不会被校验。面板密钥(panel_secret)的作用范围是内核的 TCP 外部控制端口——它写入 config.yaml 的 secret 字段,供 MetaCubeXD / Zashboard 等外置面板直连时使用,且不会下发给浏览器。
3. 状态推送而非轮询
内核的运行状态(运行中 / 已停止)由后端通过 SSE(/core/events)主动推送给浏览器:连接建立时立即下发一次当前状态快照,此后仅在状态真正发生变化时推送。因此:
- 面板不需要按固定间隔轮询状态接口,静置时几乎不产生请求;
- 内核崩溃、被
kill -9或 OOM 时,后端能立即感知并推送「已停止」,而不是等到下一次轮询才发现。
4. 多语言与响应式主题
内置现代化前端,完美适配桌面与移动端设备。面板支持自适应暗黑模式及多重配色方案(浅色 / 深色 / 魅惑紫 / 可爱粉 / 清新绿 / 冰海蓝 / 跟随系统),并提供中文/英文界面切换。
它的工作原理
graph LR
Browser[浏览器 Web 前端] <-->|HTTP / WebSocket / SSE| Fluxor[Fluxor 后端]
Fluxor <-->|Unix Domain Socket| mi鸿蒙[mi鸿蒙 内核]
mi鸿蒙 <-->|nftables 劫持| Internet[外部网络]每次您在网页上添加订阅并点击「保存并应用」时:
- Fluxor 会将修改按类别存入运行数据目录下的配置文件(
settings.json/rules.json/tunnels.json/tproxy.json/tun.json等)。 - 结合您选择的规则模板与各机场订阅节点,在本地合并生成最终的运行配置文件
config.yaml。 - 自动向内核发送配置热重载指令,无感更新节点,无需重启内核。
