Add complete French (fr) and Chinese (zh) translations for all documentation: - Root files: README, CHANGELOG, SECURITY, BETA-RELEASE - docs/: All 16 core documentation files - DOCS/: All 19 deep-dive documents including embedded/ and archive/ - package/secubox/: All 123+ package READMEs - Misc: secubox-tools/, scripts/, EXAMPLES/, config-backups/, streamlit-apps/ Total: 346 translation files created Each file includes language switcher links for easy navigation between English, French, and Chinese versions. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
3.0 KiB
3.0 KiB
SecuBox WebUI 原型器
FastAPI + Jinja2 模拟器,在本地工作站上模拟类似 LuCI 的 SecuBox 插件/模块管理。它虚拟化模块、预设和命令管道,使开发人员无需路由器即可进行实验。
功能
- 模块目录:浏览 29+ 个自动导入的 SecuBox 模块,从软件包获取实时元数据
- AppStore:带有分类、搜索、评分和评论的市场界面
- 组件注册表:来自已安装模块的可复用 UI 组件
- 配置文件:为不同用例捆绑模块和预设
- 模板生成器:UCI/network/firewall 配置模板
- 设置:主题切换、语言、后端连接(虚拟化/SSH/HTTP)
- 多主题支持:SecuBox Light + LuCI Dark 无缝切换
- 预设运行器:模拟多命令管道,聚合结果/日志
- 自定义上下文控制台:向预设执行注入 JSON 覆盖
- HTMX 集成:无需页面重载的部分更新动态 UI
- Alpine.js 状态:客户端响应性和 toast 通知
开始使用
cd secubox-tools/webui
python -m venv .venv && source .venv/bin/activate
pip install -e .[dev] # 或根据偏好使用 UV/Poetry
uvicorn app.main:app --reload --port 8100
然后访问 http://127.0.0.1:8100/ 并通过页眉控件切换主题。
项目结构
webui/
app/ # FastAPI 应用程序包
data/ # 模块、预设、命令的固定数据目录
templates/ # Jinja2 模板 + 多主题层次结构
static/ # Tailwind 就绪的 CSS(目前手工制作)
scripts/ # 未来的导入/自动化辅助工具
重新生成模块目录
UI 现在从 package/secubox/* 和根目录 luci-* 目录导入实时元数据。编辑软件包后运行辅助脚本刷新 data/modules.json:
# 通过辅助脚本
cd secubox-tools/webui
./scripts/ingest_packages.py --pretty
# 或使用已安装的 CLI 入口点
secubox-webui-ingest --pretty
此解析器读取每个 Makefile(LUCI_TITLE、VERSION、DESCRIPTION 等),派生友好的名称/标签,并为虚拟化模拟分配默认的安全上下文/操作。
状态
已完成
- 完整导航,包含 6 个主要部分(模块、AppStore、组件、配置文件、模板、设置)
- 从仓库实时导入软件包元数据
- 多主题系统(SecuBox Light / LuCI Dark)
- 带命令模拟的预设虚拟化引擎
- HTMX + Alpine.js 集成实现动态 UI
- 带分类、搜索、评分和评论的 AppStore
- 所有 HTML 模板已实现
- 响应式卡片布局
- 用于编程访问的 API 端点
下一步
- 连接交互功能:启用安装/卸载、配置文件激活、模板生成
- 后端集成:通过 SSH 或 HTTP API 连接到真实 OpenWrt 设备
- 扩展导入流程:从软件包元数据(ACL、README 检查清单)派生预设/命令
- 认证:为多用户部署添加会话管理
- 容器化 Dry-run:扩展虚拟化引擎以在隔离容器中运行
- 实时更新:WebSocket 支持实时系统监控