增加更多匹配的域名信息

This commit is contained in:
Alex Yang
2026-01-14 23:08:46 +08:00
parent f247eaeaa8
commit 8159577be0
60 changed files with 11716 additions and 1022 deletions

View File

@@ -0,0 +1,21 @@
1. **问题分析**
- 当添加自定义规则时,规则被添加到内存中并保存到文件
- 但由于DNS缓存的存在如果该域名的DNS响应已经被缓存那么在缓存过期之前DNS服务器会直接返回缓存的响应而不会重新检查规则
- 这就导致了添加规则后需要重启服务器才能生效的问题
2. **修复方案**
- 当添加或删除自定义规则时清空DNS缓存这样新的规则会立即生效
- 这样当客户端再次请求该域名时DNS服务器会重新检查规则而不是直接返回缓存的响应
3. **修复步骤**
- 修改HTTP API处理函数在添加或删除规则后清空DNS缓存
- 或者修改ShieldManager的AddRule和RemoveRule方法添加清空DNS缓存的逻辑
- 测试修复后的功能,确保添加规则后无需重启服务器即可生效
4. **预期结果**
- 添加自定义规则后,规则会立即生效,无需重启服务器
- 重启服务器后,之前添加的自定义规则仍然存在
5. **具体实现**
-`/root/dns/http/server.go`在添加或删除规则的API处理函数后调用DNS缓存的Clear方法
- 这样当添加或删除规则时DNS缓存会被清空新的规则会立即生效