Fix DHCP client unable to get IP and config not persisting

- Fixed verifyAssignment being too strict for new clients
- Fixed parseRequestedIP string conversion bug
- Fixed response sent to 0.0.0.0 instead of broadcast address
- Added SO_BROADCAST support for UDP socket
- Fixed session persistence after page refresh (localStorage)
- Added in-memory session store for auth middleware
- Added config reloader so DHCP server picks up web UI changes dynamically
This commit is contained in:
CNBUGS AI
2026-04-24 16:03:54 +08:00
commit 8ad4c3576d
39 fájl változott, egészen pontosan 7756 új sor hozzáadva és 0 régi sor törölve
+228
Fájl megtekintése
@@ -0,0 +1,228 @@
# 📑 项目文档索引
欢迎使用 **DHCP & DNS 管理器**!这是你的文档导航页。
---
## 🚀 新手入门
| 文档 | 说明 | 适合人群 |
|------|------|----------|
| [QUICKSTART.md](QUICKSTART.md) | ⭐ **快速开始** - 5 分钟部署指南 | 所有人 |
| [README.md](README.md) | 项目介绍和功能说明 | 第一次接触 |
| [DEPLOY.md](DEPLOY.md) | 详细部署指南 | 系统管理员 |
| [WINDOWS_GUIDE.md](WINDOWS_GUIDE.md) | Windows 专属部署指南 | Windows 用户 |
---
## 📖 使用指南
| 文档 | 说明 |
|------|------|
| [USE_CASES.md](USE_CASES.md) | 实际使用场景示例 |
| [API_EXAMPLES.md](API_EXAMPLES.md) | API 接口测试示例 |
| [CONFIG_GUIDE.md](CONFIG_GUIDE.md) | 配置参数详解(待创建) |
---
## 🛠️ 开发文档
| 文档 | 说明 |
|------|------|
| [PROJECT_SUMMARY.md](PROJECT_SUMMARY.md) | 项目开发总结和规划 |
| [BUILD.md](BUILD.md) | 🔨 构建和故障排除 |
| [ARCHITECTURE.md](ARCHITECTURE.md) | 系统架构说明(待创建) |
| [CONTRIBUTING.md](CONTRIBUTING.md) | 贡献指南(待创建) |
---
## 📋 快速查找
### 我想知道...
**如何安装?**
→ 看 [QUICKSTART.md](QUICKSTART.md)
**如何配置?**
→ 编辑 `configs/config.json`,参考 [README.md](README.md) 配置说明
**如何在 Windows 上运行?**
→ 看 [WINDOWS_GUIDE.md](WINDOWS_GUIDE.md)
**如何测试 API**
→ 看 [API_EXAMPLES.md](API_EXAMPLES.md)
**有哪些使用场景?**
→ 看 [USE_CASES.md](USE_CASES.md)
**服务无法启动?**
→ 看 [QUICKSTART.md](QUICKSTART.md) 故障排查部分
**如何备份数据?**
→ 看 [QUICKSTART.md](QUICKSTART.md) 常用操作部分
---
## 📁 项目结构
```
dhcp-dns-manager/
├── 📄 文档
│ ├── README.md # 项目说明
│ ├── QUICKSTART.md # 快速开始 ⭐
│ ├── DEPLOY.md # 部署指南
│ ├── WINDOWS_GUIDE.md # Windows 指南
│ ├── USE_CASES.md # 使用场景
│ ├── API_EXAMPLES.md # API 示例
│ ├── PROJECT_SUMMARY.md # 项目总结
│ └── INDEX.md # 本文档
├── ⚙️ 配置
│ ├── configs/
│ │ └── config.json # 主配置文件
│ ├── Dockerfile # Docker 镜像
│ └── docker-compose.yml # Docker 编排
├── 💻 源代码
│ ├── cmd/
│ │ └── main.go # 程序入口
│ ├── internal/
│ │ ├── config/ # 配置管理
│ │ ├── db/ # 数据库
│ │ ├── dhcp/ # DHCP 服务
│ │ ├── dns/ # DNS 服务
│ │ └── web/ # Web 服务
│ └── go.mod # Go 模块定义
├── 🌐 前端
│ ├── web/
│ │ ├── templates/
│ │ │ └── index.html # 主页面
│ │ └── static/
│ │ ├── css/
│ │ │ └── style.css # 样式
│ │ └── js/
│ │ └── app.js # 前端逻辑
├── 🔧 脚本
│ ├── install.sh # Linux 安装脚本
│ ├── uninstall.sh # Linux 卸载脚本
│ ├── start.sh # Linux 启动脚本
│ └── start.bat # Windows 启动脚本
└── 💾 数据(运行时创建)
└── data/
└── dhcp-dns.db # SQLite 数据库
```
---
## 🎯 核心功能
### DHCP 服务
- ✅ IP 地址池管理
- ✅ 动态 IP 分配
- ✅ 静态 IP 绑定
- ✅ 租约管理
### DNS 服务
- ✅ 本地 DNS 记录
- ✅ DNS 缓存
- ✅ 上游转发
- ✅ 查询日志
### Web 管理
- ✅ 用户认证
- ✅ 仪表盘
- ✅ 实时监控
- ✅ 配置管理
---
## 📞 技术支持
### 遇到问题?
1. **查看文档** - 大多数问题在文档中有答案
2. **查看日志** - 日志会显示具体错误信息
3. **检查配置** - 确保配置文件语法正确
4. **提交 Issue** - 在 GitHub 提交问题反馈
### 日志位置
**Linux (systemd):**
```bash
journalctl -u dhcp-dns-manager -f
```
**Docker:**
```bash
docker-compose logs -f
```
**Windows:**
- 事件查看器 → Windows 日志 → 应用程序
- 或 Docker Desktop 日志
---
## 🔄 更新记录
### v0.1.0 (2026-04-23) - 初始版本
- ✅ 基础框架完成
- ✅ DHCP 管理功能
- ✅ DNS 管理功能
- ✅ Web 界面
- ✅ Docker 支持
- ✅ Linux/Windows部署脚本
### 计划中
- [ ] 完整 DHCP 协议实现
- [ ] IPv6 支持
- [ ] 多租户
- [ ] HTTPS 支持
- [ ] 监控告警
---
## 📄 许可证
MIT License
---
## 👥 贡献
欢迎提交 Pull Request
---
**最后更新**: 2026-04-23
**维护者**: 小弟 🤖
---
## 🎓 快速学习路径
### 第 1 步:了解项目 (10 分钟)
阅读 [README.md](README.md) 了解项目功能
### 第 2 步:快速部署 (5 分钟)
按照 [QUICKSTART.md](QUICKSTART.md) 部署服务
### 第 3 步:基础配置 (15 分钟)
编辑 `configs/config.json` 配置你的网络
### 第 4 步:使用界面 (10 分钟)
登录 Web 界面,熟悉各项功能
### 第 5 步:进阶使用 (30 分钟)
阅读 [USE_CASES.md](USE_CASES.md) 了解实际应用场景
### 第 6 步:API 集成 (可选)
参考 [API_EXAMPLES.md](API_EXAMPLES.md) 进行二次开发
---
**开始你的网络管理之旅吧!** 🚀