# 域名工具项目部署与使用文档 ## 1. 项目概述 域名工具是一个用于域名筛选、检测和管理的综合性工具,主要功能包括: - 域名批量导入 - 域名筛选与查询 - 域名状态检测(注册状态、使用状态、检测状态等) - 域名详细信息检测(备案历史、快照年份、百度收录等) - 域名数据导出(Excel、CSV) - 批量更新域名状态 ## 2. 环境要求 ### 2.1 系统要求 - Windows 10/11 64位操作系统 - 至少4GB内存 - 至少500MB磁盘空间 ### 2.2 软件依赖 - Python 3.9+ - PostgreSQL 12+ - Redis(用于缓存)+布隆过滤器(用于域名去重) ## 3. 安装步骤 ### 3.1 克隆项目 ```bash git clone <项目仓库地址> cd domainScanDemo ``` ### 3.2 创建虚拟环境 ```bash python -m venv .venv ``` ### 3.3 激活虚拟环境 ```bash # Windows .venv\Scripts\activate # Linux/Mac source .venv/bin/activate ``` ### 3.4 安装依赖 ```bash pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple ``` ### 3.5 安装额外依赖(用于Excel导出) ```bash pip install openpyxl ``` ## 4. 配置说明 ### 4.1 环境变量配置 复制 `.env.example` 文件为 `.env`,并根据实际情况修改配置: ```env # 数据库连接信息 DATABASE_URL=postgresql://username:password@localhost:5432/domain_db # Redis连接信息(可选) REDIS_URL=redis://localhost:6379/0 # 日志配置 LOG_LEVEL=INFO LOG_FILE=logs/app.log # 线程配置 MAX_WORKERS=10 # 检测配置 DETECT_TIMEOUT=30 ``` ### 4.2 其他配置文件 - `detect_options.json` - 检测选项配置 - `proxy_config.json` - 代理配置 - `domain_suffixes.json` - 域名后缀配置 - `thread_count.json` - 线程数量配置 ## 5. 数据库初始化 ### 5.1 创建数据库 在PostgreSQL中创建数据库: ```sql CREATE DATABASE domain_db; ``` ### 5.2 初始化表结构 运行数据库初始化脚本: ```bash python init_database.py ``` 此脚本会创建以下表: - `domains` - 域名基本信息表 - `domain_detections` - 域名检测详情表 - `sensitive_words` - 敏感词表 ### 5.3 添加敏感词(可选) ```bash python add_sensitive_words_table.py ``` ## 6. 运行项目 ### 6.1 启动主应用 ```bash python app/main.py ``` ### 6.2 启动检测端(可选,用于分布式检测) ```bash python detect_worker.py ``` ## 7. 打包指南 ### 7.1 打包主应用 ```bash pyinstaller --onefile --windowed --add-data="app/sdk_leg.js;detect" --add-data="app/sdk_leg_env.js;detect" --add-data="app/chinaz.js;detect" --add-data="detect/module/crack_geetest2x.js;detect/module" --add-data="favicon.ico;." --add-data="new_logo.svg;." --add-data=".env;." --icon="favicon.ico" --name="域名工具" app/main.py ``` ### 7.2 打包检测端 ```bash pyinstaller --onefile --windowed --add-data="detect/sdk_leg.js;detect" --add-data="detect/sdk_leg_env.js;detect" --add-data="detect/chinaz.js;detect" --add-data="detect/module/crack_geetest2x.js;detect/module" --add-data="favicon2.ico;." --add-data="new_logo.svg;." --add-data=".env;." --icon="favicon2.ico" --name="域名检测端" detect_worker.py ``` ### 7.3 打包结果 打包完成后,可执行文件会生成在 `dist` 目录中: - `域名工具.exe` - 主应用 - `域名检测端.exe` - 检测端 ## 8. 使用说明 ### 8.1 域名导入 1. 点击"域名导入"标签页 2. 选择导入方式(文件导入或聚名网爬取) 3. 选择文件或输入聚名网URL 4. 点击"开始导入"按钮 5. 等待导入完成 ### 8.2 域名筛选 1. 点击"域名筛选"标签页 2. 设置筛选条件(注册状态、使用状态、检测状态等) 3. 点击"查询"按钮 4. 查看查询结果 5. 可选择域名进行批量更新或导出 ### 8.3 域名检测 1. 确保检测端已启动 2. 在主应用中选择需要检测的域名 3. 点击"开始检测"按钮 4. 等待检测完成 5. 查看检测结果 ### 8.4 数据导出 1. 在域名筛选界面选择需要导出的域名 2. 点击"导出"按钮 3. 选择导出格式(Excel或CSV) 4. 选择保存路径 5. 等待导出完成 ## 9. 常见问题 ### 9.1 数据库连接失败 - 检查 `.env` 文件中的数据库连接信息是否正确 - 确保 PostgreSQL 服务已启动 - 确保数据库用户有足够的权限 ### 9.2 Redis 连接失败 - 检查 `.env` 文件中的 Redis 连接信息是否正确 - 确保 Redis 服务已启动 - 如果不需要 Redis 缓存,可以忽略此警告 ### 9.3 检测失败 - 检查网络连接是否正常 - 检查代理配置是否正确 - 检查检测端是否已启动 ### 9.4 导出失败 - 确保已安装 `openpyxl` 库(用于Excel导出) - 确保导出路径有写入权限 - 检查导出文件格式是否正确 ## 10. 技术支持 如果遇到问题,请查看日志文件 `logs/app.log` 获取详细错误信息,或联系技术支持。 ## 11. 版本信息 - 项目版本:1.0.0 - 最后更新:2026-04-14 --- **注意**:本文档仅供参考,具体配置和使用方法可能因环境不同而有所差异。