#cloudflare #cli #dns #ssl-certificate #http-response #api

bin+lib cfd

CFD 是一个工具,允许您检查一个或多个域名是否由 CloudFlare 保护。检查基于五个标准:HTTP 响应中的 3 个头部、IP 和 SSL 证书颁发者。检查结果可以显示在屏幕上或保存到文件中。

1 个不稳定版本

0.1.0 2023年3月30日

#13#ssl-certificate

MIT 许可证

68KB
443

最新版本 | 文档

CFD 是一个工具,允许您检查一个或多个域名是否由 CloudFlare 保护。检查基于五个标准:HTTP 响应中的 3 个头部、IP 和 SSL 证书颁发者。检查结果可以显示在屏幕上或保存到文件中。

需求

要使用 Cfd,您需要安装 Cargo 和 Rust。只需将以下内容粘贴到终端窗口中

curl https://sh.rustup.rs -sSf | sh
cargo install cfd

用法

cfd [OPTIONS] <TARGET>

参数

<TARGET>  A domain, domains divided by newline char or a file with domains.

标志

-h, --help       Prints help information
-V, --version    Prints version information

选项

  -d               Outputs a detailed result for each domain based on five checks.
  -f               Outputs only domains without Cloudflare presence.
  -o <OUTPUT>      The path to the folder where the cfd_report.{txt or csv} file will be stored. If a file won't be specified, output will be printed to stdout. If the detailed flag is set, the output will include checking details.
  -h, --help       Print help
  -V, --version    Print version

用法示例

每个示例都将使用以下域名集进行展示:cloudflare.com,example0.com,example1.com,example2.com

1. 不详细且未过滤的输出。如果您通过 -o 选项提供输出文件夹,则结果将以 cfd_report.csv 格式写入

cfd resources/cfd_work.txt

输出

cfd resources/cfd_work.txt

2. 详细且未过滤的输出到标准输出。如果您通过 -o 选项提供输出文件夹,则结果将以 cfd_report.csv 格式写入

cfd resources/cfd_work.txt -d 

输出

cfd resources/cfd_work.txt -d

3. 详细且过滤的输出到标准输出。如果您通过 -o 选项提供输出文件夹,则结果将以 cfd_report.csv 格式写入

cfd resources/cfd_work.txt -d -f 

输出

cfd resources/cfd_work.txt -d -f

4. 详细且过滤的输出到标准输出。如果您通过 -o 选项提供输出文件夹,则结果将以 cfd_report.txt 格式写入

cfd resources/cfd_work.txt -f 

输出

cloudflare.com
example1.com

代码示例

复杂检查

use cfd::run;
#[tokio::main]
async fn main(){
    let target = "example.com\ncloudflare.com";
    let checker = run(target.to_string()).await.unwrap();
    assert_eq!(checker.cf_detected_domains().await.len() == 1, true);
}

检查 IP 是否属于 Cloudflare IP 范围

use cfd::cf_ips::CFIPs;
#[tokio::main]
async fn main(){
    let cf_ips = CFIPs::load().await.unwrap();
    assert!(cf_ips.check_ip_v4("131.0.72.1"));
}

捐赠

BTC: bc1qwp5pfsqeu0m00jsrsslv76j7x5jkv3z96wm0lz
BuyMeACoffee: https://www.buymeacoffee.com/arg2u

许可证

MIT

依赖关系

~19–31MB
~578K SLoC