优化修复
This commit is contained in:
@@ -26,6 +26,11 @@ type DNSConfig struct {
|
||||
DomainSpecificDNS DomainSpecificDNS `json:"domainSpecificDNS"` // 域名特定DNS服务器配置
|
||||
NoDNSSECDomains []string `json:"noDNSSECDomains"` // 不验证DNSSEC的域名模式列表
|
||||
EnableIPv6 bool `json:"enableIPv6"` // 是否启用IPv6解析(AAAA记录)
|
||||
CacheMode string `json:"cacheMode"` // 缓存模式:"memory"(内存缓存)、"file"(文件缓存)
|
||||
CacheSize int `json:"cacheSize"` // 缓存大小限制(MB),0表示不缓存
|
||||
MaxCacheTTL int `json:"maxCacheTTL"` // 最大缓存TTL(分钟)
|
||||
MinCacheTTL int `json:"minCacheTTL"` // 最小缓存TTL(分钟)
|
||||
CacheFilePath string `json:"cacheFilePath"` // 缓存文件路径
|
||||
}
|
||||
|
||||
// HTTPConfig HTTP控制台配置
|
||||
@@ -106,6 +111,24 @@ func LoadConfig(path string) (*Config, error) {
|
||||
if config.DNS.CacheTTL == 0 {
|
||||
config.DNS.CacheTTL = 30 // 默认30分钟
|
||||
}
|
||||
// 缓存模式默认值
|
||||
if config.DNS.CacheMode == "" {
|
||||
config.DNS.CacheMode = "memory" // 默认内存缓存
|
||||
}
|
||||
// 缓存大小默认值(100MB)
|
||||
if config.DNS.CacheSize == 0 {
|
||||
config.DNS.CacheSize = 100 // 默认100MB
|
||||
}
|
||||
// 最大缓存TTL默认值(120分钟)
|
||||
if config.DNS.MaxCacheTTL == 0 {
|
||||
config.DNS.MaxCacheTTL = 120 // 默认120分钟
|
||||
}
|
||||
// 最小缓存TTL默认值(5分钟)
|
||||
if config.DNS.MinCacheTTL == 0 {
|
||||
config.DNS.MinCacheTTL = 5 // 默认5分钟
|
||||
}
|
||||
// 缓存文件路径固定为data/cache.json,不再从配置文件读取
|
||||
config.DNS.CacheFilePath = "data/cache.json"
|
||||
// DNSSEC默认配置
|
||||
// 如果未在配置文件中设置,默认启用DNSSEC支持
|
||||
// json.Unmarshal会将未设置的布尔字段设为false,所以我们需要显式检查
|
||||
|
||||
Reference in New Issue
Block a user