{"id":17497020,"url":"https://github.com/gionniboy/howisresolved","last_synced_at":"2025-11-06T23:03:09.773Z","repository":{"id":32044668,"uuid":"119308758","full_name":"gionniboy/howisresolved","owner":"gionniboy","description":"how is resolved a given domain from differents nameservers","archived":false,"fork":false,"pushed_at":"2022-12-08T02:03:46.000Z","size":79,"stargazers_count":8,"open_issues_count":7,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-03T10:22:51.477Z","etag":null,"topics":["dns","monitoring","nameserver","networking","python"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gionniboy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-01-28T23:46:52.000Z","updated_at":"2025-02-17T06:37:41.000Z","dependencies_parsed_at":"2023-01-14T20:23:42.597Z","dependency_job_id":null,"html_url":"https://github.com/gionniboy/howisresolved","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gionniboy/howisresolved","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gionniboy%2Fhowisresolved","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gionniboy%2Fhowisresolved/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gionniboy%2Fhowisresolved/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gionniboy%2Fhowisresolved/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gionniboy","download_url":"https://codeload.github.com/gionniboy/howisresolved/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gionniboy%2Fhowisresolved/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273666018,"owners_count":25146275,"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","status":"online","status_checked_at":"2025-09-04T02:00:08.968Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["dns","monitoring","nameserver","networking","python"],"created_at":"2024-10-19T15:09:57.311Z","updated_at":"2025-11-06T23:03:04.732Z","avatar_url":"https://github.com/gionniboy.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/gionniboy/howisresolved.svg?branch=master)](https://travis-ci.org/gionniboy/howisresolved)\n\n[![Maintainability](https://api.codeclimate.com/v1/badges/80fe92c3529f911b676b/maintainability)](https://codeclimate.com/github/gionniboy/howisresolved/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/80fe92c3529f911b676b/test_coverage)](https://codeclimate.com/github/gionniboy/howisresolved/test_coverage)\n\n[![Updates](https://pyup.io/repos/github/gionniboy/howisresolved/shield.svg)](https://pyup.io/repos/github/gionniboy/howisresolved/)\n[![Python 3](https://pyup.io/repos/github/gionniboy/howisresolved/python-3-shield.svg)](https://pyup.io/repos/github/gionniboy/howisresolved/)\n\n\n# **howisresolved**\nhow is resolved is a little python script to resolve a domain from differents nameservers.\n\n\n### **how it works**\n\nDNS list is passed with a simple txt file.\n\nBy default it is dnslist.txt and contain six major dns.\n\n- 1.1.1.1 - CloudFlare\n- 4.2.2.1 - Level3\n- 8.8.8.8 - Google\n- 9.9.9.9 - Quad9\n- 64.6.64.6 - Verisign\n- 208.67.222.222 - OpenDNS\n\nIf the dnsfile.txt is not present the script download a list of valid nameservers from [public-dns.info](https://public-dns.info/).\n\nAn output on logfile is generated.\nOn cli too if debug is active. [check logging.json]\n\n**Python3 required**.\n\n### To the Users\nInstall dependencies using Pipenv.\n```console\n$ pipenv --three install\n```\n\nFor a bit of info\n```console\n$ pipenv run python howisresolved.py --help\n```\n\n#### Example\n```console\n$ pipenv run python howisresolved.py --domain python.org --expect 23.253.135.79\n$ pipenv run python howisresolved.py --domain python.org --dnsfile dnslist.txt --dnsrand 6 --expect 23.253.135.79\n$ pipenv run python howisresolved.py --domain python.org --dnsrand 6 --expect 23.253.135.79\n\nrandom nameserver: ['4.2.2.1', '8.8.8.8', '9.9.9.9', '1.1.1.1', '208.67.222.222', '64.6.64.6']\n\npython.org IP 23.253.135.79 resolved by 4.2.2.1\npython.org IP 23.253.135.79 resolved by 8.8.8.8\npython.org IP 23.253.135.79 resolved by 9.9.9.9\npython.org IP 23.253.135.79 resolved by 1.1.1.1\npython.org IP 23.253.135.79 resolved by 208.67.222.222\npython.org IP 23.253.135.79 resolved by 64.6.64.6\n```\n\n## To Contributors\nInstall dev dipendencies to avoid useless issues.\n\n```console\n$ pipenv --three install -d\n```\n\nTo launch tests with coverage\n```console\n$ pipenv run pytest -v --cov=./\n```\n\nor use pipenv shortcut\n```console\n$ pipenv run tests\n```\n\nissue\u0026\u0026PR || GTFO\n\nenjoy.\n\n### **License**\nThis project is licensed under the BSD 3-Clause License - see the [LICENSE](LICENSE) file for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgionniboy%2Fhowisresolved","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgionniboy%2Fhowisresolved","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgionniboy%2Fhowisresolved/lists"}