🔮 先知
域智能触手可及。
一个高性能、多界面的域实用程序套件-从终端、Python、REST API或AI助手查询WHOIS、RDAP、DNS、SSL等。
    
特性 · 快速开始 · CLI使用情况 · python · REST API · MCP服务器
______________________________________________________________________
✨ 特性
🔍 查找和发现
- 智能查找 --具有回退功能的并发RDAP+WHOIS
- 谁 --注册人、注册商和到期数据
- RDAP --域、IP和ASN的现代协议
- 域名信息 --将RDAP+WHOIS合并为扁平结构
- 反向DNS --IP地址的PTR查找
- TLD信息 --WHOIS服务器、RDAP端点和注册表
- 子域枚举 --通过证书透明度日志
- 域可用性 --检查域是否已注册
🌐 DNS和传播
- DNS解析 --13种带有自定义名称服务器的记录类型
- DNS传播 --全球6个地区的29台服务器
- DNS监控 --跟踪记录随时间变化
- DNS比较 --比较两个名称服务器上的记录
- DNSSEC验证 --检查DNSSEC配置
🛡️ 安全与健康
- 域名状态 --HTTP状态、标题、SSL和过期
- SSL链检查 --全链、SAN、关键细节、有效性
- 域监视列表 --监控过期证书和注册
- SSRF保护 --阻止对私有/保留IP的请求
⚡ 电源特性
- 批量操作 --使用CSV导出处理域列表
- 域名差异 --两个领域的并排比较
- 现场提取 —
--quiet --fields用于可脚本化输出 - 4种输出格式 --人、JSON、YAML、markdown
- 交互式REPL --带有标签完成和历史记录
- 语义退出代码 --用于CI/CD脚本编写
- 壳牌完井 --bash、zsh、fish、PowerShell
🏗️ 五个接口,一个核心
┌──────────────────────────────────────────────────────────────────┐
│ User Interfaces │
├─────────────┬─────────────┬──────────────┬───────────────────────┤
│ seer-cli │ seer-py │ seer-api │ seer-api │
│ Terminal │ Python │ REST API │ MCP Server │
└──────┬──────┴──────┬──────┴──────┬───────┴──────────┬────────────┘
│ │ │ │
│ └─────────────┼───────────────────┘
│ │
▼ ▼
┌──────────────────────────────────────────────────────────────────┐
│ seer-core │
│ Core Rust Library │
├──────────┬────────┬──────┬────────┬──────┬──────┬───────────────┤
│ WHOIS │ RDAP │ DNS │ Status │ SSL │ Bulk │ Diff/Watch │
└──────────┴────────┴──────┴────────┴──────┴──────┴───────────────┘______________________________________________________________________
🚀 快速开始
安装CLI
cargo install seer-cli运行第一次查找
seer lookup example.com # Smart RDAP + WHOIS lookup
seer dig example.com MX # DNS query
seer status example.com # HTTP, SSL, and expiration check
seer ssl example.com # Full SSL chain inspection
seer # Launch interactive REPL用作Rust库
[dependencies]
seer-core = "0.18"
tokio = { version = "1", features = ["full"] }要求: Rust 1.70+·Python 3.9+(适用于Python绑定/API)
______________________________________________________________________
📦 包裹
| 包 | 类型 | 安装 | 描述 |
|---|---|---|---|
| seer核心 | Rust库 | cargo add seer-core | 核心库——所有业务逻辑 |
| seer cli | Rust二进制 | cargo install seer-cli | The seer 命令行工具 |
| seer py | Python扩展 | maturin develop --release | 通过PyO3进行Python绑定 |
| seer api | Python包 | pip install -e . | REST API+MCP服务器 |
seer-cli vs seer-core — which do I need?
| seer cli | seer core | |
|---|---|---|
| 什么 | 可执行二进制文件 | Rust库机箱 |
| 安装 | cargo install seer-cli | cargo add seer-core |
| 使用 | 快跑 seer 在您的终端 | use seer_core::* Rust代码 |
| 提供 | 命令、REPL、格式化输出 | 结构、客户端、异步API |
| 取决于 | seer核心内部 | 没什么——这是基础 |
______________________________________________________________________
💻 CLI使用情况
命令模式
# Smart lookup (concurrent RDAP + WHOIS)
seer lookup example.com
# Comprehensive domain info (merged RDAP + WHOIS)
seer info example.com
# WHOIS / RDAP
seer whois example.com
seer rdap example.com # Domain
seer rdap 8.8.8.8 # IP address
seer rdap AS15169 # ASN
# DNS queries
seer dig example.com # A records (default)
seer dig example.com MX # Specific record type
seer dig example.com A -s 8.8.8.8 # Custom nameserver
# DNS propagation & monitoring
seer prop example.com A
seer follow example.com 20 0.5 # 20 checks, 30s interval
seer follow example.com 10 1 MX --changes-only
# DNSSEC & DNS comparison
seer dnssec example.com
seer compare example.com A 8.8.8.8 1.1.1.1
# Domain health & SSL
seer status example.com
seer ssl example.com
# Reverse DNS
seer reverse 8.8.8.8
# Discovery
seer avail example.com
seer subdomains example.com
seer tld .com
# Domain diff
seer diff example.com google.com
# Watchlist
seer watch add example.com
seer watch list
seer watch # Check all watched domains
seer watch remove example.com
# Lookup history
seer history example.com
seer history --clear
# Bulk operations (with CSV export)
seer bulk lookup domains.txt
seer bulk status domains.txt -o results.csv
seer bulk dig domains.txt MX
seer bulk avail domains.txt
seer bulk info domains.txt
# Scriptable field extraction
seer --quiet --fields registrar lookup example.com
seer --quiet --fields certificate.issuer status example.com
# Shell completions
seer completions bash >> ~/.bashrc
seer completions zsh >> ~/.zshrc输出格式
seer --format human lookup example.com # Colored, human-readable (default)
seer --format json lookup example.com # JSON
seer --format yaml lookup example.com # YAML
seer --format markdown lookup example.com # Markdown table交互式REPL
通过运行启动 seer 没有争论:
$ seer
seer> lookup example.com
seer> dig github.com MX
seer> status cloudflare.com
seer> set output json
seer> help
seer> exit功能:命令历史记录(~/.seer_history),选项卡完成,加载微调器,持久会话状态。
______________________________________________________________________
🐍 Python库
import seer
# Smart lookup
result = seer.lookup("example.com")
# WHOIS / RDAP
whois = seer.whois("example.com")
rdap = seer.rdap_domain("example.com")
rdap = seer.rdap_ip("8.8.8.8")
rdap = seer.rdap_asn(15169)
# DNS
records = seer.dig("example.com", record_type="MX")
propagation = seer.propagation("example.com", record_type="A")
# Domain health & SSL
status = seer.status("example.com")
ssl = seer.ssl("example.com")
dnssec = seer.dnssec("example.com")
# Availability & info
available = seer.availability("example.com")
info = seer.info("example.com")
# Comparison & enumeration
diff = seer.diff("example.com", "google.com")
comparison = seer.dns_compare("example.com", "A", "8.8.8.8", "1.1.1.1")
subdomains = seer.subdomains("example.com")
# Bulk operations
results = seer.bulk_lookup(["example.com", "google.com"], concurrency=10)
results = seer.bulk_status(["example.com", "google.com"])
results = seer.bulk_dig(["example.com", "google.com"], record_type="A")
results = seer.bulk_info(["example.com", "google.com"])Example: Check SSL Certificate
status = seer.status("example.com")
if cert := status.get("certificate"):
print(f"SSL Valid: {cert['is_valid']}")
print(f"Expires: {cert['valid_until']}")
print(f"Days left: {cert['days_until_expiry']}")______________________________________________________________________
🦀 Rust库
[dependencies]
seer-core = "0.18"
tokio = { version = "1", features = ["full"] }use seer_core::{SmartLookup, DnsResolver, RecordType, StatusClient};
#[tokio::main]
async fn main() -> seer_core::Result {
// Smart lookup (RDAP → WHOIS fallback)
let lookup = SmartLookup::new();
let result = lookup.lookup("example.com").await?;
// DNS resolution
let resolver = DnsResolver::new();
let records = resolver.resolve("example.com", RecordType::MX, None).await?;
for record in records {
println!("{}: {}", record.record_type, record.data);
}
// Domain status check
let client = StatusClient::new();
let status = client.check("example.com").await?;
println!("HTTP: {:?}", status.http_status);
Ok(())
}看 seer核心/README.md 以获取API的完整参考。
______________________________________________________________________
🌍 REST API
seer-api # Starts on http://127.0.0.1:8000 (loopback-only by default)部署说明(重大变更)
- 默认绑定为
127.0.0.1(是0.0.0.0在以前的版本中)。
要公开绑定,请设置两者 SEER_HOST=0.0.0.0 和 SEER_API_KEY — 服务器拒绝在没有身份验证的情况下在非环回主机上启动 钥匙。
/docs,/redoc,/openapi.json默认情况下禁用。 集
SEER_DOCS_ENABLED=true 重新启用。
- 多工作人员部署需要
SEER_RATE_LIMIT_STORAGE. 随着
WEB_CONCURRENCY>1 默认的内存限制是服务器 拒绝启动——每个工人的限制将是微不足道的 可绕过。使用 redis://host:6379 或另一个共享商店。
| 端点 | 方法 | 描述 |
|---|---|---|
/lookup/{domain} | GET | 智能查找(RDAP+WHOIS) |
/lookup/bulk | POST | 批量智能查找 |
/whois/{domain} | 获取 | WHOIS查询 |
/rdap/domain/{domain} | GET | RDAP域查找 |
/rdap/ip/{ip} | GET | RDAP IP查找 |
/rdap/asn/{asn} | GET | RDAP ASN查找 |
/dns/{domain}/{record_type} | GET | DNS查询 |
/dns/bulk | POST | 批量DNS查询 |
/propagation/{domain}/{record_type} | GET | DNS传播检查 |
/propagation/bulk | POST | 批量传播检查 |
/status/{domain} | GET | 域状态检查 |
/status/bulk | POST | 批量状态检查 |
/health | GET | 健康检查 |
# Examples
curl http://localhost:8000/lookup/example.com
curl http://localhost:8000/dns/example.com/MX
curl -X POST http://localhost:8000/lookup/bulk \
-H "Content-Type: application/json" \
-d '{"domains": ["example.com", "google.com"]}'API文件(当 SEER_DOCS_ENABLED=true): Swagger用户界面 · 重文档
______________________________________________________________________
🤖 MCP服务器
通过以下方式将Seer与AI助手集成 模型上下文协议:
seer-mcp # Runs on stdio transport16种可用工具:
| 工具 | 说明 |
|---|---|
seer_lookup | 智能域查找 |
seer_info | 全面的域名信息 |
seer_whois | WHOIS查询 |
seer_rdap_domain | RDAP域查找 |
seer_rdap_ip | RDAP IP查找 |
seer_rdap_asn | RDAP ASN查找 |
seer_dig | DNS查询 |
seer_propagation | DNS传播检查 |
seer_status | 域状态检查 |
seer_bulk_lookup | 批量智能查找 |
seer_bulk_whois | 批量WHOIS查询 |
seer_bulk_dig | 批量DNS查询 |
seer_bulk_status | 批量状态检查 |
seer_bulk_propagation | 批量传播检查 |
seer_bulk_info | 批量域信息 |
Claude Desktop configuration
添加 claude_desktop_config.json:
{
"mcpServers": {
"seer": {
"command": "seer-mcp"
}
}
}______________________________________________________________________
📡 DNS记录类型
| 类型 | 描述 | 类型 | 描述 | |
|---|---|---|---|---|
A | IPv4地址 | CAA | CA授权 | |
AAAA | IPv6地址 | PTR | 指针记录 | |
MX | 邮件交换 | SRV | 服务定位器 | |
TXT | 文本记录 | DNSKEY | DNSSEC公钥 | |
NS | 名称服务器 | DS | 代表团签字人 | |
SOA | 开始授权 | ANY | 所有记录 | |
CNAME | 规范名称 |
______________________________________________________________________
🌏 全局DNS传播服务器
传播检查查询 29个域名服务器 穿过 6个地区:
| 区域 | 服务器 |
|---|---|
🇺🇸 北美洲 谷歌 8.8.8.8 ·Cloudflare 1.1.1.1 ·OpenDNS·Quad9·Level3 | |
| 🇪🇺 欧洲 | DNS。观看·Mullvad·dns0.eu·Yandex·未经审查的DNS |
| 🌏 亚太 | 阿里DNS·114DNS·腾讯DNSPod·TWNIC·海网 |
| 🌎 拉丁美洲 | Claro 巴西 · Telefonica 巴西 · Antel 乌拉圭 · Telmex · CenturyLink |
| 🌍 非洲 | Liquid Telecom·SEACOM·Safaricom·MTN南非·埃及电信 |
| 🌐 中东 | 阿联酋Etisalat·沙特STC·以色列Bezeq·土耳其电信·卡塔尔Ooredoo |
______________________________________________________________________
⚙️ 配置
环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
RUST_LOG | 日志记录级别(trace / debug / info / warn / error) | — |
SEER_CORS_ORIGINS | 用于REST API的逗号分隔CORS起源 | * |
SEER_RATE_LIMIT | REST API速率限制(请求/分钟) | 30 |
配置文件
在以下位置初始化配置文件 ~/.seer/config.toml:
seer config --init超时
| 客户端 | 默认值 |
|---|---|
| WHOIS | 10s |
| RDAP | 30秒 |
| DNS | 5s(重试2次) |
| HTTP/SSL | 10s |
| 传播时间:15秒 |
批量操作
- 输入: 纯文本(每行一个域)或CSV(第一列)
- 评论: 以开头的行
#被跳过 - 并发: 默认值10,最大值50
- API限值: 每个请求最多100个域
______________________________________________________________________
🔮 路线图
- 计划监视守护进程 —
seer monitor --config monitors.toml作为后台服务,提供过期域、SSL证书和意外DNS更改的通知(电子邮件、Slack、PagerDuty)。自然进化watch,follow,以及status持续监控。
______________________________________________________________________
🛠️ 发展
建筑
cargo build --release # All Rust packages
cd seer-py && maturin develop --release # Python bindings
cd seer-api && pip install -e . # REST API + MCP server测试
cargo test # All Rust tests
cargo test -p seer-core # Core library only
cd seer-api && pytest # Python API tests
RUST_LOG=debug cargo test # With debug logging代码检查
cargo fmt --all -- --check # Format check
cargo clippy -- -D warnings # Lint项目结构
seer/
├── Cargo.toml # Workspace root
├── seer-core/ # Core Rust library (all business logic)
│ └── src/
│ ├── lib.rs # Module exports
│ ├── error.rs # Centralized error types
│ ├── lookup.rs # Smart lookup (RDAP + WHOIS)
│ ├── validation.rs # Domain validation & SSRF protection
│ ├── config.rs # Configuration management
│ ├── whois/ # WHOIS client, parser, server mapping
│ ├── rdap/ # RDAP client with IANA bootstrap
│ ├── dns/ # Resolver, propagation, DNSSEC, follow
│ ├── ssl/ # SSL certificate chain inspection
│ ├── status/ # HTTP, SSL, and expiration checking
│ ├── bulk/ # Concurrent bulk executor
│ ├── diff/ # Domain comparison
│ ├── availability/ # Domain availability checking
│ ├── subdomains/ # CT log enumeration
│ ├── tld/ # TLD information
│ ├── watchlist/ # Domain monitoring
│ ├── history/ # Lookup history tracking
│ ├── domain_info/ # Flat domain info structure
│ ├── cache/ # TTL and single-value caching
│ ├── retry/ # Network retry with classification
│ ├── logging/ # Structured logging + OpenTelemetry
│ ├── output/ # Formatters (human/JSON/YAML/markdown)
│ └── colors.rs # Catppuccin color palette
│
├── seer-cli/ # CLI application
│ └── src/
│ ├── main.rs # Clap commands & dispatch
│ ├── display/ # Spinner and progress utilities
│ └── repl/ # Interactive REPL
│
├── seer-py/ # Python bindings (PyO3)
│ ├── src/lib.rs # Rust → Python bridge
│ └── python/seer/ # Python package wrapper
│
└── seer-api/ # FastAPI REST server + MCP
└── seer_api/
├── main.py # FastAPI app
├── routers/ # API endpoint modules
└── mcp/ # MCP server (16 tools)______________________________________________________________________
🔧 技术栈
| 层 | 技术 |
|---|---|
| 核心 | Rust·Tokio·Reqwest(rustls)·Hickory解析器(DNSSEC)·Serde·OpenTetry |
| 命令行界面 | Clap v4·Rustyline·指示性·彩色·交叉项 |
| python | PyO3(ABI3)·FastAPI·Pydantic·MCP |
| 数据 | WHOIS服务器来自 WooMai/whis服务器 ·IANA RDAP引导 |
______________________________________________________________________
📄 许可证
麻省理工学院许可证——版权所有(c)2026 Zac Roach
看 许可证 全文。
