DNS
Rank | App | Description | Tags | Stars |
---|---|---|---|---|
1 | 0xERR0R/blocky | Fast and lightweight DNS proxy as ad-blocker for local network with many features | self-hosted selfhosted golang ad-blocker adblock adblocker dns dns-over-https dns-server parental-control pihole | 4121 |
2 | dstapp/docker-ddns | Easy-to-deploy dynamic DNS with Docker, Go and Bind9 | self-hosted docker selfhosted dns ddns dynamic-dns | 622 |
3 | favonia/cloudflare-ddns | 🌟 A small, feature-rich, and robust Cloudflare DDNS updater | docker selfhosted go golang docker-compose dns dns-over-https ddns dynamic-dns cloudflare ddns-client ddns-updater docker-image healthchecks ipv6 | 441 |
Domain Name System (DNS)
The Domain Name System (DNS) is the phonebook of the internet. Humans access information online through domain names, like google.com
or amazon.com
. Web browsers interact through Internet Protocol (IP) addresses. DNS translates these human-friendly domain names into IP addresses so browsers can load Internet resources.
Each device connected to the internet has a unique IP address which other machines use to send information to apps running on that machine. DNS servers eliminate the need for humans to memorize complex codes consisting of numbers.
In simple terms, instead of remembering an IPv6 address like 2001:0db8:85a3:0000:0000:8a2e:0370:7334
, a human can simply remember the domain name, like google.com
.
DNS servers are connected in a hierarchical manner which allows for faster load times and increased redundancy. There are four types of DNS server:
- Root Server - Managed by the Internet Corporation for Assigned Names and Numbers (ICANN).
- Top Level Domain (TLD) Servers (.com, .org, .net) - These servers are managed by various organizations worldwide.
- Authoritative DNS Server - This server is responsible for knowing every IP address associated with a domain name.
- Resolver/Recursive DNS Server - This server receives the queries from clients to other servers on the internet. It's also responsible for caching recently or frequently accessed DNS records to speed up subsequent access.
The process of DNS resolution involves various steps such as:
- A user types 'example.com' into a web browser and the query travels through hierarchical DNS servers until it arrives at the authoritative DNS server that holds the IP address for example.com.
- The authoritative server then returns the IP address information to the DNS recursor, which passes it back to the client (web browser).
- Once the IP address is received by the web browser, a connection can be initiated between your device and the server hosting 'example.com'.
Overall, without DNS, the internet would not exist as we know it today. It's an essential part of how data travels over the internet from its source to destination on the user's device.
So, while DNS is a type of open-source software, it's more accurate to describe it as a system that underpins many aspects of the modern Internet and is not typically self-hosted by end users. Instead, it's managed by organizations like ICANN and various TLD servers worldwide.