# searchdomain 域名批量检索可用 ## 使用方式 ### GUI 图形界面(推荐) Windows 用户可以直接使用打包好的可执行文件: 1. **下载 Windows 可执行文件** - 从 [GitHub Releases](https://github.com/your-repo/SearchDomain-Python/releases) 下载最新版本 - 解压后运行 `searchdomain_gui.exe` 2. **使用 GUI 界面** - 打开 `searchdomain_gui.exe` 后会显示图形界面 - **生成域名**标签页:配置参数后点击"开始生成" - 选择语言(中文/英文) - 输入关键词(用逗号分隔,如:gpt,go,ai) - 输入域名后缀(用逗号分隔,如:com,cn,io) - 选择关键词位置(前缀/后缀) - 设置输出文件名 - **搜索域名**标签页:配置参数后点击"开始搜索" - 选择输入文件(域名列表文件) - 设置输出文件(结果保存位置) - 选择是否导出所有域名(包括不可用的) - 运行日志会实时显示在界面下方 3. **从源码运行 GUI** ```bash python gui.py ``` ### 命令行模式 #### 开发环境设置 ``` virtualenv .venv source ./.venv/bin/activate pip install -r requirements.txt ``` 1、批量生成域名 ``` python main.py generate --lang zh --keyword gpt,go --position prefix --domain io,com,cn python main.py generate --lang en --keyword chat,ai --position prefix --domain com,cn,io ``` 2、批量检测域名是否可以注册,并将结果保存到数据库或文件 ``` python main.py search --input domain.txt --output result.txt ``` ## docker 1)searchdomain 作为容器运行: ``` docker pull ccr.ccs.tencentyun.com/jianboy/searchdomain:v1.0.5 docker run -it --rm -v /data/searchdomain:/app ccr.ccs.tencentyun.com/jianboy/searchdomain:v1.0.5 ``` 2)searchdomain 作为命令行执行: ``` useradd -u 5678 searchdomain alias searchdomain='docker run -it --rm -v /data:/app jianboy/searchdomain' searchdomain --input domain.txt --output result.txt ``` ## 打包 ### 本地打包 #### Windows 打包 1. **安装依赖** ```bash pip install -r requirements.txt pip install pyinstaller ``` 2. **打包 GUI 版本** ```bash pyinstaller --clean --noconfirm gui.spec ``` 生成的可执行文件在 `dist/searchdomain_gui.exe` 3. **打包 CLI 版本** ```bash pyinstaller --clean --noconfirm main.spec ``` 生成的可执行文件在 `dist/searchdomain_cli.exe` ### GitHub Actions 自动打包 项目已配置 GitHub Actions 工作流,可以自动打包 Windows 可执行文件: 1. **触发方式** - 推送版本标签(如 `v1.0.0`)会自动触发构建 - 或在 GitHub Actions 页面手动触发 `workflow_dispatch` 2. **构建产物** - 构建完成后可在 Actions 页面下载 `windows-executables` 工件 - 如果推送了版本标签,会自动创建 Release 并上传可执行文件 3. **工作流文件位置** - `.github/workflows/build-windows.yml` ### 打包说明 - GUI 版本:`searchdomain_gui.exe` - 图形界面,双击运行 - CLI 版本:`searchdomain_cli.exe` - 命令行界面,在命令行中使用 - 数据文件:`data/a.csv` 和 `data/b.csv` 会自动包含在打包文件中