Files
Meshray-Manager/docs/项目问题修复总览.md
T
2026-06-30 15:14:37 +08:00

284 lines
7.0 KiB
Markdown
Raw 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.
# MeshRay 项目问题修复总览
**最后更新**: 2026-03-24
**状态**: 🟢 进行中
**总体进度**: 0% (0/61)
---
## 📊 问题统计总览
| 优先级 | 数量 | 已完成 | 进行中 | 未开始 | 完成率 |
|--------|------|--------|--------|--------|--------|
| **P0 - 紧急** | 5 | 0 | 0 | 5 | 0% |
| **P1 - 高** | 6 | 0 | 0 | 6 | 0% |
| **P2 - 中** | 50+ | 0 | 0 | 50+ | 0% |
| **总计** | **61+** | **0** | **0** | **61+** | **0%** |
---
## 🔴 P0 - 必须立即修复(5 个)
### 安全问题(2 个)
| # | 问题 | 文件 | 状态 | 负责人 | 截止日期 |
|---|------|------|------|--------|----------|
| P0-1 | 使用 `math/rand` 生成密码 | `internal/service/user.go:18` | 🔴 TODO | @dev-a | 2026-03-27 |
| P0-2 | 固定模式生成加密密钥 | `internal/config/config.go:153` | 🔴 TODO | @dev-a | 2026-03-27 |
**影响**:
- 密码可被预测
- 所有实例使用相同加密密钥
**修复方案**:
- 使用 `crypto/rand` 替代 `math/rand`
- 每个实例启动时生成唯一密钥
---
### 跨平台兼容(1 个)
| # | 问题 | 文件 | 状态 | 负责人 | 截止日期 |
|---|------|------|------|--------|----------|
| P0-3 | Linux 特定命令,Windows/macOS不兼容 | `internal/ctr/wg.go:378,464` | 🔴 TODO | @dev-b | 2026-03-28 |
**影响**:
- Windows/macOS 无法运行
**修复方案**:
- 使用 build tag 分离平台特定代码
- 创建 `wg_linux.go`, `wg_windows.go`, `wg_darwin.go`
---
### 资源泄漏(2 个)
| # | 问题 | 文件 | 状态 | 负责人 | 截止日期 |
|---|------|------|------|--------|----------|
| P0-4 | TUN 设备创建后未保存引用 | `internal/ctr/wg.go:414-418` | 🔴 TODO | @dev-b | 2026-03-28 |
| P0-5 | wgDevice 未保存引用 | `internal/ctr/wg.go:433` | 🔴 TODO | @dev-b | 2026-03-28 |
**影响**:
- 长时间运行后资源耗尽
- 无法管理/关闭 WG设备
**修复方案**:
- 在 WGManager 中添加 map 保存引用
- Stop() 方法中统一关闭
---
## 🟠 P1 - 本迭代修复(6 个)
### 错误处理(3 个)
| # | 问题 | 文件 | 状态 | 负责人 | 截止日期 |
|---|------|------|------|--------|----------|
| P1-1 | ctr 初始化错误未返回 | `internal/api/server.go:168` | 🟡 TODO | @dev-a | 2026-04-01 |
| P1-2 | CreateNetwork 失败不回滚 | `internal/service/network.go:85-92` | 🟡 TODO | @dev-a | 2026-04-02 |
| P1-3 | AddPeer 错误只记录不处理 | `internal/service/device.go:115` | 🟡 TODO | @dev-a | 2026-04-01 |
**影响**:
- 错误被吞掉,导致后续问题
- 数据不一致
---
### 类型安全(1 个)
| # | 问题 | 文件 | 状态 | 负责人 | 截止日期 |
|---|------|------|------|--------|----------|
| P1-4 | 类型断言无检查 | `internal/service/ddns.go:187` | 🟡 TODO | @dev-b | 2026-04-01 |
**风险**: 可能 panic
---
### 安全配置(1 个)
| # | 问题 | 文件 | 状态 | 负责人 | 截止日期 |
|---|------|------|------|--------|----------|
| P1-5 | CORS 允许所有来源 `*` | `internal/api/middleware/auth.go:288` | 🟡 TODO | @dev-b | 2026-04-02 |
**风险**: CSRF 攻击
---
### 编译问题(1 个)
| # | 问题 | 文件 | 状态 | 负责人 | 截止日期 |
|---|------|------|------|--------|----------|
| P1-6 | Go 版本 `1.25.0` 不存在 | `go.mod` | 🟡 TODO | @dev-a | 2026-04-01 |
**影响**: 无法编译
---
## 🟡 P2 - 下迭代修复(50+ 个)
### 前端 API 未对接(30+ 个)
**模块分布**:
| 模块 | 文件数 | TODO 数 | 状态 | 负责人 |
|------|--------|---------|------|--------|
| Settings | 5 | 10+ | 🔴 TODO | @frontend-a |
| Monitor | 4 | 8+ | 🔴 TODO | @frontend-b |
| Networks | 6 | 12+ | 🔴 TODO | @frontend-a |
**预计完成**: Sprint 3-4 (2 周)
---
### 后端功能未完成(10+ 个)
| 功能 | 状态 | 优先级 | 预计工时 |
|------|------|--------|----------|
| DDNS 同步完整实现 | 🔴 TODO | 中 | 2 天 |
| MeshSeed 生成和解析 | 🔴 TODO | 中 | 1 天 |
| Watchdog 监控机制 | 🔴 TODO | 低 | 1 天 |
| 告警规则引擎 | 🔴 TODO | 低 | 2 天 |
| 审计日志导出 | 🔴 TODO | 低 | 1 天 |
---
### 并发安全(5+ 个)
| # | 问题 | 文件 | 状态 | 优先级 |
|---|------|------|------|--------|
| P2-1 | strategy.go channel 无锁保护 | `core/connect/strategy.go` | 🔴 TODO | 中 |
| P2-2 | wg.go 并发访问无锁 | `internal/ctr/wg.go` | 🔴 TODO | 中 |
---
### 依赖清理(4 个)
| # | 未使用的依赖 | 状态 | 优先级 |
|---|-------------|------|--------|
| P2-1 | github.com/some/unused v1.0.0 | 🔴 TODO | 低 |
---
## 📅 时间线
```mermaid
gantt
title MeshRay 问题修复时间线
dateFormat YYYY-MM-DD
section P0 紧急
安全修复 :active, p0a, 2026-03-24, 2d
跨平台兼容 :p0b, after p0a, 2d
资源管理修复 :p0c, after p0b, 1d
section P1 重要
错误处理完善 :p1a, after p0c, 2d
类型安全和CORS :p1b, after p0c, 2d
section P2 优化
前端 API 对接 :p2a, after p1a, 7d
后端功能完善 :p2b, after p1a, 5d
并发安全加固 :p2c, after p2a, 3d
```
---
## 🎯 里程碑
### M1: P0 修复完成(目标:2026-03-28
- [x] ~~安全漏洞修复~~
- [ ] 跨平台兼容
- [ ] 资源泄漏修复
### M2: P1 修复完成(目标:2026-04-02
- [ ] 错误处理完善
- [ ] 类型安全
- [ ] 安全配置
- [ ] 编译正常
### M3: P2 修复完成 50%(目标:2026-04-10
- [ ] 前端 API 对接 50%
- [ ] 核心功能完善
### M4: P2 全部完成(目标:2026-04-17
- [ ] 前端 API 对接 100%
- [ ] 所有功能完善
- [ ] 并发安全
- [ ] 依赖清理
---
## 📊 每日站会模板
```markdown
## YYYY-MM-DD 站会
### 昨日完成
- [姓名] 修复了 P0-X: [问题描述]
- [姓名] 完成了 P1-Y: [问题描述]
### 今日计划
- [姓名] 修复 P0-Z: [问题描述]
- [姓名] 开始 P2-A: [问题描述]
### 阻碍
- [需要讨论的问题]
### 决策
- [达成的共识]
```
---
## 🧪 测试要求
### P0 修复测试
- ✅ NIST 随机性测试
- ✅ 72 小时压力测试
- ✅ 跨平台编译测试
- ✅ 内存泄漏检测
### P1 修复测试
- ✅ 单元测试覆盖率 > 80%
- ✅ 集成测试通过
- ✅ 回归测试通过
### P2 修复测试
- ✅ 端到端测试
- ✅ 性能基准测试
- ✅ 并发 race detection
---
## 📝 相关文档
- [详细修复计划](./项目问题修复计划.md)
- [Issue 模板](../.github/ISSUE_TEMPLATE/templates.md)
- [Service 层架构详解](./Service 层架构详解.md)
- [Core 模块重构报告](./Core 模块重构完成报告_v3.0.md)
---
## 🔗 快速链接
### Gitea
- [Issues](https://git.zkcoi.com/zkcoi/meshray/issues)
- [Pull Requests](https://git.zkcoi.com/zkcoi/meshray/pulls)
- [Projects](https://git.zkcoi.com/zkcoi/meshray/projects)
### CI/CD
- [CI/CD](https://git.zkcoi.com/zkcoi/meshray/actions)
---
## 📞 联系方式
- **项目负责人**: @zkcoi
- **技术负责人**: @tech-lead
- **开发团队**: @dev-team
---
*最后更新*: 2026-03-24
*下次更新*: 每日站会后
*维护者*: MeshRay Team