1# Unbound
2
3[![Travis Build Status](https://travis-ci.org/NLnetLabs/unbound.svg?branch=master)](https://travis-ci.org/NLnetLabs/unbound)
4[![Packaging status](https://repology.org/badge/tiny-repos/unbound.svg)](https://repology.org/project/unbound/versions)
5[![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/unbound.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:unbound)
6[![Documentation Status](https://readthedocs.org/projects/unbound/badge/?version=latest)](https://unbound.readthedocs.io/en/latest/?badge=latest)
7
8Unbound is a validating, recursive, caching DNS resolver. It is designed to be
9fast and lean and incorporates modern features based on open standards. If you
10have any feedback, we would love to hear from you. Don’t hesitate to
11[create an issue on Github](https://github.com/NLnetLabs/unbound/issues/new)
12or post a message on the [Unbound mailing list](https://lists.nlnetlabs.nl/mailman/listinfo/unbound-users).
13You can learn more about Unbound by reading our
14[documentation](https://nlnetlabs.nl/documentation/unbound/).
15
16## Compiling
17
18Make sure you have the C toolchain, OpenSSL and its include files, and libexpat
19installed. Unbound can be compiled and installed using:
20
21```
22./configure && make && make install
23```
24
25You can use libevent if you want. libevent is useful when using many (10000)
26outgoing ports. By default max 256 ports are opened at the same time and the
27builtin alternative is equally capable and a little faster.
28
29Use the `--with-libevent=dir` configure option to compile Unbound with libevent
30support.
31
32## Unbound configuration
33
34All of Unbound's configuration options are described in the man pages, which
35will be installed and are available on the Unbound
36[documentation page](https://nlnetlabs.nl/documentation/unbound/).
37
38An example configuration file is located in
39[doc/example.conf](https://github.com/NLnetLabs/unbound/blob/master/doc/example.conf.in).
40