Skip to content
This repository has been archived by the owner on Jun 6, 2018. It is now read-only.
/ dns-resolver Public archive

Open DNS Resolver with DNSCrypt, OpenNIC and DNSSEC configs

License

Notifications You must be signed in to change notification settings

publicarray/dns-resolver

Repository files navigation

NOTICE

This repo is archived. It is too much of a burden to deal with different OS workarounds. I've migrated to docker: https://github.com/publicarray/dns-resolver-infra


Open DNS Resolver with DNSCrypt

Usage

$ ansible-galaxy install -r requirements.yml
$ ansible-playbook playbook.yml -i hosts --diff

Checks

$ ansible-playbook playbook.yml -i hosts --syntax-check
$ ansible-playbook playbook.yml -i hosts --check --diff

Post install

Generate new keys (optional - this is done automatically)

$ service dnsdist stop
$ dnsdist

> generateDNSCryptProviderKeys("/etc/dnsdist/providerPublic.key", "/etc/dnsdist/providerPrivate.key")
> generateDNSCryptCertificate("/etc/dnsdist/providerPrivate.key", "/etc/dnsdist/resolver.cert.0", "/etc/dnsdist/resolver.key.0", 0, os.time(), os.time()+(365*86400))
> shutdown()

$ service dnsdist start

Get DNScrypt provider fingerprint

$ dnsdist --client

> printDNSCryptProviderFingerprint("/etc/dnsdist/providerPublic.key")
> quit

Test

Test with vagrant (recommended)

brew cask install vagrant virtualbox
vagrant up

Linting & Formatting

pip install yamllint 
pip install ansible-lint # may overwrite /usr/local/bin/ansible
gem install travis --no-rdoc --no-ri

ansible-playbook playbook.yml -i hosts --syntax-check
travis lint .travis.yml
yamllint -- **/*.yml *.yml # or yamllint $(find . -name '*.yml')
ansible-lint --exclude=required-roles --exclude="$HOME/.ansible/roles" playbook.yml

Or just run the lint script: ./lint

About

Open DNS Resolver with DNSCrypt, OpenNIC and DNSSEC configs

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages