Unbound is a validating, recursive, and caching DNS resolver. https://nlnetlabs.nl/unbound
  • C 83.8%
  • Shell 6.1%
  • M4 2.4%
  • Makefile 2%
  • Yacc 1.8%
  • Other 3.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Yorgos Thessalonikefs 65814ad6f3 Changelog entry for #1510:
- Merge #1510 from Andy Warner: Move unlink of temp file to before
  fatal exit.
2026-09-21 14:13:00 +02:00
.github - Fix to update github ci actions/checkout to v7. 2026-06-19 09:25:39 +02:00
cachedb - Fix in depth for serve-expired responses from cachedb, that it 2026-05-20 14:58:26 +02:00
compat Changelog note and explanation comment for #1383 2026-07-09 09:21:56 +02:00
contrib - Fix #1389: [FR] replacement with ECC-GOST12 according to RFC9558. 2026-02-06 14:39:23 +01:00
daemon Merge branch 'branch-1.26.1' 2026-09-16 10:26:54 +02:00
dns64 - Fix that malloc failure in dns64_inform_super does 2026-06-17 15:23:25 +02:00
dnscrypt Merge branch 'branch-1.25.2' 2026-07-22 11:33:54 +02:00
dnstap Merge branch 'branch-1.25.2' 2026-07-22 11:33:54 +02:00
doc Changelog entry for #1510: 2026-09-21 14:13:00 +02:00
dynlibmod ipset-pf-support, move startup and destartup to the front of the module 2024-07-03 13:53:44 +02:00
edns-subnet - Fix that malloc failure during edns subnet addrtree 2026-06-17 15:55:33 +02:00
ipsecmod - Fix #1487: regression in 1.26.0, ipsecmod is now always 2026-08-06 09:46:18 +02:00
ipset - Fix ipset module to use larger domain name buffers, and 2026-06-03 14:35:06 +02:00
iterator Merge branch 'branch-1.26.1' 2026-09-16 10:26:54 +02:00
libunbound Merge branch 'branch-1.25.2' 2026-07-22 11:33:54 +02:00
pythonmod - Fix #1489 from jplesnik: Replace removed Python 2 C API 2026-08-07 08:57:32 +02:00
respip - Fix mesh cycle detection for configuration with respip CNAME 2026-07-23 16:28:45 +02:00
services Merge branch 'branch-1.26.1' 2026-09-16 10:26:54 +02:00
sldns - Fix to error on missing close parenthesis for zone file 2026-09-10 16:12:49 +02:00
smallapp - Fix to allow test fake sha1 on systems with possible sha1 2026-07-24 11:50:15 +02:00
testcode Merge branch 'branch-1.26.1' 2026-09-16 10:26:54 +02:00
testdata - Unit test for CVE-2026-85501. 2026-09-16 10:47:44 +02:00
util Merge branch 'branch-1.26.1' 2026-09-16 10:26:54 +02:00
validator Move unlink of temp file to before fatal exit 2026-09-21 03:51:24 -06:00
winrc - Fix to increase size of the buffer for the win_svc reportev log 2026-04-17 11:05:31 +02:00
.gitattributes - .gitattributes line for githubs code language display. 2016-11-03 08:29:29 +00:00
.gitignore DNSoverQUIC (#871) 2024-10-09 10:32:03 +02:00
aclocal.m4 - Fix for #570: regen aclocal.m4, fix configure.ac for spelling. 2021-11-29 11:41:45 +01:00
acx_nlnetlabs.m4 - Fix configure test for nonstring attribute so that it does not 2025-11-06 15:03:17 +01:00
acx_python.m4 - Fix #1092: Ubuntu 22.04 Jammy fails to compile unbound 1.20.0; by 2024-06-19 15:27:50 +02:00
ax_build_date_epoch.m4 Prefer SOURCE_DATE_EPOCH over actual time (#1238) 2025-02-28 09:22:19 +01:00
ax_pkg_swig.m4 Update ax_pkg_swig.m4 and ax_pthread.m4 2024-04-15 11:54:46 +02:00
ax_pthread.m4 Fix pthread detection on Solaris 11.4 (#1479) 2026-07-24 15:34:18 +02:00
config.guess Add loongarch support: 2024-04-09 11:15:14 +08:00
config.h.in - Fix to call OPENSSL_cleanup on exit when that is defined. 2026-07-24 17:04:38 +02:00
config.sub Add loongarch support: 2024-04-09 11:15:14 +08:00
configure - The code repository continues with 1.26.2 under development, 2026-09-16 10:34:06 +02:00
configure.ac - The code repository continues with 1.26.2 under development, 2026-09-16 10:34:06 +02:00
install-sh - Newer aclocal and libtoolize used for generating configure scripts, 2019-01-24 08:57:47 +00:00
LICENSE - Fix #551: License change "Regents" to "Copyright holder", matching 2014-02-07 12:43:43 +00:00
ltmain.sh Changelog note for #1299 2025-07-02 10:57:23 +02:00
makedist.sh - Remove unused .travis.yml for ci integration. 2026-09-03 10:25:31 +02:00
Makefile.in - For #1328: make depend. 2025-09-03 14:04:24 +02:00
README gmake no longer needed. 2012-02-10 10:34:15 +00:00
README-Travis.md Fix typos 2021-11-13 16:56:15 +02:00
README.md change mailing list to forum 2026-06-08 21:48:04 +02:00
SECURITY.md add SECURITY.md, based on krill 2022-07-05 16:39:04 +02:00
systemd.m4 - Fix pkg-config availability check in dnstap/dnstap.m4 and 2024-06-21 14:34:12 +02:00

Unbound

Github Build Status Packaging status Fuzzing Status Documentation Status Mastodon Follow

Unbound is a validating, recursive, caching DNS resolver. It is designed to be fast and lean and incorporates modern features based on open standards. If you have any feedback, we would love to hear from you. Don’t hesitate to create an issue on Github or post a message on our community forum. You can learn more about Unbound by reading our documentation.

Compiling

Make sure you have the C toolchain, OpenSSL and its include files, and libexpat installed. If building from the repository source you also need flex and bison installed. Unbound can be compiled and installed using:

./configure && make && make install

You can use libevent if you want. libevent is useful when using many (e.g., 10000) outgoing ports. Use the --with-libevent configure option to compile Unbound with libevent support.

If not, the default builtin alternative opens max 256 ports at the same time and is equally capable and a little faster.

Unbound configuration

All of Unbound's configuration options are described in the unbound.conf(5) man page, which will be installed and is also available on the Unbound documentation page for the latest version.

An example configuration file, with minimal documentation, is located in doc/example.conf.