logo
0
1
WeChat Login

DomainGuardian - 域名信息与SSL证书检查工具

项目介绍

DomainGuardian 是一个功能强大的域名信息查询与SSL证书检查工具,旨在为用户提供全面的域名信息和SSL证书状态,帮助用户了解域名的注册信息、过期时间以及SSL证书的有效性和安全状态。

功能特性

🎯 核心功能

  • WHOIS域名查询:获取域名的详细注册信息,包括注册商、注册人、创建时间、过期时间等
  • SSL证书检查:验证域名的SSL证书状态,包括颁发机构、有效期、加密算法等
  • 实时数据:通过直接查询WHOIS服务器和SSL证书,确保数据的实时性和准确性
  • 用户友好界面:响应式设计,支持各种设备,提供流畅的用户体验
  • 错误处理:完善的错误处理机制,提供清晰的错误提示

🔒 安全特性

  • 速率限制:防止API滥用,保护服务器资源
  • 输入验证:严格的域名格式验证,确保查询的准确性
  • CORS支持:安全的跨域资源共享配置

🚀 技术特性

  • 前后端分离:Vue 3 前端 + PHP 后端API
  • 并行查询:同时查询WHOIS和SSL信息,提高响应速度
  • 动画效果:平滑的过渡动画,提升用户体验
  • 详细的时间信息:提供域名创建天数、过期天数等详细时间信息

技术栈

前端

  • 框架:Vue 3
  • 构建工具:Vite
  • 样式:CSS3
  • 状态管理:Vue Composition API

后端

  • 语言:PHP 7.4+
  • API:RESTful API
  • 数据存储:JSON文件(速率限制存储)

项目结构

├── api/ # 后端API目录 │ ├── utils/ # 工具类 │ │ ├── rate_limit_storage.json # 速率限制存储 │ │ ├── rate_limiter.php # 速率限制器 │ │ ├── ssl.php # SSL检查工具 │ │ ├── validator.php # 域名验证器 │ │ └── whois.php # WHOIS查询工具 │ └── api.php # 主API文件 ├── src/ # 前端源代码 │ ├── components/ # Vue组件 │ │ ├── SSLResult.vue # SSL结果显示组件 │ │ ├── SearchComponent.vue # 搜索组件 │ │ └── WhoisResult.vue # WHOIS结果显示组件 │ ├── composables/ # 可复用的组合式函数 │ │ └── useApi.js # API调用逻辑 │ ├── styles/ # 样式文件 │ │ └── App.css # 应用样式 │ ├── App.vue # 主应用组件 │ ├── main.js # 应用入口 │ └── style.css # 全局样式 ├── README.md # 项目文档 ├── index.html # 前端入口HTML ├── package.json # 前端依赖配置 └── vite.config.js # Vite配置文件

安装指南

前置要求

  • Web服务器:Apache 2.4+ 或 Nginx
  • PHP:7.4+
  • Node.js:16.0+
  • npm:7.0+

安装步骤

  1. 克隆项目

    git clone https://cnb.cool/bugcool/DomainGuardian.git cd DomainGuardian
  2. 安装前端依赖

    npm install
  3. 构建前端项目

    npm run build
  4. 配置Web服务器

    • Apache:确保启用了 mod_rewritemod_headers 模块
    • Nginx:配置适当的 location 规则
  5. 配置API路径

    • 确保前端可以访问 /api/api.php 路径
    • 如果需要修改API路径,请更新 src/composables/useApi.js 中的API调用路径
  6. 设置权限

    chmod 755 api/utils/rate_limit_storage.json
  7. 启动服务

    • 前端开发服务器:npm run dev
    • 生产环境:将 dist 目录部署到Web服务器

使用说明

基本使用

  1. 在搜索框中输入域名(例如:example.com)
  2. 点击"开始查询"按钮
  3. 等待查询结果(通常需要1-3秒)
  4. 查看WHOIS信息和SSL证书信息

示例

查询域名信息

  1. 输入:github.com
  2. 结果:显示GitHub域名的注册信息、过期时间等

检查SSL证书

  1. 输入:google.com
  2. 结果:显示Google的SSL证书信息、颁发机构、有效期等

API文档

WHOIS查询API

请求URL/api/api.php?domain={domain}

请求方法:GET

参数

  • domain:要查询的域名(必需)

响应格式:JSON

响应示例

{ "status": 1, "is_available": 0, "domain": "example.com", "domain_suffix": "com", "query_time": "2026-01-20 12:00:00", "query_time_utc": "2026-01-20 04:00:00", "timezone": "UTC", "registrant_name": "Example Inc.", "registrant_email": "admin@example.com", "registrar_name": "GoDaddy.com, LLC", "creation_time": "2020-01-01 00:00:00", "expiration_time": "2027-01-01 00:00:00", "creation_days": 2147, "valid_days": 365, "is_expire": 0, "domain_status": "clientTransferProhibited https://icann.org/epp#clientTransferProhibited", "name_server": [ "ns1.example.com", "ns2.example.com" ], "whois_server": "whois.verisign-grs.com", "raw": "Domain Name: EXAMPLE.COM...", "time_info": { "creation_timestamp": 1577836800, "expiration_timestamp": 1798761600, "days_since_creation": 2147, "days_until_expiration": 365, "expiration_status": "valid", "timezone": "UTC", "local_time": "2026-01-20 12:00:00", "utc_time": "2026-01-20 04:00:00" } }

SSL检查API

请求URL/api/api.php?domain={domain}&ssl=1

请求方法:GET

参数

  • domain:要检查的域名(必需)
  • ssl:设置为1表示SSL检查(必需)

响应格式:JSON

响应示例

{ "status": 1, "domain": "example.com", "ssl": { "valid": true, "subject": { "CN": "example.com", "O": "Example Inc.", "L": "City", "ST": "State", "C": "US" }, "issuer": { "CN": "DigiCert SHA2 Secure Server CA", "O": "DigiCert Inc", "C": "US" }, "valid_from": "2025-01-01T00:00:00+00:00", "valid_to": "2026-01-01T23:59:59+00:00", "valid_days": 365, "algorithm": "RSA-SHA256", "key_length": 2048, "serial_number": "1234567890ABCDEF1234567890ABCDEF", "san": [ "example.com", "www.example.com" ] } }

速率限制

API实施了速率限制,以防止滥用:

  • 限制:每个IP地址每分钟最多10个请求
  • 超过限制:返回429状态码和速率限制错误信息

开发规范

  • 代码风格:遵循PSR-12(PHP)和Vue风格指南
  • 提交信息:清晰、简洁的提交信息
  • 测试:确保您的更改不会破坏现有功能
  • 文档:更新相关文档以反映您的更改

许可证

本项目采用MIT许可证 - 详见 LICENSE 文件

致谢

  • Vue.js:优秀的前端框架
  • PHP:可靠的后端语言
  • Vite:快速的构建工具
  • ICANN:提供WHOIS服务
  • 所有贡献者:感谢您的支持和贡献

联系方式


DomainGuardian - 守护您的域名安全,提供全面的域名信息和SSL证书检查服务。

About

一个功能强大的域名信息查询与SSL证书检查工具,旨在为用户提供全面的域名信息和SSL证书状态,帮助用户了解域名的注册信息、过期时间以及SSL证书的有效性和安全状态。

Language
PHP52.9%
Vue26%
CSS15.1%
JavaScript5.3%
Others0.7%