1.1.1修复

This commit is contained in:
Alex Yang
2025-12-19 12:44:57 +08:00
parent b576996ede
commit 1f3f5708a3
72 changed files with 3476 additions and 83 deletions

View File

@@ -0,0 +1,45 @@
### 问题分析
当前的`dns/server.go`文件被误删了很多内容,导致编译失败。从编译错误可以看出,`http/server.go`文件中引用了`dns.Stats`结构体中的一些字段,如`QueryTypes``SourceIPs``AvgResponseTime``DNSSECQueries`等,但这些字段在当前的`dns/server.go`文件中都不存在。
### 恢复方案
1. **恢复完整的结构体定义**
- `BlockedDomain`结构体中添加`DNSSEC`字段
- `Stats`结构体中添加所有缺失的字段
- `Server`结构体中添加所有缺失的字段
- `StatsData`结构体中添加所有缺失的字段
2. **恢复所有缺失的方法**
- `updateClientStats`
- `updateResolvedDomainStatsWithDNSSEC`
- `updateDomainDNSSECStatus`
- `addQueryLog`
- `GetStartTime`
- `GetQueryLogs`
- `GetQueryLogsCount`
- `GetQueryStats`
- `GetTopClients`
- `GetDailyStats`
- `GetMonthlyStats`
- `getIpGeolocation`
- `fetchIpGeolocationFromAPI`
- `loadQueryLogs`
- `saveQueryLogs`
- `startCpuUsageMonitor`
- `getSystemCpuUsage`
3. **恢复DNSSEC相关功能**
- 恢复`forwardDNSRequestWithCache`函数,替代当前的`forwardDNSRequest`函数
- 恢复DNSSEC验证逻辑
- 恢复DNS缓存功能
### 具体修改
1. 替换整个`dns/server.go`文件,恢复完整的内容
2. 确保所有结构体字段和方法都完整存在
3. 确保DNSSEC功能正常工作
### 测试计划
1. 编译恢复后的代码
2. 启动DNS服务器并启用DNSSEC
3. 使用dig命令测试DNSSEC记录查询
4. 检查HTTP控制台是否正常工作
5. 检查日志中是否有DNSSEC验证相关的记录