解决请求DNS解析的客户端数据未持久化的问题
This commit is contained in:
@@ -0,0 +1,7 @@
|
|||||||
|
# DNS Server Hosts File
|
||||||
|
# Generated by DNS Server
|
||||||
|
|
||||||
|
127.0.0.1 localhost
|
||||||
|
::1 localhost
|
||||||
|
|
||||||
|
127.0.0.1 example.com
|
||||||
+10607
File diff suppressed because it is too large
Load Diff
+82585
File diff suppressed because it is too large
Load Diff
+53291
File diff suppressed because it is too large
Load Diff
+1176
File diff suppressed because it is too large
Load Diff
+549303
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,3 @@
|
|||||||
|
/example.com/
|
||||||
|
/adjust.com/
|
||||||
|
/adjust.c/
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"blockedDomainsCount": {},
|
||||||
|
"resolvedDomainsCount": {},
|
||||||
|
"lastSaved": "2025-11-28T18:01:32.204427496+08:00"
|
||||||
|
}
|
||||||
+3282
File diff suppressed because it is too large
Load Diff
Executable
BIN
Binary file not shown.
@@ -169,6 +169,9 @@ func (s *Server) Start() error {
|
|||||||
// 启动CPU使用率监控
|
// 启动CPU使用率监控
|
||||||
go s.startCpuUsageMonitor()
|
go s.startCpuUsageMonitor()
|
||||||
|
|
||||||
|
// 启动自动保存功能
|
||||||
|
go s.startAutoSave()
|
||||||
|
|
||||||
// 启动UDP服务
|
// 启动UDP服务
|
||||||
go func() {
|
go func() {
|
||||||
logger.Info(fmt.Sprintf("DNS UDP服务器启动,监听端口: %d", s.config.Port))
|
logger.Info(fmt.Sprintf("DNS UDP服务器启动,监听端口: %d", s.config.Port))
|
||||||
@@ -764,6 +767,13 @@ func (s *Server) loadStatsData() {
|
|||||||
}
|
}
|
||||||
s.monthlyStatsMutex.Unlock()
|
s.monthlyStatsMutex.Unlock()
|
||||||
|
|
||||||
|
// 加载客户端统计数据
|
||||||
|
s.clientStatsMutex.Lock()
|
||||||
|
if statsData.ClientStats != nil {
|
||||||
|
s.clientStats = statsData.ClientStats
|
||||||
|
}
|
||||||
|
s.clientStatsMutex.Unlock()
|
||||||
|
|
||||||
logger.Info("统计数据加载成功")
|
logger.Info("统计数据加载成功")
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -823,6 +833,14 @@ func (s *Server) saveStatsData() {
|
|||||||
}
|
}
|
||||||
s.monthlyStatsMutex.RUnlock()
|
s.monthlyStatsMutex.RUnlock()
|
||||||
|
|
||||||
|
// 复制客户端统计数据
|
||||||
|
s.clientStatsMutex.RLock()
|
||||||
|
statsData.ClientStats = make(map[string]*ClientStats)
|
||||||
|
for k, v := range s.clientStats {
|
||||||
|
statsData.ClientStats[k] = v
|
||||||
|
}
|
||||||
|
s.clientStatsMutex.RUnlock()
|
||||||
|
|
||||||
// 序列化数据
|
// 序列化数据
|
||||||
jsonData, err := json.MarshalIndent(statsData, "", " ")
|
jsonData, err := json.MarshalIndent(statsData, "", " ")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -118643,3 +118643,74 @@ time="2025-11-28T17:57:08+08:00" level=error msg="发送WebSocket消息失败: w
|
|||||||
time="2025-11-28T17:57:26+08:00" level=debug msg="接收到DNS查询" client="10.35.10.11:46049" domain=api-access.pangolin-sdk-toutiao.com type=A
|
time="2025-11-28T17:57:26+08:00" level=debug msg="接收到DNS查询" client="10.35.10.11:46049" domain=api-access.pangolin-sdk-toutiao.com type=A
|
||||||
time="2025-11-28T17:57:26+08:00" level=debug msg="DNS查询成功" domain=api-access.pangolin-sdk-toutiao.com rtt=3.970532ms server="223.5.5.5:53"
|
time="2025-11-28T17:57:26+08:00" level=debug msg="DNS查询成功" domain=api-access.pangolin-sdk-toutiao.com rtt=3.970532ms server="223.5.5.5:53"
|
||||||
time="2025-11-28T17:57:41+08:00" level=info msg="Shield计数数据保存成功" blocked_entries=0 file=/root/dns/data/shield_stats.json resolved_entries=0
|
time="2025-11-28T17:57:41+08:00" level=info msg="Shield计数数据保存成功" blocked_entries=0 file=/root/dns/data/shield_stats.json resolved_entries=0
|
||||||
|
time="2025-11-28T17:58:41+08:00" level=info msg="Shield计数数据保存成功" blocked_entries=0 file=/root/dns/data/shield_stats.json resolved_entries=0
|
||||||
|
time="2025-11-28T17:59:41+08:00" level=info msg="Shield计数数据保存成功" blocked_entries=0 file=/root/dns/data/shield_stats.json resolved_entries=0
|
||||||
|
time="2025-11-28T18:00:36+08:00" level=info msg="统计数据保存成功"
|
||||||
|
time="2025-11-28T18:00:36+08:00" level=info msg="DNS服务器已停止"
|
||||||
|
time="2025-11-28T18:00:36+08:00" level=error msg="HTTP控制台服务器启动失败" error="http: Server closed"
|
||||||
|
time="2025-11-28T18:00:36+08:00" level=info msg="HTTP控制台服务器已停止"
|
||||||
|
time="2025-11-28T18:00:36+08:00" level=info msg="Shield计数数据保存成功" blocked_entries=0 file=/root/dns/data/shield_stats.json resolved_entries=0
|
||||||
|
time="2025-11-28T18:00:36+08:00" level=info msg="规则自动更新已停止"
|
||||||
|
time="2025-11-28T18:00:36+08:00" level=warning msg="日志系统已关闭"
|
||||||
|
time="2025-11-28T18:01:10+08:00" level=debug msg="尝试加载Shield统计数据" file=/root/dns/data/shield_stats.json
|
||||||
|
time="2025-11-28T18:01:10+08:00" level=info msg="Shield计数数据加载成功" blocked_entries=0 resolved_entries=0
|
||||||
|
time="2025-11-28T18:01:10+08:00" level=info msg="从缓存加载远程规则" url="https://gitea.amazehome.xyz/AMAZEHOME/hosts-and-filters/raw/branch/main/filter.txt"
|
||||||
|
time="2025-11-28T18:01:11+08:00" level=info msg="从缓存加载远程规则" url="https://gitea.amazehome.xyz/AMAZEHOME/hosts-and-Filters/raw/branch/main/hosts/adaway.txt"
|
||||||
|
time="2025-11-28T18:01:11+08:00" level=info msg="从缓存加载远程规则" url="https://gitea.amazehome.xyz/AMAZEHOME/hosts-and-Filters/raw/branch/main/list/easylist.txt"
|
||||||
|
time="2025-11-28T18:01:12+08:00" level=info msg="从缓存加载远程规则" url="https://gitea.amazehome.xyz/AMAZEHOME/hosts-and-filters/raw/branch/main/rules/costomize.txt"
|
||||||
|
time="2025-11-28T18:01:12+08:00" level=error msg="获取远程规则失败" error="远程服务器返回错误状态码: 404" url="https://gitea.amazehome.xyz/AMAZEHOME/hosts-and-Filters/raw/branch/main/list/china.txt"
|
||||||
|
time="2025-11-28T18:01:12+08:00" level=info msg="规则加载完成,域名规则: 177714, 排除规则: 1187, 正则规则: 947, hosts规则: 2"
|
||||||
|
time="2025-11-28T18:01:12+08:00" level=info msg="统计数据加载成功"
|
||||||
|
time="2025-11-28T18:01:12+08:00" level=info msg="DNS服务器已启动,监听端口: 53"
|
||||||
|
time="2025-11-28T18:01:12+08:00" level=info msg="HTTP控制台已启动,监听端口: 8080"
|
||||||
|
time="2025-11-28T18:01:12+08:00" level=info msg="DNS TCP服务器启动,监听端口: 53"
|
||||||
|
time="2025-11-28T18:01:12+08:00" level=info msg="规则自动更新已启动" interval=3600
|
||||||
|
time="2025-11-28T18:01:12+08:00" level=info msg="启动统计数据自动保存功能" file=data/stats.json interval=300
|
||||||
|
time="2025-11-28T18:01:12+08:00" level=info msg="启动Shield计数数据自动保存功能" file=./data/shield_stats.json interval=60
|
||||||
|
time="2025-11-28T18:01:12+08:00" level=info msg="DNS UDP服务器启动,监听端口: 53"
|
||||||
|
time="2025-11-28T18:01:12+08:00" level=info msg="HTTP控制台服务器启动,监听地址: 0.0.0.0:8080"
|
||||||
|
time="2025-11-28T18:01:12+08:00" level=info msg="Shield计数数据保存成功" blocked_entries=0 file=/root/dns/data/shield_stats.json resolved_entries=0
|
||||||
|
time="2025-11-28T18:01:14+08:00" level=info msg="新WebSocket客户端连接,当前连接数: 1"
|
||||||
|
time="2025-11-28T18:01:17+08:00" level=info msg="新WebSocket客户端连接,当前连接数: 2"
|
||||||
|
time="2025-11-28T18:01:21+08:00" level=debug msg="接收到DNS查询" client="10.35.10.78:59812" domain=baidu.com.amazehome.xyz type=A
|
||||||
|
time="2025-11-28T18:01:21+08:00" level=debug msg="DNS查询成功" domain=baidu.com.amazehome.xyz rtt=22.252353ms server="223.5.5.5:53"
|
||||||
|
time="2025-11-28T18:01:21+08:00" level=debug msg="接收到DNS查询" client="10.35.10.78:59813" domain=baidu.com.amazehome.xyz type=AAAA
|
||||||
|
time="2025-11-28T18:01:21+08:00" level=debug msg="DNS查询成功" domain=baidu.com.amazehome.xyz rtt=22.886581ms server="223.5.5.5:53"
|
||||||
|
time="2025-11-28T18:01:21+08:00" level=debug msg="接收到DNS查询" client="10.35.10.78:59814" domain=baidu.com type=A
|
||||||
|
time="2025-11-28T18:01:21+08:00" level=debug msg="DNS查询成功" domain=baidu.com rtt=6.296429ms server="223.5.5.5:53"
|
||||||
|
time="2025-11-28T18:01:21+08:00" level=debug msg="接收到DNS查询" client="10.35.10.78:59815" domain=baidu.com type=AAAA
|
||||||
|
time="2025-11-28T18:01:21+08:00" level=debug msg="DNS查询成功" domain=baidu.com rtt=5.476696ms server="223.5.5.5:53"
|
||||||
|
time="2025-11-28T18:01:23+08:00" level=info msg="统计数据保存成功"
|
||||||
|
time="2025-11-28T18:01:23+08:00" level=info msg="DNS服务器已停止"
|
||||||
|
time="2025-11-28T18:01:23+08:00" level=error msg="HTTP控制台服务器启动失败" error="http: Server closed"
|
||||||
|
time="2025-11-28T18:01:23+08:00" level=info msg="HTTP控制台服务器已停止"
|
||||||
|
time="2025-11-28T18:01:23+08:00" level=info msg="Shield计数数据保存成功" blocked_entries=0 file=/root/dns/data/shield_stats.json resolved_entries=0
|
||||||
|
time="2025-11-28T18:01:23+08:00" level=info msg="规则自动更新已停止"
|
||||||
|
time="2025-11-28T18:01:23+08:00" level=warning msg="日志系统已关闭"
|
||||||
|
time="2025-11-28T18:01:30+08:00" level=debug msg="尝试加载Shield统计数据" file=/root/dns/data/shield_stats.json
|
||||||
|
time="2025-11-28T18:01:30+08:00" level=info msg="Shield计数数据加载成功" blocked_entries=0 resolved_entries=0
|
||||||
|
time="2025-11-28T18:01:30+08:00" level=info msg="从缓存加载远程规则" url="https://gitea.amazehome.xyz/AMAZEHOME/hosts-and-filters/raw/branch/main/filter.txt"
|
||||||
|
time="2025-11-28T18:01:30+08:00" level=info msg="从缓存加载远程规则" url="https://gitea.amazehome.xyz/AMAZEHOME/hosts-and-Filters/raw/branch/main/hosts/adaway.txt"
|
||||||
|
time="2025-11-28T18:01:31+08:00" level=info msg="从缓存加载远程规则" url="https://gitea.amazehome.xyz/AMAZEHOME/hosts-and-Filters/raw/branch/main/list/easylist.txt"
|
||||||
|
time="2025-11-28T18:01:32+08:00" level=info msg="从缓存加载远程规则" url="https://gitea.amazehome.xyz/AMAZEHOME/hosts-and-filters/raw/branch/main/rules/costomize.txt"
|
||||||
|
time="2025-11-28T18:01:32+08:00" level=error msg="获取远程规则失败" error="远程服务器返回错误状态码: 404" url="https://gitea.amazehome.xyz/AMAZEHOME/hosts-and-Filters/raw/branch/main/list/china.txt"
|
||||||
|
time="2025-11-28T18:01:32+08:00" level=info msg="规则加载完成,域名规则: 177714, 排除规则: 1187, 正则规则: 947, hosts规则: 2"
|
||||||
|
time="2025-11-28T18:01:32+08:00" level=info msg="统计数据加载成功"
|
||||||
|
time="2025-11-28T18:01:32+08:00" level=info msg="DNS服务器已启动,监听端口: 53"
|
||||||
|
time="2025-11-28T18:01:32+08:00" level=info msg="HTTP控制台已启动,监听端口: 8080"
|
||||||
|
time="2025-11-28T18:01:32+08:00" level=info msg="DNS TCP服务器启动,监听端口: 53"
|
||||||
|
time="2025-11-28T18:01:32+08:00" level=info msg="启动统计数据自动保存功能" file=data/stats.json interval=300
|
||||||
|
time="2025-11-28T18:01:32+08:00" level=info msg="规则自动更新已启动" interval=3600
|
||||||
|
time="2025-11-28T18:01:32+08:00" level=info msg="HTTP控制台服务器启动,监听地址: 0.0.0.0:8080"
|
||||||
|
time="2025-11-28T18:01:32+08:00" level=info msg="DNS UDP服务器启动,监听端口: 53"
|
||||||
|
time="2025-11-28T18:01:32+08:00" level=info msg="启动Shield计数数据自动保存功能" file=./data/shield_stats.json interval=60
|
||||||
|
time="2025-11-28T18:01:32+08:00" level=info msg="Shield计数数据保存成功" blocked_entries=0 file=/root/dns/data/shield_stats.json resolved_entries=0
|
||||||
|
time="2025-11-28T18:01:33+08:00" level=info msg="新WebSocket客户端连接,当前连接数: 1"
|
||||||
|
time="2025-11-28T18:01:40+08:00" level=debug msg="接收到DNS查询" client="10.35.10.78:56516" domain=baidu.com.amazehome.xyz type=A
|
||||||
|
time="2025-11-28T18:01:40+08:00" level=debug msg="DNS查询成功" domain=baidu.com.amazehome.xyz rtt=6.712561ms server="223.5.5.5:53"
|
||||||
|
time="2025-11-28T18:01:40+08:00" level=debug msg="接收到DNS查询" client="10.35.10.78:56517" domain=baidu.com.amazehome.xyz type=AAAA
|
||||||
|
time="2025-11-28T18:01:40+08:00" level=debug msg="DNS查询成功" domain=baidu.com.amazehome.xyz rtt=14.68182ms server="223.6.6.6:53"
|
||||||
|
time="2025-11-28T18:01:40+08:00" level=debug msg="接收到DNS查询" client="10.35.10.78:56518" domain=baidu.com type=A
|
||||||
|
time="2025-11-28T18:01:40+08:00" level=debug msg="DNS查询成功" domain=baidu.com rtt=6.011629ms server="223.5.5.5:53"
|
||||||
|
time="2025-11-28T18:01:40+08:00" level=debug msg="接收到DNS查询" client="10.35.10.78:56519" domain=baidu.com type=AAAA
|
||||||
|
time="2025-11-28T18:01:40+08:00" level=debug msg="DNS查询成功" domain=baidu.com rtt=4.845428ms server="223.5.5.5:53"
|
||||||
|
|||||||
Executable
BIN
Binary file not shown.
Reference in New Issue
Block a user