这个项目能做什么

# IPv6 Web Resource Checker (webres6) 一款用于检查网页或应用程序纯 IPv6 就绪情况的命令行工具和 Web 服务。它使用 Selenium 加载网站,从性能日志中提取主机名和 IP 地址,并判断每个资源是否可通过纯 IPv6 网络访问。 ## 功能特性 - 使用 Selenium(Chromium)抓取网页,并从性能日志中提取所有主机名和 IP 地址 - 根据原生 IPv6 地址使用情况将资源分类为 IPv6 就绪 - 使用基于 Unbound 的自定义解析器(dnsprobe)测试纯 IPv6 DNS 解析 - 对遇到的 IP 地址执行 WHOIS 查询以进行基础设施分析 - 计算纯 IPv6 就绪评分并维护结果记分板 - 支持自定义 Selenium/Python 插桩代码 - 在 API 服务器端处理 NAT64 转换 - 通过 REST API 以 JSON 格式导出结构化报告 - 在 Valkey 或平面文件中缓存和归档结果 - 使用公共后缀列表拆分域名 ## 组件 - **API 服务器**(`webres6-api`)——基于 Flask 的服务器,集成 Selenium、dnsprobe 和 REST 端点 - **CLI 客户端**——用于查询 API 并显示结果的 Python 命令行工具 - **Web 应用**——由 API 提供服务的基于 jQuery 的前端,也可作为独立查看器使用 - **MCP 服务器**——面向 AI 助手的 Model Context Protocol 集成 ## 安装配置 ### 环境要求 - API 服务器需要 Python 3.14+ - CLI 客户端需要 Python 3.11+ - 运行 Selenium 的主机需具备双栈或纯 IPv6 并支持 NAT64 - 用于 DNS 探测的 libunbound 及其 Python 绑定 ### 安装 通过 uv 安装 CLI: ``` uv tool install --from 'git+https://github.com/SAP/webres6#subdirectory=cli' webres6-cli ``` Docker Compose 配置会构建 API、NGINX 和 Selenium 容器。Kubernetes 部署可通过 `helm/` 目录中的 Helm chart 实现。 ## 使用方法 ### CLI ``` webres6 [options] URL ``` 选项包括截图捕获、JSON 导出、超时控制、ASN 显示以及向服务器提交评分。 ### Web 应用 在输入框中输入 URL 并点击 **Analyze**。结果和最近的记分板会显示在下方。自定义 CSS 和已保存的报告文件可拖放到浏览器窗口中进行渲染。 ### 演示 公共实例可在 [webres6.dev.sap](https://webres6.dev.sap) 访问。 ## 局限性 - 运行 Selenium 的主机需要双栈连接(或纯 IPv6 加 NAT64) - 纯 IPv4 主机将报告所有资源均不可用 - Chromium 的 Happy Eyeballs 可能会对响应缓慢的 IPv6 主机优先选择 IPv4 - 不支持身份验证、Cookie 同意处理或 JavaScript 延迟(可通过自定义插桩扩展) - 不会伪装机器人流量 ## 许可 Copyright 2025 SAP SE 或 SAP 关联公司。基于 Apache License 2.0 许可。详情请参阅 [LICENSE](LICENSE) 和 [REUSE](https://api.reuse.software/info/github.com/SAP/webres6)。