- 引入 `golang.org/x/net/idna` 实现 Unicode 域名转 ASCII(Punycode) - 黑名单加载支持通配符格式如 `*.example.com` - 支持解析 hosts 风格的文件(每行首列为 IP 地址时,其余列为域名) - 扩展 Scanner 缓冲区至 2MB 以适应大型 hosts 文件 - 注释处理优化,兼容 `#` 和 `;` 分隔符 - 加载后对规则排序并去重,提升匹配效率与一致性 fix(cache): 调整负面响应缓存逻辑与上游查询并发控制 - 明确区分 NXDOMAIN 与 NODATA 并正确处理 SOA 缺失情况 - 查询上游时引入更可靠的并发限制与超时机制 - UDP 截断时自动回退 TCP 查询 - 过滤无效 RCODE(如 SERVFAIL、REFUSED 等),防止污染结果 - 区分“全部失败”与“部分完成但无有效响应”,增强调试日志信息
19 lines
374 B
Modula-2
19 lines
374 B
Modula-2
module dot
|
|
|
|
go 1.25.3
|
|
|
|
require (
|
|
github.com/hashicorp/golang-lru/v2 v2.0.7
|
|
github.com/miekg/dns v1.1.68
|
|
golang.org/x/net v0.46.0
|
|
golang.org/x/sync v0.17.0
|
|
)
|
|
|
|
require (
|
|
github.com/google/go-cmp v0.7.0 // indirect
|
|
golang.org/x/mod v0.29.0 // indirect
|
|
golang.org/x/sys v0.37.0 // indirect
|
|
golang.org/x/text v0.30.0 // indirect
|
|
golang.org/x/tools v0.38.0 // indirect
|
|
)
|