All Projects → zonedb → Zonedb

zonedb / Zonedb

Licence: odbl-1.0
Public Zone Database

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Labels

Projects that are alternatives of or similar to Zonedb

Ip Attack
Auto IP or Domain Attack Tool ( #1 )
Stars: ✭ 162 (+16.55%)
Mutual labels:  dns, whois
Python Whois
Python module/library for retrieving WHOIS information of domains 💻❤
Stars: ✭ 128 (-7.91%)
Mutual labels:  dns, whois
Whour
Tool for information gathering, IPReverse, AdminFInder, DNS, WHOIS, SQLi Scanner with google.
Stars: ✭ 18 (-87.05%)
Mutual labels:  dns, whois
Caa helper
Generate a CAA policy
Stars: ✭ 125 (-10.07%)
Mutual labels:  dns
Prcdns
准确、CDN友好
Stars: ✭ 126 (-9.35%)
Mutual labels:  dns
Spf Tools
Shell scripts for taming the SPF (Sender Policy Framework) records in order to fight 10-maximum-DNS-look-ups limit.
Stars: ✭ 131 (-5.76%)
Mutual labels:  dns
Idna
Internationalized Domain Names for Python (IDNA 2008 and UTS #46)
Stars: ✭ 138 (-0.72%)
Mutual labels:  dns
Esp wifimanager
This is an ESP32 / ESP8266 WiFi Connection Manager with fallback web configuration portal. Use this library for configuring ESP32, ESP8266 modules' WiFi, etc. Credentials at runtime. You can also specify static DNS servers, personalized HostName, fixed or random AP WiFi channel. With examples supporting ArduinoJson 6.0.0+ as well as 5.13.5- .
Stars: ✭ 125 (-10.07%)
Mutual labels:  dns
Dnspython
a powerful DNS toolkit for python
Stars: ✭ 1,838 (+1222.3%)
Mutual labels:  dns
Rind
DNS server with REST interface for records management built on Golang
Stars: ✭ 132 (-5.04%)
Mutual labels:  dns
Aliyun Ddns
阿里云动态域名工具,支持docker和ipv6。
Stars: ✭ 131 (-5.76%)
Mutual labels:  dns
Ldns
LDNS is a DNS library that facilitates DNS tool programming
Stars: ✭ 127 (-8.63%)
Mutual labels:  dns
Blocklists
Domain-ONLY Filter Lists (for use with DNS / Domain blocking tools)
Stars: ✭ 133 (-4.32%)
Mutual labels:  dns
Php Dns
A DNS abstraction for PHP
Stars: ✭ 126 (-9.35%)
Mutual labels:  dns
Onionmx
Onion delivery, so delicious
Stars: ✭ 138 (-0.72%)
Mutual labels:  dns
Bash Utils
A collection of hand-crafted bash scripts for various common tasks.
Stars: ✭ 124 (-10.79%)
Mutual labels:  dns
Elk Hole
elasticsearch, logstash and kibana configuration for pi-hole visualiziation
Stars: ✭ 136 (-2.16%)
Mutual labels:  dns
Desec Stack
Backbone of the deSEC.io Free Secure DNS Hosting Service
Stars: ✭ 130 (-6.47%)
Mutual labels:  dns
Graylog Plugin Threatintel
Graylog Processing Pipeline functions to enrich log messages with IoC information from threat intelligence databases
Stars: ✭ 132 (-5.04%)
Mutual labels:  whois
Addon Adguard Home
AdGuard Home - Home Assistant Community Add-ons
Stars: ✭ 138 (-0.72%)
Mutual labels:  dns

Public Zone Database

build status godoc

The Public Zone Database (zonedb) is a free, open-source database containing a list and associated metadata of public DNS zones (domain name extensions). It attempts to be exhaustive, including current, retired, and withdrawn top-level domains and subdomains.

The intended use case is programs that interface with the public domain name system, including registry and registrar services. The data overlaps with and shares test cases with the Public Suffix List maintained by the Mozilla Foundation. The source data was originally derived from the internal zone database in use at Domainr.

Structure

The database consists of a list of zones (zones.txt) and associated metadata in JSON format.

CLI

The zonedb CLI is fully documented. Run go run cmd/zonedb/main.go -h to see its arguments.

zones.txt

The zones.txt file is a UTF-8 encoded text file containing a list of IDN & lower-case domain names, one per line, followed by a newline (\n) character. The domain names in zones.txt are sorted according to the following rules:

  1. Number of labels (top-level domains, followed by second- and third-level domains)
  2. Parent domain (e.g. uk)
  3. Subdomain (e.g. co.uk)

Metadata

Each domain with associated metadata will have a JSON file in the metadata directory.

Updates

A GitHub Actions workflow updates ZoneDB each night.

zones.txt

If a new SLD or third-level domain needs to be added to zones.txt, follow these steps locally:

  1. Add the new zone to the bottom of the zones.txt file.
  2. Run make normalize to normalize the data changes.
  3. Run go run cmd/zonedb/main.go -update -w -zones {new zone} to update its metadata.
  4. Create a pull request for the changes, and confirm the tests are passing.

JSON files

If an update to one of the {zone}.json files is needed, do this locally:

  1. make normalize # tidies the json files, and runs go generate
  2. commit the changes

Implementations

Go

go get github.com/zonedb/zonedb

This repository contains a reference implementation of the database written in Go. Unlike the source data, which is in Unicode, the Go implementation represents domain names in ASCII IDNA form for interop with existing libraries.

Contributing

Fork this repository, make changes, and send a pull request. Before submitting a PR, run make normalize to normalize any changes. The data is structured to minimize diff size.

zonedb build tool

This database is generated and validated using the zonedb tool in this directory. To install, make sure you have a working Go installation (1.4+) and run this command:

go get -u github.com/zonedb/zonedb/cmd/zonedb

You can also run the zonedb tool directly: go run cmd/zonedb/main.go

Example commands

List all zones that have wildcarded DNS:

$ go run cmd/zonedb/main.go -list-wildcards

List all zones tagged geo:

$ go run cmd/zonedb/main.go -tags geo

List a given zone's tags:

$ go run cmd/zonedb/main.go -zones capetown -list-tags

Add a tag to multiple zones (and write the output):

$ go run cmd/zonedb/main.go -zones capetown,durban,joburg -add-tags city -w
$ make normalize

Remove a tag from a zone (and write the output):

$ go run cmd/zonedb/main.go -zones la -remove-tags generic -w

Add a location to a zone (and write the output):

$ go run cmd/zonedb/main.go -zones alsace -add-locations fr-a -w

License

This database is licensed under the Open Database License (ODBl) version 1.0. See LICENSE.md for more information.

Copyright © 2008–2020 the Public Zone Database authors.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].