All Projects → kamarya → dnsd

kamarya / dnsd

Licence: GPL-3.0 license
DNS-over-HTTPS

Programming Languages

c
50402 projects - #5 most used programming language
shell
77523 projects
Makefile
30231 projects

Projects that are alternatives of or similar to dnsd

gochinadns
Project archived: I believe Clash has provides a more elegant DNS & proxy solution. So there is no need to maintain this project. Have fun guys! ----- A drop-in replacement for ChinaDNS, with a better code implementation and several bugfixes.
Stars: ✭ 38 (+65.22%)
Mutual labels:  dns-over-https, dns-proxy
Dnspython
a powerful DNS toolkit for python
Stars: ✭ 1,838 (+7891.3%)
Mutual labels:  dnssec, dns-over-https
dns-resolver-infra
Privacy DNS infrastructure
Stars: ✭ 39 (+69.57%)
Mutual labels:  dnssec, dns-over-https
jp.tiar.app
jp.tiar.app
Stars: ✭ 28 (+21.74%)
Mutual labels:  dnssec, dns-over-https
DNS-over-HTTPS
An implementation of RFC 8484 - DNS Queries over HTTPS (DoH).
Stars: ✭ 27 (+17.39%)
Mutual labels:  dns-over-https
zerotierDNS
Dns-server for zerotier networks. Resolves names of clients to their IP
Stars: ✭ 23 (+0%)
Mutual labels:  dns-proxy
AdGuardHome
Network-wide ads & trackers blocking DNS server
Stars: ✭ 16,027 (+69582.61%)
Mutual labels:  dns-over-https
dcompass
A high-performance programmable DNS component aiming at robustness, speed, and flexibility
Stars: ✭ 260 (+1030.43%)
Mutual labels:  dns-over-https
dnscrypt-proxy
dnscrypt-proxy 2 - A flexible DNS proxy, with support for encrypted DNS protocols.
Stars: ✭ 9,198 (+39891.3%)
Mutual labels:  dns-over-https
dohd
Very fast DNS-over-HTTPS to DNS proxy with emphasis on privacy (no logging)
Stars: ✭ 14 (-39.13%)
Mutual labels:  dns-over-https
go-dns-proxy
A simple DNS proxy in go
Stars: ✭ 27 (+17.39%)
Mutual labels:  dns-proxy
harddns
RFC8484 and DoH/JSON resolver
Stars: ✭ 35 (+52.17%)
Mutual labels:  dns-over-https
updns
DNS proxy tool
Stars: ✭ 58 (+152.17%)
Mutual labels:  dns-proxy
DNS-over-Discord
A 1.1.1.1 DNS resolver built for Discord
Stars: ✭ 228 (+891.3%)
Mutual labels:  dns-over-https
check dane
Nagios/Icinga plugin for checking DANE/TLSA records
Stars: ✭ 13 (-43.48%)
Mutual labels:  dnssec
aio-doh
Asynchronous DNS-over-HTTPS client for Python
Stars: ✭ 14 (-39.13%)
Mutual labels:  dns-over-https
Wireguard-DNScrypt-VPN-Server
Fast setup wireguard server script, with dnscrypt and adblocking, maleware blocking, more blocking if you need. Use case eg. always on vpn and adblocking on ios or android, and be more secured in unknown networks.
Stars: ✭ 48 (+108.7%)
Mutual labels:  dnssec
toolbox-wiki
Internet.nl toolbox - how-to's for modern mail security standards (DMARC, DKIM, SPF and DANE)
Stars: ✭ 96 (+317.39%)
Mutual labels:  dnssec
mosdns-cn
A simple DNS forwarder that can make life easier.
Stars: ✭ 254 (+1004.35%)
Mutual labels:  dns-over-https
prc-dns
对CDN友好的DNS服务器,区分国内外流量的必备工具。
Stars: ✭ 47 (+104.35%)
Mutual labels:  dns-over-https

DNSd

DNSd is a daemon a.k.a. service for Unix-like systems. It provides a local DNS backend complying (partially) with RFC 1035 in order to forward the queries/answers to/from Google Public DNS over HTTPS.

Google Public DNS offers DNSSEC-validating resolution over an encrypted HTTPS connection. DNS-over-HTTPS greatly enhances privacy and security between a client and a recursive resolver, and complements DNSSEC to provide end-to-end authenticated DNS lookups. -- Google Public DNS

Highlights

  • Ultra lightweight (disk and memory footage).
  • Full functionality behind the web proxy out of the box.
  • Minimalistic implementation approach.
  • Highly configurable through a simple config. file.
  • A Self contained package that depends only on libcurl.
  • Supported records are A,AAAA,CNAME,NS and MX.
  • Public key pinning

Build and Install

Build the software by running the following commands in the terminal.

make
make install

You may run the service in the background (as a daemon) by setting the config file path as follows.

dnsd -f /etc/dnsd.conf

After the daemon is successfully loaded, the local DNS service is available on the regular DNS port 53. If you are behind a web proxy server, you need to set its address and port in the configuration file.

If you would like to add DNSd as a service on your Linux machine, install the launcher (init and systemd) configuration files.

make linux-service
service dnsd start

For systemd you may need to run systemctl daemon-reload before starting the service.

For macOS systems install and launch the service as follows.

make macos-service
launchctl load -w /Library/LaunchDaemons/service.dnsd.plist

Obtain Public Key

openssl s_client -connect google.com:443 | openssl x509 -pubkey -noout

Verification

You can verify wether the service is accessible through

  • host -va github.com localhost
  • nslookup -port=5454 -query=mx github.com 127.0.0.1
Trying "github.com"
Using domain server:
Name: localhost
Address: 127.0.0.1#53
Aliases:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61907
;; flags: qr rd; QUERY: 1, ANSWER: 11, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;github.com.			IN	ANY

;; ANSWER SECTION:
github.com.		299	IN	A	192.30.253.112
github.com.		299	IN	A	192.30.253.113
github.com.		899	IN	NS	ns-1283.awsdns-32.org.
github.com.		899	IN	NS	ns-1707.awsdns-21.co.uk.
github.com.		899	IN	NS	ns-421.awsdns-52.com.
github.com.		899	IN	NS	ns-520.awsdns-01.net.
github.com.		3599	IN	MX	1 aspmx.l.google.com.
github.com.		3599	IN	MX	10 alt3.aspmx.l.google.com.
github.com.		3599	IN	MX	10 alt4.aspmx.l.google.com.
github.com.		3599	IN	MX	5 alt1.aspmx.l.google.com.
github.com.		3599	IN	MX	5 alt2.aspmx.l.google.com.

Received 390 bytes from 127.0.0.1#53 in 178 ms

License

This software is licensed under the GNU GPLv3 license.

The user of this software (including the source code and the binary form) must read and accept the terms and conditions of Google Public DNS over HTTPS before usage.

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].