{"id":20286399,"url":"https://github.com/antoonline/bash-script-dns-propagation-checker","last_synced_at":"2026-05-11T10:32:42.398Z","repository":{"id":160778673,"uuid":"635496410","full_name":"AntoOnline/bash-script-dns-propagation-checker","owner":"AntoOnline","description":"The script allows users to query DNS servers for a domain's record types and log the output.","archived":false,"fork":false,"pushed_at":"2023-05-08T19:28:58.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-14T08:14:08.088Z","etag":null,"topics":["bash","dns","global","propagation","records"],"latest_commit_sha":null,"homepage":"https://anto.online","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AntoOnline.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-05-02T20:26:36.000Z","updated_at":"2023-12-25T12:02:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"861fc280-6c6b-427c-bba9-633f6a4593d6","html_url":"https://github.com/AntoOnline/bash-script-dns-propagation-checker","commit_stats":{"total_commits":4,"total_committers":1,"mean_commits":4.0,"dds":0.0,"last_synced_commit":"c76a10f04f6b5b46e9cae78483fe139f33e40a4c"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AntoOnline%2Fbash-script-dns-propagation-checker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AntoOnline%2Fbash-script-dns-propagation-checker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AntoOnline%2Fbash-script-dns-propagation-checker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AntoOnline%2Fbash-script-dns-propagation-checker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AntoOnline","download_url":"https://codeload.github.com/AntoOnline/bash-script-dns-propagation-checker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241780500,"owners_count":20019061,"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":["bash","dns","global","propagation","records"],"created_at":"2024-11-14T14:33:57.124Z","updated_at":"2026-05-11T10:32:42.353Z","avatar_url":"https://github.com/AntoOnline.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DNS Query Script\n\nThis script performs DNS queries for a specified domain and record type against a list of DNS servers provided in a YAML file. It uses the `dig` command to query each DNS server in the list, and returns the results of the query.\n\n## Usage\n\n```bash\n./dns_query.sh \u003cdomain\u003e [record_type] \u003cdns_yaml_file\u003e\n```\n\n- `domain` - The domain name to query.\n- `record_type` - Optional. The type of DNS record to query for. Must be one of `A`, `AAAA`, `CNAME`, `MX`, `NS`, `PTR`, `SOA`, `SRV`, or `TXT`. If not specified, the script will default to querying for `A` records.\n- `dns_yaml_file` - Required. The YAML file containing the list of DNS servers to query.\n\n## Removing DNS servers\n\nThe script allows you to remove stale DNS servers from the list. To enable this feature, set the `remove_dns_server` variable to `y` in the script before running it.\n\n```bash\nremove_dns_server=\"n\"\n```\n\nIf a DNS server in the list cannot be reached or returns an error for the specified domain and record type, the script will automatically remove it from the list if `remove_dns_server` is set to `y`.\n\n## YAML file format\n\nThe list of DNS servers to query should be provided in a YAML file with the following format:\n\n```yaml\n- reverse: \u003creverse DNS\u003e\n  ip: \u003cIP address\u003e\n  provider: \u003cprovider name\u003e\n  country: \u003ccountry code\u003e\n```\n\n- `reverse` - The reverse DNS name for the DNS server.\n- `ip` - The IP address of the DNS server.\n- `provider` - The name of the DNS server provider.\n- `country` - The two-letter country code of the location of the DNS server.\n\nThe script comes with two sample YAML files:\n\n- `dns_servers_all.yaml` - Contains a list of DNS servers from various providers and countries.\n- `dns_servers_common.yaml` - Contains a list of commonly used DNS servers.\n\nYou can use one of these files as a starting point for your own list of DNS servers.\n\n## Dependencies\n\nThis script requires the `dig` command and the `yq` tool. If `yq` is not installed, the script will prompt the user to install it.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more information.\n\n## Want to connect?\n\nFeel free to contact me on [Twitter](https://twitter.com/OnlineAnto), [DEV Community](https://dev.to/antoonline/) or [LinkedIn](https://www.linkedin.com/in/anto-online) if you have any questions or suggestions.\n\nOr just visit my [website](https://anto.online) to see what I do.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantoonline%2Fbash-script-dns-propagation-checker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fantoonline%2Fbash-script-dns-propagation-checker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantoonline%2Fbash-script-dns-propagation-checker/lists"}