{"id":27884383,"url":"https://github.com/howiehz/domain-checker","last_synced_at":"2026-02-23T16:35:23.409Z","repository":{"id":265765314,"uuid":"896586756","full_name":"HowieHz/domain-checker","owner":"HowieHz","description":"Domain Expiration Checker","archived":false,"fork":false,"pushed_at":"2025-02-23T21:05:21.000Z","size":112,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-05T06:42:14.113Z","etag":null,"topics":["domain","domain-checker","whois","whois-lookup"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HowieHz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-11-30T18:59:08.000Z","updated_at":"2025-02-23T21:05:24.000Z","dependencies_parsed_at":"2024-11-30T21:18:12.802Z","dependency_job_id":"cb12a6fd-c378-461d-93dd-1b2a6b29bbba","html_url":"https://github.com/HowieHz/domain-checker","commit_stats":null,"previous_names":["howiehz/domain-checker"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/HowieHz/domain-checker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HowieHz%2Fdomain-checker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HowieHz%2Fdomain-checker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HowieHz%2Fdomain-checker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HowieHz%2Fdomain-checker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HowieHz","download_url":"https://codeload.github.com/HowieHz/domain-checker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HowieHz%2Fdomain-checker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29748240,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-23T07:44:07.782Z","status":"ssl_error","status_checked_at":"2026-02-23T07:44:07.432Z","response_time":90,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["domain","domain-checker","whois","whois-lookup"],"created_at":"2025-05-05T06:36:47.039Z","updated_at":"2026-02-23T16:35:23.390Z","avatar_url":"https://github.com/HowieHz.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# domain-checker\n\n\u003e 通过查询 whois 批量检查域名是否过期的小工具\n\n![GitHub](https://img.shields.io/github/license/HowieHz/domain-checker)\n![GitHub all releases](https://img.shields.io/github/downloads/HowieHz/domain-checker/total)\n![GitHub release (latest by date)](https://img.shields.io/github/downloads/HowieHz/domain-checker/latest/total)\n![GitHub repo size](https://img.shields.io/github/repo-size/HowieHz/domain-checker)\n\n- 支持同步/异步查询\n- 支持多进程并发\n- 可通过插件支持任意 API\n\n## 为什么写这个小工具\n\n- 在线工具：广告多，许多域名无法查询\n- 类似项目：不能满足需求，没法过滤诸如 `https://www.aaa.com.cn/index.html?id=1` 的域名是否过期\n\n类似项目：\n- [Matty9191/dns-domain-expiration-checker](https://github.com/Matty9191/dns-domain-expiration-checker) 年久失修，上一次更新在 4 年前\n- [click0/domain-check-2](https://github.com/click0/domain-check-2) 需要 Bash 才能使用，需要干净的 主域名。顶级域名 作为输入数据才能工作\n- [tdulcet/Remote-Servers-Status](https://github.com/tdulcet/Remote-Servers-Status)  至少需要 Bash 4.4 和 curl、netcat、ping、dig、delv、whois 和 openssl 命令\n- [ashworthconsulting/domain-check](https://github.com/ashworthconsulting/domain-check) 年久失修，上一次更新在 9 年前\n\n---\n\n## 目录\n\n- [domain-checker](#domain-checker)\n  - [为什么写这个小工具](#为什么写这个小工具)\n  - [目录](#目录)\n  - [使用方法](#使用方法)\n  - [使用示例](#使用示例)\n    - [指定输出文件](#指定输出文件)\n    - [提高使用的进程数](#提高使用的进程数)\n    - [提高单个进程可使用使用的线程数](#提高单个进程可使用使用的线程数)\n    - [安静模式](#安静模式)\n  - [开发指南](#开发指南)\n  - [更新日志](#更新日志)\n  - [插件规范](#插件规范)\n  - [项目数据统计](#项目数据统计)\n    - [Star History](#star-history)\n\n---\n\n## 使用方法\n\n```bash\nusage: domain-checker.exe [-h] [-i INPUT] [-o OUTPUT] [-e ERROR] [-p NUM_PROCESSES] [-t MAX_NUM_THREADS_PER_PROCESS] [-utl [True]]\n               [-q [True]]\n\noptions:\n  -h, --help            显示此帮助信息并退出程序\n  -i INPUT, --input INPUT\n                        指定输入文件，默认为 input.txt\n  -o OUTPUT, --output OUTPUT\n                        指定保存过期域名的文件\n  -e ERROR, --error ERROR\n                        指定保存未能成功查询的域名的文件\n  -p NUM_PROCESSES, --num-processes NUM_PROCESSES\n                        指定并发进程数。未指定则为 1\n  -t MAX_NUM_THREADS_PER_PROCESS, --max-num-threads-per-process MAX_NUM_THREADS_PER_PROCESS\n                        指定每进程最大并发线程数。\n  -q [True], --quiet [True]\n                        使程序减少输出。--quiet 或 --quiet True 均可启用此选项\n  -id ID                指定插件 ID 来进行查询，可用 ID 有（下列 ID 用逗号分隔）：async_query,sync_query\n```\n\n## 使用示例\n\n\u003e 如果`输入文件`未创建，将创建`输入文件`并退出程序\n\n- 要查询的域名放入 `input.txt`（此文件放放置于运行目录下）\n- 一行一个需要查询的链接，以下均为可接受形式\n\n```\nluogu.com.cn\nhttps://luogu.com.cn\nluogu.com.cn/index.html\nblog.luogu.com.cn\nwww.luogu.com.cn/index.html?id=1\naaa.www.luogu.com.cn/aaaa/aaaa\n```\n\n运行以下指令（假设二进制文件名为 `domain-checker.exe`）\n\n如果仅想在终端查看结果，而不想输出结果到文件，可以使用以下指令\n\n```bash\ndomain-checker.exe -i input.txt\n```\n\ninput.txt 为 input 默认值，所以上面的指令也可以改写为\n\n```bash\ndomain-checker.exe\n```\n\n### 指定输出文件\n\n- `-e ERROR, --error ERROR` 指定的文件中将放置查询失败\\解析失败的域名\n- `-o OUTPUT, --output OUTPUT` 指定的文件中将放置查询出已过期的域名\n\n\u003e 指令指定的输出文件无需提前创建\n\n```bash\ndomain-checker.exe -i input.txt -o output.txt -e error.txt\n```\n\ninput.txt 为 input 默认值，所以上面的指令也可以改写为\n\n```bash\ndomain-checker.exe -o output.txt -e error.txt\n```\n\n### 提高使用的进程数\n\n该指令会使用 32 进程查询。首先会把 input.txt 分成 32 份。\n分别放入 `./temp/temp_part_0.txt`、`./temp/temp_part_1.txt` ... `./temp/temp_part_31.txt`。\n之后后使用 32 个进程分别查询。\n\n\u003e 注：程序正常运行结束会清除 `./temp` 中产生的临时文件 `./temp/temp_part_0.txt`、`./temp/temp_part_1.txt` ... `./temp/temp_part_31.txt`\n\n```bash\ndomain-checker.exe -p 32\n```\n\n### 提高单个进程可使用使用的线程数\n\n\u003e 此项仅在使用 `同步型插件` 生效\n\u003e [异步型插件/同步型插件解释](./CONTRIBUTING.md#异步型插件同步型插件)\n\n以下指令会将最大线程数提升到 9999。\n\n```bash\ndomain-checker.exe -t 9999\n```\n\n### 安静模式\n\n如果仅想要将结果输出到文件，终端不输出处理结果，可以使用以下指令\n\n```bash\ndomain-checker.exe -q -o output.txt -e error.txt\n```\n\n## 开发指南\n\n见 [CONTRIBUTING](./CONTRIBUTING.md)\n\n## 更新日志\n\n见 [Releases](https://github.com/HowieHz/domain-checker/releases)\n\n## 插件规范\n\n见 [插件规范](./CONTRIBUTING.md#插件规范)\n\n## 项目数据统计\n\n### Star History\n\n\u003ca href=\"https://star-history.com/#HowieHz/domain-checker\u0026Date\"\u003e\n \u003cpicture\u003e\n   \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/svg?repos=HowieHz/domain-checker\u0026type=Date\u0026theme=dark\" loading=\"lazy\" /\u003e\n   \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/svg?repos=HowieHz/domain-checker\u0026type=Date\" loading=\"lazy\" /\u003e\n   \u003cimg alt=\"Star History Chart\" src=\"https://api.star-history.com/svg?repos=HowieHz/domain-checker\u0026type=Date\" loading=\"lazy\" /\u003e\n \u003c/picture\u003e\n\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhowiehz%2Fdomain-checker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhowiehz%2Fdomain-checker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhowiehz%2Fdomain-checker/lists"}