Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/publicarray/dns-resolver-infra
Privacy DNS infrastructure
https://github.com/publicarray/dns-resolver-infra
dns dns-over-https dns-over-tls dns-privacy dns-resolver dnscrypt dnscrypt-wrapper dnssec docker docker-swarm doh dot haproxy kubernetes nsd opennic privacy rust-doh unbound
Last synced: about 1 month ago
JSON representation
Privacy DNS infrastructure
- Host: GitHub
- URL: https://github.com/publicarray/dns-resolver-infra
- Owner: publicarray
- License: gpl-3.0
- Created: 2018-05-01T13:03:30.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-05-13T09:31:50.000Z (4 months ago)
- Last Synced: 2024-06-02T23:41:49.255Z (3 months ago)
- Topics: dns, dns-over-https, dns-over-tls, dns-privacy, dns-resolver, dnscrypt, dnscrypt-wrapper, dnssec, docker, docker-swarm, doh, dot, haproxy, kubernetes, nsd, opennic, privacy, rust-doh, unbound
- Language: Shell
- Homepage: https://dns.seby.io
- Size: 1.42 MB
- Stars: 51
- Watchers: 10
- Forks: 8
- Open Issues: 1
-
Metadata Files:
- Readme: Readme.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
![]()
# DNS Resolver Infrastructure
## Infrastructure Overview
[![Actions Status](https://github.com/publicarray/dns-resolver-infra/workflows/dnscrypt-server/badge.svg)](https://github.com/publicarray/dns-resolver-infra/actions?workflow=dnscrypt-server)
[![Actions Status](https://github.com/publicarray/dns-resolver-infra/workflows/doh-proxy/badge.svg)](https://github.com/publicarray/dns-resolver-infra/actions?workflow=doh-proxy)
[![Actions Status](https://github.com/publicarray/dns-resolver-infra/workflows/haproxy/badge.svg)](https://github.com/publicarray/dns-resolver-infra/actions?workflow=haproxy)
[![Actions Status](https://github.com/publicarray/dns-resolver-infra/workflows/m13253-doh/badge.svg)](https://github.com/publicarray/dns-resolver-infra/actions?workflow=m13253-doh)
[![Actions Status](https://github.com/publicarray/dns-resolver-infra/workflows/nsd/badge.svg)](https://github.com/publicarray/dns-resolver-infra/actions?workflow=nsd)
[![Actions Status](https://github.com/publicarray/dns-resolver-infra/workflows/unbound/badge.svg)](https://github.com/publicarray/dns-resolver-infra/actions?workflow=unbound)
* [acme.sh](https://github.com/Neilpang/acme.sh) (TLS certificate generation for haproxy)
* [nsd](https://www.nlnetlabs.nl/projects/nsd/) ([OpenNIC](https://www.opennic.org/)) [![Docker Pulls](https://img.shields.io/docker/pulls/publicarray/nsd.svg?maxAge=86400)](https://hub.docker.com/r/publicarray/nsd/) [![Docker Image Size](https://img.shields.io/docker/image-size/publicarray/nsd/latest)](https://microbadger.com/images/publicarray/nsd)
* [unbound](https://unbound.nlnetlabs.nl/) (DNS Resolver) [![Docker Pulls](https://img.shields.io/docker/pulls/publicarray/unbound.svg?maxAge=86400)](https://hub.docker.com/r/publicarray/unbound/) [![Docker Image Size](https://img.shields.io/docker/image-size/publicarray/unbound/latest)](https://microbadger.com/images/publicarray/unbound)
* [dnscrypt-server](https://github.com/jedisct1/encrypted-dns-server) (dnscrypt) [![Docker Pulls](https://img.shields.io/docker/pulls/publicarray/dnscrypt-server.svg?maxAge=86400)](https://hub.docker.com/r/publicarray/dnscrypt-server/) [![Docker Image Size](https://img.shields.io/docker/image-size/publicarray/dnscrypt-server/latest)](https://microbadger.com/images/publicarray/dnscrypt-server)
* [doh-proxy](https://github.com/jedisct1/rust-doh) [![Docker Pulls](https://img.shields.io/docker/pulls/publicarray/doh-proxy.svg?maxAge=86400)](https://hub.docker.com/r/publicarray/doh-proxy/) [![Docker Image Size](https://img.shields.io/docker/image-size/publicarray/doh-proxy/latest)](https://microbadger.com/images/publicarray/doh-proxy) or [m13253-doh](https://github.com/m13253/dns-over-https) [![Docker Pulls](https://img.shields.io/docker/pulls/publicarray/m13253-doh.svg?maxAge=86400)](https://hub.docker.com/r/publicarray/m13253-doh/) ![Docker Image Size](https://img.shields.io/docker/image-size/publicarray/m13253-doh/latest)
* [haproxy](http://www.haproxy.org/) (DNS-over-HTTPS) [![Docker Pulls](https://img.shields.io/docker/pulls/publicarray/haproxy.svg?maxAge=86400)](https://hub.docker.com/r/publicarray/haproxy/) [![Docker Image Size](https://img.shields.io/docker/image-size/publicarray/haproxy/latest)](https://microbadger.com/images/publicarray/haproxy)
* [haproxy](http://www.haproxy.org/) (DNS-over-TLS) [![Docker Pulls](https://img.shields.io/docker/pulls/publicarray/haproxy.svg?maxAge=86400)](https://hub.docker.com/r/publicarray/haproxy/) [![Docker Image Size](https://img.shields.io/docker/image-size/publicarray/haproxy/latest)](https://microbadger.com/images/publicarray/haproxy)## Getting started
### Quick start**
```sh
pacman -S docker docker-composer docker-buildx
git clone https://github.com/publicarray/dns-resolver-infra.git && cd dns-resolver-infra
# Add Cloudflare cedentials for acme.sh / TLS certificates
echo 'CF_TOKEN=xxxx' >> .env
echo 'CF_ACCOUNT_ID=xxxx' >> .env
echo 'CF_ZONE_ID=xxxx' >> .env./deploy.sh
```### Docker Compose
```sh
# Build Images or pull them:
docker-compose pull# Add Cloudflare cedentials for acme.sh / TLS certificates
echo 'CF_TOKEN=xxxx' >> .env
echo 'CF_ACCOUNT_ID=xxxx' >> .env
echo 'CF_ZONE_ID=xxxx' >> .env# # Setup CA
# docker-compose run acme --register-account -m [email protected]
# # or
# docker-compose run acme.sh --set-default-ca --server letsencrypt# Launch
docker-compose up -d
```* [Usage with Docker-Swarm](docker.md)
* [Usage with Kubernetes](kube.md)### sysctl
```
sysctl net.ipv4.tcp_congestion_control=bbr
```### Tests
```
npm i --legacy-peer-deps
./lint.sh
npm run bats tests
./test.sh
```###