Unbound
nlnetlabs.nl/projects/unbound Desktop [Linux, Mac, OpenWrt & Windows]Validating, recursive, caching DNS resolve with support for DNS-over-TLS. Designed to be fast, lean, and secure Unbound incorporates modern features based on open standards. It's fully open source, and recently audited. (For an in-depth tutorial, see this article by DNSWatch.)
- Homepage: nlnetlabs.nl/projects/unbound
- GitHub: github.com/NLnetLabs/unbound
- Privacy: unboundapp.com/privacy-policy.html
- Web info: web-check.xyz/check/nlnetlabs.nl
Unbound Source Code
Author
Description
Unbound is a validating, recursive, and caching DNS resolver.
Homepage
https://nlnetlabs.nl/unboundLicense
BSD-3-Clause
Created
13 Jun 17
Last Updated
28 Jul 26
Latest version
Primary Language
C
Size
103,356 KB
Stars
4,742
Forks
445
Watchers
4,742
Language Usage
Star History
Top Contributors
-
@wcawijngaards (6952)
-
@gthess (691)
-
@ralphdolmans (325)
-
@wtoorop (56)
-
@Philip-NLnetLabs (37)
-
@fobser (20)
-
@noloader (17)
-
@TCY16 (17)
-
@Maryse47 (13)
-
@pemensik (12)
-
@PMunch (8)
-
@countsudoku (8)
-
@AlexanderBand (8)
-
@episource (7)
-
@petrvaganoff (6)
-
@Talkabout (6)
-
@vvfedorenko (6)
-
@k9982874 (6)
-
@boris-sah (5)
-
@Shchelk (5)
-
@kimheino (5)
-
@cgallred (5)
-
@xiaoxiaoafeifei (4)
-
@rcmcdonald91 (4)
-
@eaglegai (4)
-
@dyunwei (4)
-
@edmonds (4)
-
@FGasper (3)
-
@fhriley (3)
-
@rijswijk (3)
-
@trofi (2)
-
@sakateka (2)
-
@sthen (2)
-
@yrk-lab (2)
-
@yschaeff (2)
-
@headshog (2)
-
@mibere (2)
-
@orbea (2)
-
@arunabha007 (2)
-
@maertsen (2)
-
@hardfalcon (2)
-
@luismerino (2)
-
@jonathangray (2)
-
@jinmeiib (2)
-
@he32 (2)
-
@Frzk (2)
-
@rex4539 (2)
-
@n3bul4 (2)
-
@edevil (2)
-
@rmetrich (1)
-
@r-barnes (1)
-
@Scrumplex (1)
-
@stevenc99 (1)
-
@shoeper (1)
-
@botovq (1)
-
@tduboys (1)
-
@tilan7663 (1)
-
@socketpair (1)
-
@Pierre4012 (1)
-
@psumbera (1)
-
@pavel-odintsov (1)
-
@paulmenzel (1)
-
@valldrac (1)
-
@ndptech (1)
-
@NickCao (1)
-
@natalie-reece (1)
-
@hunts (1)
-
@rma-shuyu (1)
-
@wenxuan70 (1)
-
@sneurlax (1)
-
@smeddlep (1)
-
@scottrw93 (1)
-
@sam-lunt (1)
-
@ryndia (1)
-
@nnarayanamurthy (1)
-
@niftylettuce (1)
-
@markyang92 (1)
-
@liheng562653799 (1)
-
@ihsinme (1)
-
@pettai (1)
-
@vcunat (1)
-
@ciz (1)
-
@vstinner (1)
-
@tobbez (1)
-
@TochusC (1)
-
@chipitsine (1)
-
@GoetzGoerisch (1)
-
@gearnode (1)
-
@Fothsid (1)
-
@Erethon (1)
-
@dvzrv (1)
-
@eqvinox (1)
-
@dhgutteridge (1)
-
@hdais (1)
-
@dag-erling (1)
-
@cgzones (1)
-
@ArchangeGabriel (1)
-
@beni-sandu (1)
-
@sibeream (1)
-
@dukeartem (1)
Recent Commits
-
W.C.A. Wijngaards (28 Jul 26)
- Tag for 1.26.0rc1. The repo continues with version 1.26.1.
-
W.C.A. Wijngaards (24 Jul 26)
- Fix to call OPENSSL_cleanup on exit when that is defined.
-
W.C.A. Wijngaards (24 Jul 26)
Changelog note for #1479 - Merge #1479 from psumbera: Fix pthread detection on Solaris 11.4.
-
Petr Sumbera (24 Jul 26)
Fix pthread detection on Solaris 11.4 (#1479) AX_PTHREAD requires _REENTRANT to confirm that pthread support is enabled. Solaris 11.4 headers no longer use the macro, and GCC 16 therefore no longer defines it for -pthread. Detect XPG7 support in the target headers and require _REENTRANT only on older Solaris releases. The existing pthread compile and link test remains the final capability check. This follows the canonical Autoconf Archive change: https://github.com/autoconf-archive/autoconf-archive/pull/341 Regenerate configure with Autoconf 2.71. Tested on Solaris 11.4 with GCC 15.2 and GCC 16.1. The Autoconf Archive change was also tested on Solaris 11.3. Co-authored-by: Rainer Orth <[email protected]>
-
W.C.A. Wijngaards (24 Jul 26)
Changelog note for #1481. - Fix #1481: Fix to use tls-port after referral if tls-upstream is set.
-
W.C.A. Wijngaards (24 Jul 26)
- Fix to use tls-port after referral if tls-upstream is set.
-
W.C.A. Wijngaards (24 Jul 26)
- Fix sign of comparison warning in shared ports setup.
-
W.C.A. Wijngaards (24 Jul 26)
- Fix to guard access to shared ports interface array during set up, for analyzer.
-
W.C.A. Wijngaards (24 Jul 26)
- Fix unused variable warnings in shared_ports_fetch_random and shared_ports_return_port when compiled without threads.
-
W.C.A. Wijngaards (24 Jul 26)
Changelog entry for #1480 - Merge #1480 from petrvaganoff: authzone: fix memory leak in xfer_set_masters() error path.
-
Petr Vaganov (24 Jul 26)
authzone: fix memory leak in xfer_set_masters() error path (#1480) Added memory deallocation for the `file` and `host` fields of the `auth_master` node in the event of a URL/allocation error, and unlinked the partially created node from the masters list by resetting the link that pointed to it. Signed-off-by: Petr Vaganov <[email protected]>
-
W.C.A. Wijngaards (24 Jul 26)
- Fix lock test protect for auth zone change. - Fix to lock shared_ports structure during initialisation. - Fix to lock anchor structure when file is set for it in
-
W.C.A. Wijngaards (24 Jul 26)
- Fix to allow test fake sha1 on systems with possible sha1 support. - Fix to use sha256 for unbound-anchor unit test. - Fix unbound-anchor check for return value of X509_NAME_get_text_by_NID of the emailaddress.
-
W.C.A. Wijngaards (24 Jul 26)
- Update generated man pages.
-
W.C.A. Wijngaards (24 Jul 26)
- set code repository version to 1.26.0.
-
W.C.A. Wijngaards (24 Jul 26)
- Fix #1477: respip + dns64: dns64 uses A records modified by respip instead of original A records. Adds local-zone types block_a_wdata and block_aaaa_wdata, that are like block_a and block_aaaa, and uses local-data if present.
-
W.C.A. Wijngaards (24 Jul 26)
- Unit test for block_a and block_aaaa.
-
W.C.A. Wijngaards (24 Jul 26)
Changelog note for #1433 - Merge #1433 from jisakiel: Add new static zone type block_aaaa to suppress AAAA queries.
-
Jisakiel (24 Jul 26)
Add new static zone type block_aaaa to suppress AAAA queries (#1433) Following d5b9a790f lead for block_a - this would allow suppressing AAAA queries instead for sticking to IPV4. Co-authored-by: Jisakiel <[email protected]>
-
W.C.A. Wijngaards (23 Jul 26)
- Fix mesh cycle detection for configuration with respip CNAME loop and tagged clients. Thanks to Qifan Zhang, Palo Alto Networks, for the report.
-
W.C.A. Wijngaards (23 Jul 26)
- Fix that the aggressive negative cache does not insert NSEC records with overreaching next owner name. Also the result is not above the trust anchor's bailiwick. Also RRSIGS are not considered valid when an NSEC next owner name is not under the signer zone name. Thanks to Qifan Zhang, Palo Alto Networks, for the report.
-
W.C.A. Wijngaards (23 Jul 26)
- Fix that for NSEC3 proofs the NSEC3 zone, as the b32.name is checked to be the same as the signer name. Also RRSIGs are not considered valid when an NSEC3 is not b32.signerzone. Thanks to Qifan Zhang, Palo Alto Networks, for the report.
-
W.C.A. Wijngaards (23 Jul 26)
Changelog entry for #1478 - Merge #1478 from petrvaganoff: pythonmod: add check return value after ftell().
-
Petr Vaganov (23 Jul 26)
pythonmod: add check return value after ftell() (#1478) Variable 'flen', which might receive a negative value at pythonmod.c:493 by calling function 'ftell', is used without checking at pythonmod.c:508 by calling function 'fread'. Found by the static analyzer Svace (ISP RAS). Signed-off-by: Petr Vaganov <[email protected]>
-
W.C.A. Wijngaards (23 Jul 26)
- Updated credits for Xuanchao Xie in 22 july changelog.
-
W.C.A. Wijngaards (22 Jul 26)
- iana portlist update.
-
W.C.A. Wijngaards (22 Jul 26)
- Fix error in log printout in fix for CVE-2026-50248, when the primary name is bogus.
-
W.C.A. Wijngaards (22 Jul 26)
- Unit test for CVE-2026-56416.
-
W.C.A. Wijngaards (22 Jul 26)
- Unit test for CVE-2026-55973.
-
W.C.A. Wijngaards (22 Jul 26)
- Unit test for CVE-2026-55717.
Unbound Security
Unbound Website
Website
NLnet Labs - Unbound - About
Unbound is a validating, recursive, caching DNS resolver. It is designed to be fast and lean and incorporates modern features based on open standards. To help increase online privacy, Unbound supports DNS-over-TLS and DNS-over-HTTPS which allows clients to encrypt their communication. In addition, it supports various modern standards that limit …
Redirects
Redirects to https://nlnetlabs.nl/projects/unbound/about/
Security Checks
All 65 security checks passed
Server Details
- IP Address 128.140.76.106
- Hostname static.106.76.140.128.clients.your-server.de
- Location Nuremberg, Bayern, Germany, EU
- ISP Hetzner Online GmbH
- ASN AS24940
Associated Countries
-
AT -
US -
NL -
DE
Safety Score
Website marked as safe
100%
Blacklist Check
nlnetlabs.nl was found on 0 blacklists
- AntiSocial Blacklist
- Artists Against 419
- Badbitcoin
- Bambenek Consulting
- CERT Polska
- CoinBlockerLists
- CRDF
- CryptoScamDB
- EtherAddressLookup
- EtherScamDB
- Fake Website Buster
- MetaMask EthPhishing
- NABP Not Recommended Sites
- OpenPhish
- PetScams
- PhishFeed
- PhishFort
- Phishing.Database
- PhishStats
- PhishTank
- Phishunt
- RPiList Not Serious
- Scam.Directory
- SecureReload Phishing List
- Spam404
- StopGunScams
- Suspicious Hosting IP
- ThreatFox
- ThreatLog
- TweetFeed
- URLhaus
- ViriBack C2 Tracker
Website Preview
Unbound Docker
Container Info
pihole-unbound
A Linux network-level advertisement and Internet tracker blocking application which acts as a DNS sinkhole. This version has Ubound software installed on it so you don't need to rely on external DNS providers. When the installation is complete, navigate to your.ip.goes.here:1010/admin. Follow the article <a href='https://medium.com/@niktrix/getting-rid-of-systemd-resolved-consuming-port-53-605f0234f32f'>here</a>
cbcrowe/pihole-unbound:latestRun Command
docker run -d \
-p 53:53/tcp \
-p 53:53/udp \
-p 1010:80/tcp \
-p 4443:443/tcp \
-e ServerIP=${ServerIP} \
-e TZ=${TZ} \
-e DNSSEC=${DNSSEC} \
-e DNS1=${DNS1} \
-e DNS2=${DNS2} \
-v /portainer/Files/AppData/Config/PiHole-Unbound:/etc/pihole \
-v /portainer/Files/AppData/Config/PiHole-Unbound/DNS:/etc/dnsmasq.d \
--restart=unless-stopped \
cbcrowe/pihole-unbound:latest Compose File
version: 3.8
services:
pi-hole-unbound:
image: "cbcrowe/pihole-unbound:latest"
ports:
- "53:53/tcp"
- "53:53/udp"
- "1010:80/tcp"
- "4443:443/tcp"
environment:
ServerIP: 192.168.0.X
TZ: Europe\London
DNSSEC:
DNS1: 127.0.0.1#5335
DNS2: 127.0.0.1#5335
volumes:
- "/portainer/Files/AppData/Config/PiHole-Unbound:/etc/pihole"
- "/portainer/Files/AppData/Config/PiHole-Unbound/DNS:/etc/dnsmasq.d"
restart: unless-stopped Environment Variables
- Var Name Default
- ServerIP 192.168.0.X
- TZ Europe\London
- DNSSEC null
- DNS1 127.0.0.1#5335
- DNS2 127.0.0.1#5335
Port List
- 53:53/tcp
- 53:53/udp
- 1010:80/tcp
- 4443:443/tcp
Volume Mounting
- /portainer/Files/AppData/Config/PiHole-Unbound /etc/pihole
- /portainer/Files/AppData/Config/PiHole-Unbound/DNS /etc/dnsmasq.d
Unbound Reviews
More DNS Clients
-
A flexible DNS proxy, with support for modern encrypted DNS protocols including DNSCrypt V2, DNS-over-HTTPS and Anonymized DNSCrypt. Also allows for advanced monitoring, filtering, caching and client IP protection through Tor, SOCKS proxies or Anonymized DNS relays.
-
Non-root, small-sized DNS changer utilizing DNS-over-HTTPS and DNS-over-TLS. (Note, since this uses Android's VPN API, it is not possible to run a VPN while using Nebulo.)
-
Free and open source DNS changer with support for DNS-over-HTTPS, DNS-over-Tor, and DNSCrypt v3 with Anonymized Relays. (Note, since this uses Android's VPN API, it is not possible to run a VPN while using RethinkDNS + Firewall.)
-
Stubby
(Desktop [Linux, Mac, OpenWrt & Windows])
dnsprivacy.org/wiki/display/DP/DNS+Privacy+Daemon+-+StubbyActs as a local DNS Privacy stub resolver (using DNS-over-TLS). Stubby encrypts DNS queries sent from a client machine (desktop or laptop) to a DNS Privacy resolver increasing end user privacy. Stubby can be used in combination with Unbound - Unbound provides a local cache and Stubby manages the upstream TLS connections (since Unbound cannot yet re-use TCP/TLS connections), see example configuration.
About the Data: Unbound
API
You can access Unbound's data programmatically via our API. Simply make a GET request to:
https://api.awesome-privacy.xyz/v1/services/unbound The REST API is free, no-auth and CORS-enabled. To learn more, view the API Docs or read the API Usage Guide.
Share Unbound
Help your friends compare DNS Clients, and pick
privacy-respecting software and services.
Share Unbound and Awesome Privacy with your network!