Files
NebulaShell/RELEASE_v1.2.1.md
Starlight-apk 1736bb5801
Some checks failed
CI / test (3.10) (push) Has been cancelled
CI / test (3.11) (push) Has been cancelled
CI / test (3.12) (push) Has been cancelled
CI / test (3.13) (push) Has been cancelled
docs: 更新项目文档至2026-05-17现状
- 问题报告.md: 重新审查代码,更新路径和问题列表
- RELEASE_v1.2.1.md: 改为路线图,标注实际完成状态
- CODE_VERIFICATION_REPORT.md: 重新验证核心功能
- FATAL_FIXES_REPORT.md: 按当前代码重写
- ai.md: 清理无关内容,更新统计和路线图
- 项目的后续计划.md: 补充详细开发计划
- README.md: 添加功能说明提示
- RELEASE_v1.1.0.md: 添加历史存档标记
2026-05-17 15:17:50 +08:00

173 lines
4.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🚀 NebulaShell v1.2.1 —— 开发路线图
> ⚠️ **重要说明**:本文档记录的是 v1.2.1 的**规划目标**,不代表当前代码已实现。
> 当前仓库代码基于 v1.2.0,以下功能正在开发中。
>
> 最后更新2026-05-17
---
## 📅 版本信息
| 项目 | 内容 |
|------|------|
| 版本号 | v1.2.1(开发中) |
| 基础版本 | v1.2.0 |
| Python 版本 | ≥ 3.10 |
| 当前代码量 | ~9,481 行 Python61 文件) |
| 打包格式 | .nbpf插件包+ 源码 |
---
## ✅ 已完成(基于 v1.2.0
### 核心模块拆分
- `oss/core/engine.py` 从 ~1730 行拆分为 27 行,作为子模块的 re-export 层
- 独立模块:`lifecycle.py``manager.py``security.py``datastore.py``watcher.py`
### NBPF 包格式
- 完整实现compiler / crypto / format / loader
- 三层签名Ed25519 + RSA-4096 + HMAC
- 双层加密AES-256-GCM
- NIR 中间表示编译器
- 19 个测试用例覆盖全链路
### CLI 工具链
- `nbpf pack/unpack/verify/sign` 全生命周期
- `create mod/key` 脚手架
- `dev/serve` 启动模式
### 测试框架
- 16 个测试文件覆盖配置、日志、HTTP API、插件管理、NBPF
### 语法修复
- `py_compile` 零错误,消除所有语法隐患
- 废弃代码清理(`store/@{Falck}/``oss/tui/`、重复副本)
---
## 🚧 开发中
### 安全中间件(`oss/core/security/`
| 模块 | 状态 | 说明 |
|------|------|------|
| JWT 认证中间件 | ⏳ 未开始 | Bearer Token + JWT 签发/验证 |
| CSRF 防护中间件 | ⏳ 未开始 | Token 校验 + SameSite Cookie |
| 输入验证中间件 | ⏳ 未开始 | JSON Schema 校验、参数白名单、类型强制 |
| HTTPS 支持 | ⏳ 未开始 | 自签名证书生成、TLS 上下文加载 |
### 防火墙引擎(`oss/core/firewall/`
| 模块 | 状态 | 说明 |
|------|------|------|
| IP 黑白名单引擎 | ⏳ 未开始 | 规则持久化、CIDR 匹配、攻击日志记录 |
### 运维工具箱(`oss/core/ops/`
| 模块 | 状态 | 说明 |
|------|------|------|
| 一键备份/恢复 | ⏳ 未开始 | 配置文件、插件数据、日志打包 |
| 健康检查仪表盘 | ⏳ 未开始 | CPU、内存、磁盘实时监控 |
| 资源配额管理 | ⏳ 未开始 | 限制插件最大资源使用 |
### WebUI 管理面板
| 功能 | 状态 | 说明 |
|------|------|------|
| 安全中心 | ⏳ 未开始 | 限流配置、IP 黑/白名单、审计日志 |
| 运维工具箱 | ⏳ 未开始 | 备份/恢复、健康检查仪表盘 |
| 系统监控 | ⏳ 未开始 | 实时 CPU/内存/磁盘曲线 |
| 当前 WebUI | ❌ 待重写 | 目前仍是 v1.1.0 静态 HTML 页面 |
---
## 🛡️ 安全增强计划
### 现有安全模块(已完成)
- `PluginProxy` 沙箱:防止未授权的插件间访问
- `IntegrityChecker`SHA-256 文件 hash 监控
- `MemoryGuard`:冻结核心属性
- `AuditLogger`:插件行为审计
- `TamperMonitor`:防篡改监控后台线程
- `FallbackManager`:自动重试(最多 3 次)
- `SignatureVerifier`RSA-SHA256 插件签名验证
- NBPF 三层签名 + 双层加密
- `pl_injector.py`PL 注入沙箱
### 待实现安全模块
- JWT 认证Bearer Token
- CSRF 防护
- 输入验证JSON Schema
- IP 黑白名单CIDR
- HTTPS/TLS
- 速率限制增强
- Dashboard 鉴权
---
## 📊 健康检查与可观测性(规划中)
### `/health` 端点目标
```json
{
"status": "ok",
"version": "1.2.1",
"uptime": 3600,
"plugins": { "total": 5, "active": 5, "degraded": [] },
"system": {
"cpu_percent": 12.5,
"memory_percent": 45.2,
"disk_percent": 32.1,
"disk_free_gb": 128.5
}
}
```
### `/metrics` 端点Prometheus 兼容)
```
# HELP nebula_plugins_total 插件总数
# TYPE nebula_plugins_total gauge
nebula_plugins_total 5
```
---
## 📦 目标打包体积
| 项目 | 预期大小 |
|------|----------|
| 源码(不含 venv/.git | ≥ 1,200 KB |
| 核心 Python 代码 | ~500 KB |
| WebUI 资产 | ~300 KB |
| 文档与架构图 | ~200 KB |
| 安全与运维模块 | ~200 KB |
---
## 🧪 测试覆盖目标
| 模块 | 当前测试数 | 覆盖率目标 |
|------|-----------|-----------|
| 配置系统 | 有 | ≥ 90% |
| 安全中间件 | 0 | ≥ 85% |
| 防火墙引擎 | 0 | ≥ 80% |
| HTTP API | 有 | ≥ 80% |
| 运维工具 | 0 | ≥ 75% |
| NBPF 包处理 | 19 | ≥ 70% |
---
## 📜 变更日志
| 版本 | 日期 | 说明 |
|------|------|------|
| v1.2.0 | 2026-05-04 | 核心模块拆分、NBPF 包格式、CLI 工具链、废弃清理 |
| v1.2.1 | 开发中 | 安全中间件、防火墙、运维工具箱、WebUI 重写 |
---
**NebulaShell Team** © 2026 | 安全 · 灵活 · 高效