https://github.com/howiehz/domain-checker
Domain Expiration Checker
https://github.com/howiehz/domain-checker
domain domain-checker whois whois-lookup
Last synced: 5 months ago
JSON representation
Domain Expiration Checker
- Host: GitHub
- URL: https://github.com/howiehz/domain-checker
- Owner: HowieHz
- License: mit
- Created: 2024-11-30T18:59:08.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-02-17T06:04:45.000Z (8 months ago)
- Last Synced: 2025-02-17T06:26:33.403Z (8 months ago)
- Topics: domain, domain-checker, whois, whois-lookup
- Language: Python
- Homepage:
- Size: 130 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# domain-checker
> 通过查询 whois 批量检查域名是否过期的小工具



- 支持同步/异步查询
- 支持多进程并发
- 可通过插件支持任意 API## 为什么写这个小工具
- 在线工具:广告多,许多域名无法查询
- 类似项目:不能满足需求,没法过滤诸如 `https://www.aaa.com.cn/index.html?id=1` 的域名是否过期类似项目:
- [Matty9191/dns-domain-expiration-checker](https://github.com/Matty9191/dns-domain-expiration-checker) 年久失修,上一次更新在 4 年前
- [click0/domain-check-2](https://github.com/click0/domain-check-2) 需要 Bash 才能使用,需要干净的 主域名。顶级域名 作为输入数据才能工作
- [tdulcet/Remote-Servers-Status](https://github.com/tdulcet/Remote-Servers-Status) 至少需要 Bash 4.4 和 curl、netcat、ping、dig、delv、whois 和 openssl 命令
- [ashworthconsulting/domain-check](https://github.com/ashworthconsulting/domain-check) 年久失修,上一次更新在 9 年前---
## 目录
- [domain-checker](#domain-checker)
- [为什么写这个小工具](#为什么写这个小工具)
- [目录](#目录)
- [使用方法](#使用方法)
- [使用示例](#使用示例)
- [指定输出文件](#指定输出文件)
- [提高使用的进程数](#提高使用的进程数)
- [提高单个进程可使用使用的线程数](#提高单个进程可使用使用的线程数)
- [安静模式](#安静模式)
- [开发指南](#开发指南)
- [更新日志](#更新日志)
- [插件规范](#插件规范)
- [项目数据统计](#项目数据统计)
- [Star History](#star-history)---
## 使用方法
```bash
usage: domain-checker.exe [-h] [-i INPUT] [-o OUTPUT] [-e ERROR] [-p NUM_PROCESSES] [-t MAX_NUM_THREADS_PER_PROCESS] [-utl [True]]
[-q [True]]options:
-h, --help 显示此帮助信息并退出程序
-i INPUT, --input INPUT
指定输入文件,默认为 input.txt
-o OUTPUT, --output OUTPUT
指定保存过期域名的文件
-e ERROR, --error ERROR
指定保存未能成功查询的域名的文件
-p NUM_PROCESSES, --num-processes NUM_PROCESSES
指定并发进程数。未指定则为 1
-t MAX_NUM_THREADS_PER_PROCESS, --max-num-threads-per-process MAX_NUM_THREADS_PER_PROCESS
指定每进程最大并发线程数。
-q [True], --quiet [True]
使程序减少输出。--quiet 或 --quiet True 均可启用此选项
-id ID 指定插件 ID 来进行查询,可用 ID 有(下列 ID 用逗号分隔):async_query,sync_query
```## 使用示例
> 如果`输入文件`未创建,将创建`输入文件`并退出程序
- 要查询的域名放入 `input.txt`(此文件放放置于运行目录下)
- 一行一个需要查询的链接,以下均为可接受形式```
luogu.com.cn
https://luogu.com.cn
luogu.com.cn/index.html
blog.luogu.com.cn
www.luogu.com.cn/index.html?id=1
aaa.www.luogu.com.cn/aaaa/aaaa
```运行以下指令(假设二进制文件名为 `domain-checker.exe`)
如果仅想在终端查看结果,而不想输出结果到文件,可以使用以下指令
```bash
domain-checker.exe -i input.txt
```input.txt 为 input 默认值,所以上面的指令也可以改写为
```bash
domain-checker.exe
```### 指定输出文件
- `-e ERROR, --error ERROR` 指定的文件中将放置查询失败\解析失败的域名
- `-o OUTPUT, --output OUTPUT` 指定的文件中将放置查询出已过期的域名> 指令指定的输出文件无需提前创建
```bash
domain-checker.exe -i input.txt -o output.txt -e error.txt
```input.txt 为 input 默认值,所以上面的指令也可以改写为
```bash
domain-checker.exe -o output.txt -e error.txt
```### 提高使用的进程数
该指令会使用 32 进程查询。首先会把 input.txt 分成 32 份。
分别放入 `./temp/temp_part_0.txt`、`./temp/temp_part_1.txt` ... `./temp/temp_part_31.txt`。
之后后使用 32 个进程分别查询。> 注:程序正常运行结束会清除 `./temp` 中产生的临时文件 `./temp/temp_part_0.txt`、`./temp/temp_part_1.txt` ... `./temp/temp_part_31.txt`
```bash
domain-checker.exe -p 32
```### 提高单个进程可使用使用的线程数
> 此项仅在使用 `同步型插件` 生效
> [异步型插件/同步型插件解释](./CONTRIBUTING.md#异步型插件同步型插件)以下指令会将最大线程数提升到 9999。
```bash
domain-checker.exe -t 9999
```### 安静模式
如果仅想要将结果输出到文件,终端不输出处理结果,可以使用以下指令
```bash
domain-checker.exe -q -o output.txt -e error.txt
```## 开发指南
见 [CONTRIBUTING](./CONTRIBUTING.md)
## 更新日志
见 [Releases](https://github.com/HowieHz/domain-checker/releases)
## 插件规范
见 [插件规范](./CONTRIBUTING.md#插件规范)
## 项目数据统计
### Star History