All Projects → fffaraz → microdns

fffaraz / microdns

Licence: GPL-3.0 license
A tiny dockerized DNS server in Go that (almost) always returns the same IP for any query sent to it.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to microdns

Trust Dns
A Rust based DNS client, server, and resolver
Stars: ✭ 2,155 (+4044.23%)
Mutual labels:  dns-server
Ztdns
DNS server for a ZeroTier virtual network
Stars: ✭ 202 (+288.46%)
Mutual labels:  dns-server
SmartGW
Domain based VPN Gateway/Proxy for all devices
Stars: ✭ 49 (-5.77%)
Mutual labels:  dns-server
Routedns
DNS stub resolver, proxy and router with support for DoT, DoH, DoQ, and DTLS
Stars: ✭ 153 (+194.23%)
Mutual labels:  dns-server
Mosdns
一个 DNS 转发/分流器。
Stars: ✭ 165 (+217.31%)
Mutual labels:  dns-server
Nativepayload dns
C# code for Transferring Backdoor Payloads by DNS Traffic and Bypassing Anti-viruses
Stars: ✭ 228 (+338.46%)
Mutual labels:  dns-server
Knot
A mirrored repository
Stars: ✭ 138 (+165.38%)
Mutual labels:  dns-server
dockness
DNS for Docker machines
Stars: ✭ 34 (-34.62%)
Mutual labels:  dns-server
Bind9
Mirror of https://gitlab.isc.org/isc-projects/bind9, please submit issues and PR/MRs in the GitLab.
Stars: ✭ 197 (+278.85%)
Mutual labels:  dns-server
Encrypted Dns
DNS-over-HTTPS and DNS-over-TLS server and forwarder. (RFC 8484, RFC 7858, RFC 7871)
Stars: ✭ 252 (+384.62%)
Mutual labels:  dns-server
Pihole Unbound
Guide to setup Unbound recursive DNS resolver with Pi-Hole. With additional configs for speed and security!! 🚀🔒
Stars: ✭ 165 (+217.31%)
Mutual labels:  dns-server
Dcompass
[WIP] High-performance programmable DNS server aiming at robustness, speed, and flexibility
Stars: ✭ 174 (+234.62%)
Mutual labels:  dns-server
Blahdns
A small hobby ads block dns project with doh, dot, dnscrypt support.
Stars: ✭ 228 (+338.46%)
Mutual labels:  dns-server
Unbound Docker
Unbound DNS Server Docker Image
Stars: ✭ 147 (+182.69%)
Mutual labels:  dns-server
mydpdkdns
dns server with high performance, based on dpdk.
Stars: ✭ 41 (-21.15%)
Mutual labels:  dns-server
Kathara
A lightweight container-based network emulation system.
Stars: ✭ 139 (+167.31%)
Mutual labels:  dns-server
Pdns
PowerDNS Authoritative, PowerDNS Recursor, dnsdist
Stars: ✭ 2,575 (+4851.92%)
Mutual labels:  dns-server
zerotierDNS
Dns-server for zerotier networks. Resolves names of clients to their IP
Stars: ✭ 23 (-55.77%)
Mutual labels:  dns-server
dcompass
A high-performance programmable DNS component aiming at robustness, speed, and flexibility
Stars: ✭ 260 (+400%)
Mutual labels:  dns-server
Secureoperator
A DNS-protocol proxy for DNS-over-HTTPS providers, such as Google and Cloudflare
Stars: ✭ 241 (+363.46%)
Mutual labels:  dns-server

MicroDNS

A tiny dockerized DNS server in Go that (almost) always returns the same IP for any query sent to it.

Quick Start (TL;DR)

docker run -it --rm -p 53:53 -p 53:53/udp fffaraz/microdns:latest -log \
-ipv4 $(dig +short myip.opendns.com @resolver1.opendns.com) \
-ipv6 $(dig +short myip.opendns.com @2620:0:ccc::2 aaaa)

Arguments & Options

	-ipv4		Default IPv4 to return (default: 127.0.0.1)
	-ipv6		Default IPv6 to return (default: ::1)
	-ttl		Time to live value (default: 86400)
	-log		Log requests to stdout (default: false)
	-conf		Config file (default: /home/dns.conf)

Config file format

domain1.com.     127.0.0.1 ::1
domain2.com.     127.0.0.1 ::1
www.domain1.com. 127.0.0.1 ::1
ftp.domain2.com. 127.0.0.1 ::1

How to Run

docker run -d --restart=always -p 53:53 -p 53:53/udp --name microdns \
-v /home/microdns:/home \
fffaraz/microdns:latest \
-ipv4 127.0.0.1 \
-ipv6 ::1 \
-ttl 86400 \
-log \
-conf /home/dns.conf

Request Stats

IP Adresses: cat log.out | cut -f2 | sort | uniq -cd | sort -nr
Domains:     cat log.out | cut -f3 | sort | uniq -cd | sort -nr

Metadata API

curl http://169.254.169.254/metadata/v1/interfaces/public/0/ipv4/address
curl http://169.254.169.254/metadata/v1/interfaces/public/0/ipv6/address
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].