Package: domain-park
Domain Park: Prevent abuse of parked domainsdomain-parkis an open-source DNS Name server that implements best practiceMX, SPF, DKIM, and DMARC DNS records in order to prevent spoofing of registered but unused domain names (also known as parked domains).Features:Implement best practice DNS records for SPF, DKIM, DMARC, MX compliance.Handle unlimited domains with little to no configuration.Setup receiving of DMARC aggregate reports.domain-parkis currently Alpha software and does not have complete documentation, testing, or implementation of certain features.This page is for the domain-park software, you may be looking for thedomain-park.orgpublic name servers.InstallationInstall via pippip3install--userdomain-parkUsagedomain-park --help
usage: domain-park [-h] [--version] [--host HOST] [--port PORT]
                   [--tcp | --udp] -n NAMESERVER [--rua EMAIL] [--ruf EMAIL]
                   [--ips]

optional arguments:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  --host HOST           Host (IP) to bind to. Use --ips to see available.
                        Defaults to localhost.
  --port PORT           Port to bind to. Defaults to 9953.
  --tcp                 Use TCPv4 socket for transport.
  --udp                 Use UDPv4 socket for transport. (default)
  -n NAMESERVER, --nameserver NAMESERVER
                        Add NameServer to list returned on NS lookups. This
                        should be equal to the NS records available publicly
                        running domain-park. Must be supplied at least once,
                        and has no limit. Reccomended to have 2-4 Name
                        Servers. Expected to be in the format of either
                        'FQDN:IP' or 'IP'
  --rua EMAIL           Email address to use for DMARC aggregate repots.
  --ruf EMAIL           Email address to use for DMARC forensic reports.
  --ips                 Print available IPs and exitExample:domain-park-nns1.domain-park.org-nns2.domain-park.orgOnce running, interact usingdig:dig-p9953@localhostNSexample.com

dig-p9953@localhostTXTexample.com
dig-p9953@localhostTXTfoo.example.com

dig-p9953@localhostTXT_dmarc.example.com

dig-p9953@localhostTXTasdf._domainkey.example.com
dig-p9953@localhostTXTqwer._domainkey.foo.example.com

dig-p9953@localhostMXexample.comProduction UsageIn order to setup domain-park for use with publicly accessible domains, you will need a static IP address for the server runningdomain-parkand a domain which you can set records on.On your domain you will need to create anAfor your name server using the static IP address. Once done you will then need to create aglue recordfor the previously createdArecord.Bugs, Feature Requests etcTLDR: Pleasesubmit an issue on github.In the case of bug reports, please help me help you by following best practices [1] [2].In the case of feature requests, please provide background to the problem you are trying to solve so to help find a solution that makes the most sense for the library as well as your usecase.DevelopmentThe only development dependency is bash and docker. All actions are run within docker for ease of use. See./dev.sh helpfor commands. Typical commands areformat,lint,test,repl,build.I am still working through open source licencing and contributing, so not taking PRs at this point in time. Instead raise and issue and I'll try get to it as soon a feasible.LicenceThis project is licenced under the MIT Licence - seeLICENCE.This project includes other open source licenced software - seeNOTICE.AuthorsA project by Nicholas Hairs -www.nicholashairs.com.