Files
domainCheck/DEPLOYMENT_GUIDE.md
2026-04-14 22:53:52 +08:00

221 lines
5.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 域名工具项目部署与使用文档
## 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
---
**注意**:本文档仅供参考,具体配置和使用方法可能因环境不同而有所差异。