{"id":13588902,"url":"https://github.com/jeliasson/dns-propagation-checker","last_synced_at":"2025-04-08T06:32:57.971Z","repository":{"id":47657044,"uuid":"231777271","full_name":"jeliasson/dns-propagation-checker","owner":"jeliasson","description":"Check propagation of DNS records from one or many Name Servers. Useful for validating a DNS zone during migration.","archived":true,"fork":false,"pushed_at":"2021-08-19T12:31:03.000Z","size":347,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-06T08:43:23.286Z","etag":null,"topics":["dig","dns","dns-propagation","docker","docker-compose","nodejs","nuxtjs","vuejs"],"latest_commit_sha":null,"homepage":"","language":"Vue","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/jeliasson.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}},"created_at":"2020-01-04T14:32:43.000Z","updated_at":"2023-01-28T07:07:56.000Z","dependencies_parsed_at":"2022-09-07T04:53:06.468Z","dependency_job_id":null,"html_url":"https://github.com/jeliasson/dns-propagation-checker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeliasson%2Fdns-propagation-checker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeliasson%2Fdns-propagation-checker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeliasson%2Fdns-propagation-checker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeliasson%2Fdns-propagation-checker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jeliasson","download_url":"https://codeload.github.com/jeliasson/dns-propagation-checker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247792222,"owners_count":20996879,"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":["dig","dns","dns-propagation","docker","docker-compose","nodejs","nuxtjs","vuejs"],"created_at":"2024-08-01T15:07:00.879Z","updated_at":"2025-04-08T06:32:52.933Z","avatar_url":"https://github.com/jeliasson.png","language":"Vue","funding_links":[],"categories":["Vue"],"sub_categories":[],"readme":"# DNS Propagation Checker\n\n\u003e :warning: This repository has been discontinued. Feel free to take inspiration from this project to build something awesome. \u003c3\n\n\n[![Build Status on master](https://travis-ci.com/jeliasson/dns-propagation-checker.svg?branch=master)](https://travis-ci.com/jeliasson/dns-propagation-checker) [![Issues](https://img.shields.io/github/issues-raw/jeliasson/dns-propagation-checker)](https://github.com/jeliasson/dns-propagation-checker)\n\nDNS Propagation Checker is a web application that allows you to check multiple DNS records against one or many Name Servers (NS). This can be useful before changing Name Servers for a Internet Domain from one hosting to another, by validating that a DNS zone resolves correctly on all resolvers before proceeding with the migration.\n\n## Features\n\n-   Check multiple DNS records against multiple resolvers\n-   Persistant configuration of records, servers and settings based of url\n-   Color indication of matching DNS records, even if they come back in different order.\n\nYou can run it locally using [docker](#Docker), [docker-compose](#Docker-Compose), [node](#Node) or try out the [online demo](https://dns-propagation-checker.eliasson.xyz).\n\n![https://github.com/jeliasson/dns-propagation-checker/blob/dev/src/assets/img/screenshot.png?raw=true](https://github.com/jeliasson/dns-propagation-checker/blob/dev/src/assets/img/screenshot.png?raw=true)\n\n### Build Status\n\n| Branch   | Status                                                                                                                                                          |\n| -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `master` | [![Build Status on master](https://travis-ci.com/jeliasson/dns-propagation-checker.svg?branch=master)](https://travis-ci.com/jeliasson/dns-propagation-checker) |\n\n## Start\n\nStart the application using either [docker](#Docker), [docker-compose](#Docker-Compose) or [node](#Node) below. Regardless of choice, the application will by default listen on [`http://localhost:3000`](http://localhost:3000).\n\n### Docker\n\nRun `jeliasson/dns-propagation-checker` which is build on [Docker Hub](https://hub.docker.com/r/jeliasson/dns-propagation-checker).\n\n```docker\ndocker run -it -p 3000:3000 jeliasson/dns-propagation-checker\n```\n\n### Docker - Build \u0026 Run\n\nBuild and run a docker container\n\n```bash\n# Clone repo\ngit clone https://github.com/jeliasson/dns-propagation-checker.git\n\n# Enter created directory\ncd dns-propagation-checker\n\n# Build\ndocker built -t dns-propagation-checker .\n\n# Start\ndocker run -it -p 3000:3000 dns-propagation-checker\n```\n\n### Docker Compose\n\nBuild and run a docker container using docker-compose.\n\n```bash\n# Clone repo\ngit clone https://github.com/jeliasson/dns-propagation-checker.git\n\n# Enter created directory\ncd dns-propagation-checker\n\n# Start\ndocker-compose up\n```\n\n### Node\n\nMake sure that you have the Linux utility `dig` installed. See [Under the hood](#Under-the-hood) for more details.\n\n```bash\n# Clone repo\ngit clone https://github.com/jeliasson/dns-propagation-checker.git\n\n# Enter created directory\ncd dns-propagation-checker\n\n# Install yarn deps\nyarn install\n\n# Start\nyarn start\n```\n\n## Contribute\n\nFeel free to create a new project and let me know about it. Might join in :)\n\n### Under the hood\n\nFirst off, it's not pretty and was done in a hurry. It's using the Linux utitlity [`dig`](\u003chttps://en.wikipedia.org/wiki/Dig_(command)\u003e) for querying DNS servers, and using [Vue](https://www.vuejs.org) and [Nuxt](https://www.nuxtjs.com) to serve the front- and backend requests and [`shelljs`](https://github.com/shelljs/shelljs) to interact with dig.\n\nThe client side application can be found in `/pages/index.vue`. It's saving the state/settings on client side by changing the url, containing the url parameter `settings` - which is essentially a base64 encoded object holding records and servers. For now, and just because we can, it's using this base64 object when querying the `/api/query` endpoint.\n\nOn the server side of things in `/api/routes/query.js`, we take in posted data and making sure it's not containing any nasty user input. We construct a `dig` command, run it, check if there any difference between earlier resolves on that record, and finally respond with a JSON object.\n\nRequests to `/api/query` is being rate limited to `10 requests` over `60 seconds`.\n\n### Todos\n\n-   Add maximum of servers and records that can be queries on a single run\n-   Enable/Disable server and record (server side processing)\n-   Prettier interface\n\n### Get started\n\nFork the project, clone it, and make awesome updates. Send your Pull Request to origin :)\n\n```bash\n# Clone repo\ngit clone https://github.com/jeliasson/dns-propagation-checker.git\n\n# Enter created directory\ncd dns-propagation-checker\n\n# Enter source directory\ncd src\n\n# Install yarn deps\nyarn install\n\n# Start\nyarn dev            # Listening on localhost:3000 with hot reload\n```\n\n# Licence\n\n[MIT](https://choosealicense.com/licenses/mit/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeliasson%2Fdns-propagation-checker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjeliasson%2Fdns-propagation-checker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeliasson%2Fdns-propagation-checker/lists"}