├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── config.yml │ ├── REMOVAL.yml │ ├── NEW_ADDITION.yml │ └── UPDATE.yml └── PULL_REQUEST_TEMPLATE │ └── PULL_REQUEST_TEMPLATE.yml ├── contributing.md ├── code-of-conduct.md ├── LICENSE └── README.md /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | readme.md merge=union 3 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | --- 2 | blank_issues_enabled: false 3 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/REMOVAL.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: Deletion from list 3 | description: Suggest deletion of a software from the list 4 | title: '[REMOVE]: "Software name"' 5 | labels: ["remove", "triage"] 6 | assignees: 7 | - mylespat 8 | - gjherbiet 9 | - thymen 10 | body: 11 | - type: input 12 | id: name 13 | attributes: 14 | label: Software name 15 | description: Complete name of the software 16 | validations: 17 | required: true 18 | - type: textarea 19 | id: motivation 20 | attributes: 21 | label: Motivation 22 | description: Motivate the deletion of the software from the list 23 | validations: 24 | required: true 25 | - type: checkboxes 26 | id: checklist 27 | attributes: 28 | label: Request checklist 29 | description: > 30 | Check the following boxes to ensure you have completed each step 31 | before submitting your suggestion 32 | options: 33 | - label: I have checked for other similar issues and pull requests. 34 | - label: > 35 | I have replaced "Software name" by the actual name of the 36 | software in the title 37 | - label: I have filled all mandatory fields 38 | validations: 39 | required: true 40 | -------------------------------------------------------------------------------- /contributing.md: -------------------------------------------------------------------------------- 1 | # Contribution Guidelines 2 | 3 | Please note that this project is released with a 4 | [Contributor Code of Conduct](code-of-conduct.md). By participating in this 5 | project you agree to abide by its terms. 6 | 7 | --- 8 | 9 | ## Pull Request Guidelines 10 | 11 | Please ensure your pull request adheres to the following guidelines: 12 | 13 | - Search previous suggestions to make sure your suggestion isn't a duplicate. 14 | - Make sure each list item is useful before adding it. 15 | - Create individual pull requests/issues for each suggestion. 16 | - Use [title-casing](http://titlecapitalization.com) (AP style) in the following format: `[List Name](link)` 17 | - Link additions should be added in alphabetical order in the relevant category. 18 | - New categories or changes to the existing categorization are welcome but shall be appropriately notified. 19 | - Check your spelling and grammar. 20 | - Make sure your text editor is set to remove trailing whitespace. 21 | - The pull request and commit should have a useful title. 22 | - Annotate your PR to clarify what you did if the diff is confusing. 23 | 24 | Thank you for your suggestions! 25 | 26 | 27 | ## Updating your PR 28 | 29 | A lot of times, making a PR adhere to the standards above can be difficult. 30 | If the maintainers notice anything that we'd like changed, we'll ask you to 31 | edit your PR before we merge it. There's no need to open a new PR, just edit 32 | the existing one. 33 | 34 | If you're not sure how to do that, 35 | [here is a guide](https://github.com/RichardLitt/knowledge/blob/master/github/amending-a-commit-guide.md) 36 | on the different ways you can update your PR so that we can merge it. 37 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/NEW_ADDITION.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: New addition to list 3 | description: Suggest addition of a new software to the list 4 | title: '[ADD]: "Software name"' 5 | labels: ["add", "triage"] 6 | assignees: 7 | - mylespat 8 | - gjherbiet 9 | - thymen 10 | body: 11 | - type: input 12 | id: name 13 | attributes: 14 | label: Software name 15 | description: Complete name of the software 16 | validations: 17 | required: true 18 | - type: input 19 | id: link 20 | attributes: 21 | label: Software webpage 22 | description: URL of the software web page 23 | validations: 24 | required: true 25 | - type: input 26 | id: description 27 | attributes: 28 | label: Software description 29 | description: Short description of the software 30 | validations: 31 | required: true 32 | - type: input 33 | id: organization 34 | attributes: 35 | label: Editing organization 36 | description: Organization that edits the software 37 | validations: 38 | required: false 39 | - type: input 40 | id: license 41 | attributes: 42 | label: Software license 43 | description: License under which the software is licensed 44 | validations: 45 | required: false 46 | - type: input 47 | id: category-name 48 | attributes: 49 | label: Category name 50 | description: Suggested category for the software 51 | validations: 52 | required: true 53 | - type: checkboxes 54 | id: category-new 55 | attributes: 56 | label: New category 57 | description: Is the suggested category a new category? 58 | options: 59 | - label: Yes, it's a new category 60 | - label: No, it's an existing category 61 | validations: 62 | required: true 63 | - type: textarea 64 | id: motivation 65 | attributes: 66 | label: Motivation 67 | description: Motivate the addition of the software to the list 68 | validations: 69 | required: false 70 | - type: checkboxes 71 | id: checklist 72 | attributes: 73 | label: Request checklist 74 | description: > 75 | Check the following boxes to ensure you have completed each step 76 | before submitting your suggestion 77 | options: 78 | - label: I have checked for other similar issues and pull requests. 79 | - label: > 80 | I have replaced "Software name" by the actual name of the 81 | software in the title 82 | - label: I have filled all mandatory fields 83 | validations: 84 | required: true 85 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/UPDATE.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: Update existing software in the list 3 | description: Suggest update of an existing software in the list 4 | title: '[UPDATE]: "Software name"' 5 | labels: ["update", "triage"] 6 | assignees: 7 | - mylespat 8 | - gjherbiet 9 | - thymen 10 | body: 11 | - type: markdown 12 | attributes: 13 | value: > 14 | **Please fill at least the name of the software and the 15 | fields for which you suggest an update.** 16 | - type: input 17 | id: name 18 | attributes: 19 | label: Software name 20 | description: Complete name of the software 21 | validations: 22 | required: true 23 | - type: input 24 | id: link 25 | attributes: 26 | label: Software webpage 27 | description: URL of the software web page 28 | validations: 29 | required: false 30 | - type: input 31 | id: description 32 | attributes: 33 | label: Software description 34 | description: Short description of the software 35 | validations: 36 | required: false 37 | - type: input 38 | id: organization 39 | attributes: 40 | label: Editing organization 41 | description: Organization that edits the software 42 | validations: 43 | required: false 44 | - type: input 45 | id: license 46 | attributes: 47 | label: Software license 48 | description: License under which the software is licensed 49 | validations: 50 | required: false 51 | - type: input 52 | id: category-name 53 | attributes: 54 | label: Category name 55 | description: Suggested category for the software 56 | validations: 57 | required: false 58 | - type: checkboxes 59 | id: category-new 60 | attributes: 61 | label: New category 62 | description: Is the suggested category a new category? 63 | options: 64 | - label: Yes, it's a new category 65 | - label: No, it's an existing category 66 | validations: 67 | required: false 68 | - type: textarea 69 | id: motivation 70 | attributes: 71 | label: Motivation 72 | description: Motivate the update of the software in the list 73 | validations: 74 | required: false 75 | - type: checkboxes 76 | id: checklist 77 | attributes: 78 | label: Request checklist 79 | description: > 80 | Check the following boxes to ensure you have completed each step 81 | before submitting your suggestion 82 | options: 83 | - label: I have checked for other similar issues and pull requests. 84 | - label: > 85 | I have replaced "Software name" by the actual name of the 86 | software in the title 87 | - label: I have filled all mandatory fields 88 | validations: 89 | required: true 90 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE/PULL_REQUEST_TEMPLATE.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: Awesome DNS pull request 3 | description: GitHub pull request for modification of Awsesome DNS list 4 | title: '[ADD/DELETE/UPDATE]: "Software name"' 5 | labels: ["pr", "triage"] 6 | assignees: 7 | - mylespat 8 | - gjherbiet 9 | - thymen 10 | body: 11 | - type: dropdown 12 | id: type 13 | attributes: 14 | label: Pull request type 15 | description: > 16 | What change best describes the content of the pull request? 17 | options: 18 | - New addition 19 | - Deletion 20 | - Update 21 | validations: 22 | required: true 23 | - type: markdown 24 | attributes: 25 | value: > 26 | **Please fill at least the name of the software and the 27 | fields for which you suggest an update.** 28 | - type: input 29 | id: name 30 | attributes: 31 | label: Software name 32 | description: Complete name of the software 33 | validations: 34 | required: true 35 | - type: input 36 | id: link 37 | attributes: 38 | label: Software webpage 39 | description: URL of the software web page 40 | validations: 41 | required: false 42 | - type: input 43 | id: description 44 | attributes: 45 | label: Software description 46 | description: Short description of the software 47 | validations: 48 | required: false 49 | - type: input 50 | id: organization 51 | attributes: 52 | label: Editing organization 53 | description: Organization that edits the software 54 | validations: 55 | required: false 56 | - type: input 57 | id: license 58 | attributes: 59 | label: Software license 60 | description: License under which the software is licensed 61 | validations: 62 | required: false 63 | - type: input 64 | id: category-name 65 | attributes: 66 | label: Category name 67 | description: Suggested category for the software 68 | validations: 69 | required: false 70 | - type: checkboxes 71 | id: category-new 72 | attributes: 73 | label: New category 74 | description: Is the suggested category a new category? 75 | options: 76 | - label: Yes, it's a new category 77 | - label: No, it's an existing category 78 | validations: 79 | required: false 80 | - type: textarea 81 | id: motivation 82 | attributes: 83 | label: Motivation 84 | description: Motivate the changes in the pull request 85 | validations: 86 | required: false 87 | - type: checkboxes 88 | id: checklist 89 | attributes: 90 | label: Request checklist 91 | description: > 92 | Check the following boxes to ensure you have completed each step 93 | before submitting your suggestion 94 | options: 95 | - label: I have checked for other similar pull requests and issues 96 | - label: I have set the correct type in the pull request title 97 | - label: > 98 | I have replaced "Software name" by the actual name of the 99 | software in the title 100 | - label: I have filled all mandatory fields 101 | validations: 102 | required: true 103 | -------------------------------------------------------------------------------- /code-of-conduct.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as 6 | contributors and maintainers pledge to making participation in our project and 7 | our community a harassment-free experience for everyone, regardless of age, body 8 | size, disability, ethnicity, gender identity and expression, level of experience, 9 | nationality, personal appearance, race, religion, or sexual identity and 10 | orientation. 11 | 12 | ## Our Standards 13 | 14 | Examples of behavior that contributes to creating a positive environment 15 | include: 16 | 17 | * Using welcoming and inclusive language 18 | * Being respectful of differing viewpoints and experiences 19 | * Gracefully accepting constructive criticism 20 | * Focusing on what is best for the community 21 | * Showing empathy towards other community members 22 | 23 | Examples of unacceptable behavior by participants include: 24 | 25 | * The use of sexualized language or imagery and unwelcome sexual attention or 26 | advances 27 | * Trolling, insulting/derogatory comments, and personal or political attacks 28 | * Public or private harassment 29 | * Publishing others' private information, such as a physical or electronic 30 | address, without explicit permission 31 | * Other conduct which could reasonably be considered inappropriate in a 32 | professional setting 33 | 34 | ## Our Responsibilities 35 | 36 | Project maintainers are responsible for clarifying the standards of acceptable 37 | behavior and are expected to take appropriate and fair corrective action in 38 | response to any instances of unacceptable behavior. 39 | 40 | Project maintainers have the right and responsibility to remove, edit, or 41 | reject comments, commits, code, wiki edits, issues, and other contributions 42 | that are not aligned to this Code of Conduct, or to ban temporarily or 43 | permanently any contributor for other behaviors that they deem inappropriate, 44 | threatening, offensive, or harmful. 45 | 46 | ## Scope 47 | 48 | This Code of Conduct applies both within project spaces and in public spaces 49 | when an individual is representing the project or its community. Examples of 50 | representing a project or community include using an official project e-mail 51 | address, posting via an official social media account, or acting as an appointed 52 | representative at an online or offline event. Representation of a project may be 53 | further defined and clarified by project maintainers. 54 | 55 | ## Enforcement 56 | 57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 58 | reported by contacting the project team at secretariat@centr.org. All 59 | complaints will be reviewed and investigated and will result in a response that 60 | is deemed necessary and appropriate to the circumstances. The project team is 61 | obligated to maintain confidentiality with regard to the reporter of an incident. 62 | Further details of specific enforcement policies may be posted separately. 63 | 64 | Project maintainers who do not follow or enforce the Code of Conduct in good 65 | faith may face temporary or permanent repercussions as determined by other 66 | members of the project's leadership. 67 | 68 | ## Attribution 69 | 70 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, 71 | available at [http://contributor-covenant.org/version/1/4][version] 72 | 73 | [homepage]: http://contributor-covenant.org 74 | [version]: http://contributor-covenant.org/version/1/4/ 75 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Creative Commons Legal Code 2 | 3 | CC0 1.0 Universal 4 | 5 | CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE 6 | LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN 7 | ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS 8 | INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES 9 | REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS 10 | PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM 11 | THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED 12 | HEREUNDER. 13 | 14 | Statement of Purpose 15 | 16 | The laws of most jurisdictions throughout the world automatically confer 17 | exclusive Copyright and Related Rights (defined below) upon the creator 18 | and subsequent owner(s) (each and all, an "owner") of an original work of 19 | authorship and/or a database (each, a "Work"). 20 | 21 | Certain owners wish to permanently relinquish those rights to a Work for 22 | the purpose of contributing to a commons of creative, cultural and 23 | scientific works ("Commons") that the public can reliably and without fear 24 | of later claims of infringement build upon, modify, incorporate in other 25 | works, reuse and redistribute as freely as possible in any form whatsoever 26 | and for any purposes, including without limitation commercial purposes. 27 | These owners may contribute to the Commons to promote the ideal of a free 28 | culture and the further production of creative, cultural and scientific 29 | works, or to gain reputation or greater distribution for their Work in 30 | part through the use and efforts of others. 31 | 32 | For these and/or other purposes and motivations, and without any 33 | expectation of additional consideration or compensation, the person 34 | associating CC0 with a Work (the "Affirmer"), to the extent that he or she 35 | is an owner of Copyright and Related Rights in the Work, voluntarily 36 | elects to apply CC0 to the Work and publicly distribute the Work under its 37 | terms, with knowledge of his or her Copyright and Related Rights in the 38 | Work and the meaning and intended legal effect of CC0 on those rights. 39 | 40 | 1. Copyright and Related Rights. A Work made available under CC0 may be 41 | protected by copyright and related or neighboring rights ("Copyright and 42 | Related Rights"). Copyright and Related Rights include, but are not 43 | limited to, the following: 44 | 45 | i. the right to reproduce, adapt, distribute, perform, display, 46 | communicate, and translate a Work; 47 | ii. moral rights retained by the original author(s) and/or performer(s); 48 | iii. publicity and privacy rights pertaining to a person's image or 49 | likeness depicted in a Work; 50 | iv. rights protecting against unfair competition in regards to a Work, 51 | subject to the limitations in paragraph 4(a), below; 52 | v. rights protecting the extraction, dissemination, use and reuse of data 53 | in a Work; 54 | vi. database rights (such as those arising under Directive 96/9/EC of the 55 | European Parliament and of the Council of 11 March 1996 on the legal 56 | protection of databases, and under any national implementation 57 | thereof, including any amended or successor version of such 58 | directive); and 59 | vii. other similar, equivalent or corresponding rights throughout the 60 | world based on applicable law or treaty, and any national 61 | implementations thereof. 62 | 63 | 2. Waiver. To the greatest extent permitted by, but not in contravention 64 | of, applicable law, Affirmer hereby overtly, fully, permanently, 65 | irrevocably and unconditionally waives, abandons, and surrenders all of 66 | Affirmer's Copyright and Related Rights and associated claims and causes 67 | of action, whether now known or unknown (including existing as well as 68 | future claims and causes of action), in the Work (i) in all territories 69 | worldwide, (ii) for the maximum duration provided by applicable law or 70 | treaty (including future time extensions), (iii) in any current or future 71 | medium and for any number of copies, and (iv) for any purpose whatsoever, 72 | including without limitation commercial, advertising or promotional 73 | purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each 74 | member of the public at large and to the detriment of Affirmer's heirs and 75 | successors, fully intending that such Waiver shall not be subject to 76 | revocation, rescission, cancellation, termination, or any other legal or 77 | equitable action to disrupt the quiet enjoyment of the Work by the public 78 | as contemplated by Affirmer's express Statement of Purpose. 79 | 80 | 3. Public License Fallback. Should any part of the Waiver for any reason 81 | be judged legally invalid or ineffective under applicable law, then the 82 | Waiver shall be preserved to the maximum extent permitted taking into 83 | account Affirmer's express Statement of Purpose. In addition, to the 84 | extent the Waiver is so judged Affirmer hereby grants to each affected 85 | person a royalty-free, non transferable, non sublicensable, non exclusive, 86 | irrevocable and unconditional license to exercise Affirmer's Copyright and 87 | Related Rights in the Work (i) in all territories worldwide, (ii) for the 88 | maximum duration provided by applicable law or treaty (including future 89 | time extensions), (iii) in any current or future medium and for any number 90 | of copies, and (iv) for any purpose whatsoever, including without 91 | limitation commercial, advertising or promotional purposes (the 92 | "License"). The License shall be deemed effective as of the date CC0 was 93 | applied by Affirmer to the Work. Should any part of the License for any 94 | reason be judged legally invalid or ineffective under applicable law, such 95 | partial invalidity or ineffectiveness shall not invalidate the remainder 96 | of the License, and in such case Affirmer hereby affirms that he or she 97 | will not (i) exercise any of his or her remaining Copyright and Related 98 | Rights in the Work or (ii) assert any associated claims and causes of 99 | action with respect to the Work, in either case contrary to Affirmer's 100 | express Statement of Purpose. 101 | 102 | 4. Limitations and Disclaimers. 103 | 104 | a. No trademark or patent rights held by Affirmer are waived, abandoned, 105 | surrendered, licensed or otherwise affected by this document. 106 | b. Affirmer offers the Work as-is and makes no representations or 107 | warranties of any kind concerning the Work, express, implied, 108 | statutory or otherwise, including without limitation warranties of 109 | title, merchantability, fitness for a particular purpose, non 110 | infringement, or the absence of latent or other defects, accuracy, or 111 | the present or absence of errors, whether or not discoverable, all to 112 | the greatest extent permissible under applicable law. 113 | c. Affirmer disclaims responsibility for clearing rights of other persons 114 | that may apply to the Work or any use thereof, including without 115 | limitation any person's Copyright and Related Rights in the Work. 116 | Further, Affirmer disclaims responsibility for obtaining any necessary 117 | consents, permissions or other rights required for any use of the 118 | Work. 119 | d. Affirmer understands and acknowledges that Creative Commons is not a 120 | party to this document and has no duty or obligation with respect to 121 | this CC0 or use of the Work. 122 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Awesome DNS [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) 2 | 3 | > A curated list of Domain Name System (DNS) related tools. 4 | 5 | This list supersedes CENTR R&D projects table with a broader scope of all useful resources for DNS enthusiasts and professionals. 6 | 7 | ## Contents 8 | 9 | - [Abuse detection](#abuse-detection) 10 | - [Authoritative servers](#authoritative-servers) 11 | - [Crawlers](#crawlers) 12 | - [Data validation](#data-validation) 13 | - [DNSSEC](#dnssec) 14 | - [Education](#education) 15 | - [Resolvers](#resolvers) 16 | - [Testing and monitoring](#testing-and-monitoring) 17 | 18 | 19 | 20 | ## Abuse detection 21 | 22 | - [LogoMotive](https://logomotive.sidnlabs.nl/) - Detects logos on websites and provides insights into logos (mis)use. [![License](https://img.shields.io/badge/License-Custom-blue.svg)](https://logomotive.sidnlabs.nl/downloads/SIDN_LogoMotive_Software_Community_License_v1.pdf) ![Maintained: stalled](https://img.shields.io/badge/Maintained-stalled-orange) 23 | - [RegCheck](https://www.sidnlabs.nl/en/news-and-blogs/dns-belgium-and-sidn-collaborate-on-ml-project-aimed-at-detecting-suspect-domain-name-registrations) - Machine learning library to assess the risk of domain name registrations. ![License](https://img.shields.io/badge/License-Custom-blue.svg) ![Maintained: no](https://img.shields.io/badge/Maintained-yes-green) 24 | 25 | ## Authoritative servers 26 | 27 | - [BIND](https://www.isc.org/bind/) - Flexible, full-featured DNS system. [![License: MPL 2.0](https://img.shields.io/badge/License-MPL_2.0-blue.svg)](https://opensource.org/licenses/MPL-2.0) ![Maintained: yes](https://img.shields.io/badge/Maintained-yes-green) 28 | - [Drink](https://framagit.org/bortzmeyer/drink) - An experimental authoritative name server (DNS server), intended for dynamic answers. [![License: GPL v2](https://img.shields.io/badge/License-GPLv2-blue.svg)](https://www.gnu.org/licenses/gpl-2.0.en.html) ![Maintained: yes](https://img.shields.io/badge/Maintained-yes-green) 29 | - [Knot DNS](https://www.knot-dns.cz) - High-performance authoritative DNS server. [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) ![Maintained: yes](https://img.shields.io/badge/Maintained-yes-green) 30 | - [NSD](https://nlnetlabs.nl/projects/nsd/about/) - Authoritative DNS name server for environments where speed, reliability, stability and security are of high importance. [![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) ![Maintained: yes](https://img.shields.io/badge/Maintained-yes-green) 31 | - [PowerDNS Authoritative](https://www.powerdns.com/auth.html) - Authoritative DNS name server with databases and scripting languages support. [![License: GPL v2](https://img.shields.io/badge/License-GPLv2-blue.svg)](https://www.gnu.org/licenses/gpl-2.0.en.html) ![Maintained: yes](https://img.shields.io/badge/Maintained-yes-green) 32 | - [YADIFA](https://www.yadifa.eu) - Clean room implementation with small memory footprint. [![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) ![Maintained: yes](https://img.shields.io/badge/Maintained-yes-green) 33 | 34 | ## Crawlers 35 | 36 | - [DNS crawler (.cz)](https://gitlab.labs.nic.cz/adam/dns-crawler) - DNS crawler for getting info about a huge number of DNS domains. [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) ![Maintained: yes](https://img.shields.io/badge/Maintained-yes-green) 37 | - [Mercator](https://github.com/DNSBelgium/mercator) - An Open Source robust and scalable crawler for collecting information on the usage of domain names. [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) ![Maintained: yes](https://img.shields.io/badge/Maintained-yes-green) 38 | - [Signs of Life](https://github.com/CENTRprojects/Signs-of-life) - Domain name crawler tool used in CENTR ![Maintained: yes](https://img.shields.io/badge/Maintained-yes-green) 39 | 40 | ## Data validation 41 | 42 | - [OpenPAQ](https://openpaq.de/) - Validates postal addresses to ensure data accuracy and integrity. Its core strength is handling real-world inputs with abbreviations, variants, extras, and typos. [![License: AGPL](https://img.shields.io/badge/License-AGPL-blue)](https://www.gnu.org/licenses/agpl-3.0.html.en) ![Maintained: yes](https://img.shields.io/badge/Maintained-yes-green) 43 | 44 | ## DNSSEC 45 | 46 | - [cascade](https://github.com/NLnetLabs/cascade) - A friendly DNSSEC signing solution: sensible defaults, controllability, observability and flexibility written in Rust. [![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) ![Maintained: yes](https://img.shields.io/badge/Maintained-yes-green) 47 | - [DNSViz](https://dnsviz.net) - DNSSEC-signed zone status analysis and visualisation. [![License: GPL v2](https://img.shields.io/badge/License-GPLv2-blue.svg)](https://www.gnu.org/licenses/gpl-2.0.en.html) ![Maintained: yes](https://img.shields.io/badge/Maintained-yes-green) 48 | - [LDNS](https://nlnetlabs.nl/projects/ldns/about/) - C Library and command-line tools to simplify DNS and DNSSEC operations. [![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) ![Maintained: yes](https://img.shields.io/badge/Maintained-yes-green) 49 | - [OpenDNSSEC](https://www.opendnssec.org) - Policy-based zone signer that automates the process of keeping track of DNSSEC keys and the signing of zones. [![License](https://img.shields.io/badge/License-BSD_2--Clause-blue.svg)](https://opensource.org/licenses/BSD-2-Clause) ![Maintained: yes](https://img.shields.io/badge/Maintained-yes-green) 50 | - [SoftHSM](https://www.opendnssec.org/softhsm/) - Software implementation of a cryptographic store accessible through a PKCS#11 interface. [![License](https://img.shields.io/badge/License-BSD_2--Clause-blue.svg)](https://opensource.org/licenses/BSD-2-Clause) ![Maintained: yes](https://img.shields.io/badge/Maintained-yes-green) 51 | - [validns](https://codeberg.org/DNS-OARC/validns) - DNS and DNSSEC zone file validator. [![License](https://img.shields.io/badge/License-BSD_2--Clause-blue.svg)](https://opensource.org/licenses/BSD-2-Clause) ![Maintained: yes](https://img.shields.io/badge/Maintained-yes-green) 52 | 53 | ## Education 54 | 55 | - [EduDig](https://edudig.se/) - A web-based "dig" tool that helps to understand DNS and dig. [![License: MIT](https://img.shields.io/badge/License-MPL_2.0-blue.svg)](https://opensource.org/license/MIT) ![Maintained: yes](https://img.shields.io/badge/Maintained-yes-green) 56 | 57 | ## Resolvers 58 | 59 | - [BIND](https://www.isc.org/bind/) - Flexible, full-featured DNS system. [![License: MPL 2.0](https://img.shields.io/badge/License-MPL_2.0-blue.svg)](https://opensource.org/licenses/MPL-2.0) ![Maintained: yes](https://img.shields.io/badge/Maintained-yes-green) 60 | - [Knot Resolver](https://www.knot-resolver.cz) - A caching DNS resolver scalable from huge resolver farms down to home network routers. [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) ![Maintained: yes](https://img.shields.io/badge/Maintained-yes-green) 61 | - [PowerDNS Recursor](https://www.powerdns.com/recursor.html) - High-end, high-performance resolving name server with multi-processor and scripting support. [![License: GPL v2](https://img.shields.io/badge/License-GPLv2-blue.svg)](https://www.gnu.org/licenses/gpl-2.0.en.html) ![Maintained: yes](https://img.shields.io/badge/Maintained-yes-green) 62 | - [Unbound](https://nlnetlabs.nl/projects/unbound/about/) - A validating, recursive, caching DNS resolver designed to be fast and lean. [![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) ![Maintained: yes](https://img.shields.io/badge/Maintained-yes-green) 63 | 64 | ## Testing and monitoring 65 | 66 | - [blaeu](https://framagit.org/bortzmeyer/blaeu) - Programs to create distributed Internet measurements on the network of RIPE Atlas probes. [![License](https://img.shields.io/badge/License-BSD_2--Clause-blue.svg)](https://opensource.org/licenses/BSD-2-Clause) ![Maintained: yes](https://img.shields.io/badge/Maintained-yes-green) 67 | - [check_dns_soa](https://framagit.org/bortzmeyer/check_dns_soa) - Nagios (or compatible, like Icinga) plugin to monitor all the name servers of a DNS zone. [![License](https://img.shields.io/badge/License-BSD_2--Clause-blue.svg)](https://opensource.org/licenses/BSD-2-Clause) ![Maintained: stalled](https://img.shields.io/badge/Maintained-stalled-orange) 68 | - [check-soa](https://framagit.org/bortzmeyer/check-soa) - A simple command-line DNS testing tool. [![License](https://img.shields.io/badge/License-BSD_2--Clause-blue.svg)](https://opensource.org/licenses/BSD-2-Clause) ![Maintained: yes](https://img.shields.io/badge/Maintained-yes-green) 69 | - [dns-lg](https://framagit.org/bortzmeyer/dns-lg) - DNS Looking Glass. [![License](https://img.shields.io/badge/License-BSD_2--Clause-blue.svg)](https://opensource.org/licenses/BSD-2-Clause) ![Maintained: yes](https://img.shields.io/badge/Maintained-yes-green) 70 | - [dnssoftver](https://github.com/yevheniya-nosyk/dnssoftver/) - A tool to fingerprint DNS resolver software. [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) ![Maintained: yes](https://img.shields.io/badge/Maintained-yes-green) 71 | - [DNS Workbench](https://workbench.sidnlabs.nl/) - Test multiple (authoritative) name server implementations. [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0.en.html) ![Maintained: stalled](https://img.shields.io/badge/Maintained-stalled-orange) 72 | - [ENTRADA](https://entrada.sidnlabs.nl/) - Easily store and analyze large amounts of DNS traffic. [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0.en.html) ![Maintained: yes](https://img.shields.io/badge/Maintained-yes-green) 73 | - [Internet.nl](https://internet.nl/) - Check whether a website, email or internet connection uses modern Internet Standards. [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) ![Maintained: yes](https://img.shields.io/badge/Maintained-yes-green) 74 | - [Zonemaster](https://zonemaster.net) - A software package that validates the quality of a DNS delegation. [![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) ![Maintained: yes](https://img.shields.io/badge/Maintained-yes-green) 75 | 76 | 77 | 78 | ## Contributing 79 | 80 | Contributions welcome! Read the [contribution guidelines](contributing.md) first. 81 | 82 | ## Footnotes 83 | 84 | This awesome list is curated by [CENTR](https://centr.org) (Council of European National Top-Level Domain Registries) 85 | --------------------------------------------------------------------------------