{"id":16162060,"url":"https://github.com/peterdavehello/chkdomain","last_synced_at":"2025-07-12T04:40:38.384Z","repository":{"id":60149852,"uuid":"461507151","full_name":"PeterDaveHello/chkdomain","owner":"PeterDaveHello","description":"🔍 Discover if a domain is resolvable or blocked by secure DNS and Ad-blocking services, and experience the innovative idea of DaaS - DNS as an Intelligence Service.","archived":false,"fork":false,"pushed_at":"2025-04-16T13:42:16.000Z","size":222,"stargazers_count":75,"open_issues_count":6,"forks_count":15,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-05-20T08:01:46.998Z","etag":null,"topics":["adblock","cybersecurity","dns","domain","filter","hacktoberfest","infosec","malware","osint","phishing","security","threat-intelligence"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PeterDaveHello.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"PeterDaveHello","open_collective":"peterdavehello","ko_fi":"peterdavehello","liberapay":"PeterDaveHello","issuehunt":"peterdavehello"}},"created_at":"2022-02-20T14:08:39.000Z","updated_at":"2025-05-16T12:34:24.000Z","dependencies_parsed_at":"2025-01-12T11:20:03.927Z","dependency_job_id":"26537144-b6e4-4a09-b61c-cff36f1e6d84","html_url":"https://github.com/PeterDaveHello/chkdomain","commit_stats":{"total_commits":47,"total_committers":1,"mean_commits":47.0,"dds":0.0,"last_synced_commit":"f5bc8eed233d003a10ba476cd59c9e74959db4b0"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PeterDaveHello/chkdomain","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PeterDaveHello%2Fchkdomain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PeterDaveHello%2Fchkdomain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PeterDaveHello%2Fchkdomain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PeterDaveHello%2Fchkdomain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PeterDaveHello","download_url":"https://codeload.github.com/PeterDaveHello/chkdomain/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PeterDaveHello%2Fchkdomain/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264939878,"owners_count":23686223,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["adblock","cybersecurity","dns","domain","filter","hacktoberfest","infosec","malware","osint","phishing","security","threat-intelligence"],"created_at":"2024-10-10T02:28:58.156Z","updated_at":"2025-07-12T04:40:38.332Z","avatar_url":"https://github.com/PeterDaveHello.png","language":"Shell","funding_links":["https://github.com/sponsors/PeterDaveHello","https://opencollective.com/peterdavehello","https://ko-fi.com/peterdavehello","https://liberapay.com/PeterDaveHello","https://issuehunt.io/r/peterdavehello"],"categories":[],"sub_categories":[],"readme":"# chkdomain\n\n[![Build Status](https://app.travis-ci.com/PeterDaveHello/chkdomain.svg?branch=master)](https://app.travis-ci.com/PeterDaveHello/chkdomain)\n\n`chkdomain` checks if a domain can be resolved by no-filter DNS, or has been blocked by secure/protective DNS, and advertisement/tracker-blocking DNS services. It sends queries to well-known DNS servers and checks the resolution success as a basis for determining if the domain is blocked. The tool also provides links to [OSINT](https://en.wikipedia.org/wiki/Open-source_intelligence), domain threat intelligence, and security services for the domain in question.\n\n\nThe DNS services currently used for sending queries are listed below:\n\n| **No-filter** DNS                              | **Secure** DNS                                   | **Ad/Tracker-blocking** DNS                 |\n| ---------------------------------------------- | ------------------------------------------------ | ------------------------------------------- |\n| [AdGuard][AdGuard] (`94.140.14.140`)           | [CleanBrowsing][CleanBrowsing] (`185.228.168.9`) | [AdGuard][AdGuard] (`94.140.14.14`)         |\n| [Cloudflare][Cloudflare] (`1.1.1.1`)           | [Cloudflare][Cloudflare] (`1.1.1.2`)             | [CONTROL D][CONTROL D] (`76.76.2.2`)        |\n| [dns0.eu][dns0.eu] (`193.110.81.254`)          | [Comodo][Comodo] (`8.26.56.26`)                  | [dnsforge.de][dnsforge.de] (`176.9.93.198`) |\n| [Gcore][Gcore] (`95.85.95.85`)                 | [CONTROL D][CONTROL D] (`76.76.2.1`)             | [OVPN][OVPN] (`192.165.9.157`)              |\n| [Google][Google] (`8.8.8.8`)                   | [dns0.eu][dns0.eu] (`193.110.81.0`)              | [Tiarap][Tiarap] (`188.166.206.224`)        |\n| [Hinet][Hinet] (`168.95.1.1`)                  | [UltraDNS][UltraDNS] (`156.154.70.2`)            |                                             |\n| [UltraDNS][UltraDNS] (`64.6.64.6`)             | [OpenDNS][OpenDNS] (`208.67.222.222`)            |                                             |\n| [OpenDNS][OpenDNS] (`208.67.222.2`)            | [Quad101][Quad101] (`101.101.101.101`)           |                                             |\n| [Quad9][Quad9] (`9.9.9.10`)                    | [Quad9][Quad9] (`9.9.9.9`)                       |                                             |\n| [Yandex][Yandex] (`77.88.8.1`)                 | [SafeDNS][SafeDNS] (`195.46.39.39`)              |                                             |\n|                                                | [Yandex][Yandex] (`77.88.8.2`)                   |                                             |\n\nAfter checking the domain, `chkdomain` provides direct links to the following intelligence services for more information:\n\n- [AlienVault Open Threat Exchange](https://otx.alienvault.com/)\n- [Bitdefender TrafficLight](https://trafficlight.bitdefender.com/info/)\n- [Google Safe Browsing](https://transparencyreport.google.com/safe-browsing/search)\n- [Kaspersky Threat Intelligence Portal](https://opentip.kaspersky.com/?tab=lookup)\n- [McAfee SiteAdvisor](https://siteadvisor.com/)\n- [Norton Safe Web](https://safeweb.norton.com/)\n- [OpenDNS](https://domain.opendns.com/)\n- [URLVoid](https://www.urlvoid.com/scan/)\n- [urlscan.io](https://urlscan.io/)\n- [VirusTotal](https://www.virustotal.com/gui/home/url)\n- [Whois.com](https://www.whois.com/whois/)\n- [Yandex Site safety report](https://yandex.com/safety/)\n\nIf you'd like to build up your own secure DNS, check out the [threat-hostlist](https://github.com/PeterDaveHello/threat-hostlist) repository. It contains many different threat-blocking blocklists to help you create a secure DNS service for your home, office, or elsewhere.\n\n## Usage\n\nDownload the [`chkdm`](https://github.com/PeterDaveHello/chkdomain/raw/master/chkdm) script and make it executable:\n\n```sh\n$ wget https://github.com/PeterDaveHello/chkdomain/raw/master/chkdm\n$ chmod +x chkdm\n```\n\nCheck domain by running `chkdm`:\n\n```sh\n$ ./chkdm \u003cdomain name\u003e\n```\n\nAdditionally, you can put the script in your `$PATH`, such as `/usr/local/bin`, to make it executable from anywhere.\n\n### Using Custom DNS\n\nFor custom DNS checks, create `CustomDNS.txt` in the script's directory, listing your DNS server IPs. Use # for comments:\n\n```txt\n127.0.0.1\n192.168.1.1       # Local DNS\n168.95.192.1      # Hinet DNS\n```\n\nIf you wish to use a custom file location, you can specify a custom file using `CustomDNSFile` variable before executing:\n\n```sh\nCustomDNSFile=\"/path/to/your/dnsfile.txt\" ./chkdm ipinfo.tw\n```\n\nThe script will then include these servers in its checks and provide results.\n\n## Screenshot\n\n![Screenshot](chkdomain.png)\n\n## Demo\n\n[![asciicast](https://asciinema.org/a/474151.svg)](https://asciinema.org/a/474151)\n\n## Dependency\n\nOnly a few command-line tools are needed:\n\n- awk\n- bash\n- dig\n- dirname\n- head\n- nslookup\n- readlink\n- sed\n- sort\n\nMost of the commands (`awk`, `bash`, `dirname`, `head`, `readlink`, `sed`, and `sort`) come pre-installed on common Linux distributions. To install `dig` and `nslookup`, use your package manager (e.g., `apt`, `yum`, `pacman`) to install the `dnsutils` (Debian/Ubuntu) or `bind-utils` (RHEL/CentOS, Arch/Manjaro) package.\n\n## Notice\n\nPlease be aware that domain names with records such as `0.0.0.0` or `127.0.0.1` (e.g., `0.ipinfo.tw` or `1.ipinfo.tw`) may yield incorrect results when checked with secure DNS and ad-blocking DNS services. The current detection method for blocked domains is relatively simple. We plan to improve this feature in future updates.\n\n## Additional Resources\n\nThere are also some malicious domains blocking services that don't directly provide DNS services and can't be queried via the HTTP GET method. As a result, we are unable to integrate them or list their corresponding query URLs in the check results. However, since they are provided by leading security companies and offer a web interface that allows you to manually submit a domain to retrieve the related intelligence, they are worth mentioning. The services are listed below:\n\n- FortiGuard Web Filter Lookup\n  - \u003chttps://www.fortiguard.com/webfilter\u003e\n- Trend Micro Site Safety Center\n  - \u003chttps://global.sitesafety.trendmicro.com\u003e\n- Palo Alto Networks URL filtering\n  - \u003chttps://urlfiltering.paloaltonetworks.com/\u003e\n\n## License\n\nGPL-3.0 (GNU GENERAL PUBLIC LICENSE Version 3)\n\n[AdGuard]: https://adguard-dns.com/\n[CleanBrowsing]: https://cleanbrowsing.org/\n[Cloudflare]: https://1.1.1.1/family/\n[Comodo]: https://www.comodo.com/secure-dns/\n[CONTROL D]: https://controld.com/\n[dns0.eu]: https://www.dns0.eu/\n[dnsforge.de]: https://dnsforge.de/\n[Gcore]: https://gcore.com/public-dns\n[Google]: https://developers.google.com/speed/public-dns/\n[Hinet]: https://dns.hinet.net/\n[UltraDNS]: https://www.publicdns.neustar/\n[OpenDNS]: https://www.opendns.com/\n[Quad101]: https://101.101.101.101/\n[Quad9]: https://quad9.net/\n[SafeDNS]: https://www.safedns.com/\n[OVPN]: https://www.ovpn.com/en/faq/functionality/adblock-dns\n[Tiarap]: https://tiarap.org/\n[Yandex]: https://dns.yandex.com/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeterdavehello%2Fchkdomain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpeterdavehello%2Fchkdomain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeterdavehello%2Fchkdomain/lists"}