DFC302/domx

GitHub: DFC302/domx

用 Go 编写的快速域名解析与提取工具,从域名列表或嘈杂文件中批量解析 TLD、子域名、根域名和 Apex 域名,替代低效的 Python 和 Shell 方案。

Stars: 0 | Forks: 0

# domx 使用 Go 编写的快速域名解析器和提取器。从域名列表或包含杂乱内容的文件中解析出 TLD、子域名、根域名和顶级域名。旨在替代运行缓慢的基于 Python `tld` 的解析器和 shell `geturls` 管道。 ## 安装 ``` go install github.com/dfc302/domx@latest ``` 要求 Go 1.21+。二进制文件将被放置在 `$GOPATH/bin` 中(通常为 `~/go/bin`)。 ## 用法 ``` domx — domain parser and extractor Usage: cat domains.txt | domx [options] domx -f [options] Parse flags (pick one): -apex Return apex domain (eTLD+1), e.g. example.com -domain Return root domain label, e.g. example -sub Return subdomain, e.g. www -tld Return top-level domain, e.g. co.uk -info Return full JSON breakdown Other flags: -f Read input from file instead of stdin -c Concurrency level (default 100) ``` ## 示例 ### 清理域名列表 ``` # 从列表中获取 apex domain cat domains.txt | domx -apex # 通过 file 标志获取 TLD domx -f domains.txt -tld # 获取唯一子域名 cat domains.txt | domx -sub | sort -u # 完整的 JSON 分解 cat domains.txt | domx -info ``` ### 包含杂乱内容的文件(混合内容) 看起来不像域名的行会被静默跳过 —— 无需预先过滤。 ``` # 从嘈杂文件中仅提取域名 domx -f report.txt # 一步提取域名并解析 apex domx -f report.txt -apex # 同样支持 stdin cat report.txt | domx -tld ``` ### 支持的输入格式 裸域名和完整的 URL 均可被处理: ``` www.example.co.uk https://sub.example.com/path?q=1 example.com:8080 http://api.target.io ``` ### 输出示例 ``` $ echo "www.example.co.uk" | domx -apex example.co.uk $ echo "www.example.co.uk" | domx -tld co.uk $ echo "www.example.co.uk" | domx -sub www $ echo "www.example.co.uk" | domx -domain example $ echo "www.example.co.uk" | domx -info {"input":"www.example.co.uk","tld":"co.uk","domain":"example","subdomain":"www","apex":"example.co.uk"} ``` ## 注意事项 - 通过 `golang.org/x/net/publicsuffix` 使用 [Public Suffix List](https://publicsuffix.org/) —— 能够正确处理如 `co.uk`、`com.au` 等多段 TLD。 - 非 ICANN TLD(如 `.local` 等私有域名)会被跳过。 - 如果未提供解析标志,`domx` 将充当一个纯粹的提取器 —— 原样输出匹配到的域名行。 - 不支持在同一次调用中使用多个解析标志;第一个匹配的标志将生效。
标签:DNS枚举, eTLD+1, Go语言, Python替代方案, SEO工具, SYN扫描, TLD解析, URL解析, 后端开发, 域名提取器, 域名解析, 子域名提取, 文本提取, 无线安全, 日志审计, 程序破解, 网络信息收集, 网络安全工具, 高并发