Skip to content

chainreactors/cdncheck

 
 

Repository files navigation

修改自:https://github.com/projectdiscovery/cdncheck 增加了国内CDN IP判断,及大部分主流CDN 域名判断、主流云资产识别

  • Baidu-加速乐 (创宇云盾)
  • 网宿 CDN
  • 腾讯云CDN
  • 阿里云 CDN
  • 百度智能云CDN

当前数据维护方式

运行时通过 sources_data.go 将根目录 sources_data.json 嵌入到二进制中,因此当前检测结果以 sources_data.json 为准。

如要增加其它 CDN、WAF、云厂商或域名后缀,请先更新 sources_data.json 并重新编译。

cmd/generate-index/provider.yaml 保留了上游 projectdiscovery/cdncheck 的生成入口,但当前并不能完整表达本仓库里的国内 CDN、云厂商、域名后缀和历史整理数据。后续如果要恢复可重复生成链路,应先把 sources_data.json 中的国内数据回迁到明确的 provider registry / feed 配置中。

后面仅更新sources_data.json 不再更新Releases,请自行编译

CDNInfo 数据接入

cmd/sync-sources 可以把 winezer0/cdninfo 的 assets/sources.json 安全转换为本项目当前的 sources_data.json 结构。当前只导入 cdn.ipwaf.ipcloud.ip 三类 CIDR 数据,不导入 CNAME、ASN 或 keys。

go run ./cmd/sync-sources \
  -base sources_data.json \
  -cdninfo /path/to/cdninfo/assets/sources.json \
  -output /tmp/sources_data.generated.json \
  -report /tmp/sources_data.generated.report.json

同步过程会跳过非法 CIDR、重复 CIDR 和跨类别精确冲突,并把原因写入 report。生成文件通过审核后再替换根目录 sources_data.json

测试

推荐先跑完整 harness。该命令不依赖公网 DNS,会覆盖单元测试、嵌入数据解析、CLI 功能样例和 JSONL 输出格式:

make harness

也可以只跑默认单元测试:

go test ./...

离线功能测试会先构建当前分支的 cdncheck 二进制,再用固定 IP 样例验证 CLI 输出、匹配/过滤和排除逻辑:

make functional

需要运行实时 DNS 检查时,显式打开 live 测试:

CDNCHECK_LIVE_TESTS=1 go test .

Packages

 
 
 

Contributors

Languages

  • Go 97.1%
  • Shell 1.3%
  • Makefile 1.1%
  • Dockerfile 0.5%