]>
Commit | Line | Data |
---|---|---|
89c4ed63 A |
1 | Introduction |
2 | =================================== | |
3 | ||
4 | **Unbound** | |
5 | ||
6 | `Unbound`_ is an implementation of a DNS resolver, that performs caching and DNSSEC validation. | |
7 | Together with unbound, the libunbound library is provided. | |
8 | This library can be used to convert hostnames to ip addresses, and back, as well as obtain other information. | |
9 | Since the resolver allows to specify the class and type of a query (A record, NS, MX, ...), this library offers powerful resolving tool. | |
10 | The library also performs public-key validation of results with DNSSEC. | |
11 | ||
12 | .. _Unbound: http://www.unbound.net/documentation | |
13 | ||
14 | **pyUnbound** | |
15 | ||
16 | The pyUnbound is an extension module for Python which provides an object-oriented interface to libunbound. | |
17 | It is the first Python module which offers thread-safe caching resolver. | |
18 | ||
19 | The interface was designed with the emphasis on the simplicity of use. | |
20 | There are two main classes :class:`unbound.ub_ctx` (a validation and resolution context) and :class:`unbound.ub_result` which contains the validation and resolution results. | |
21 | The objects are thread-safe, and a context can be used in non-threaded as well as threaded environment. | |
22 | Resolution can be performed blocking and non-blocking (i.e. asynchronous). | |
23 | The asynchronous method returns from the call immediately, so that processing can go on, while the results become available later. | |
24 | ||
25 | **Features** | |
26 | * customizable caching validation resolver for synchronous and asynchronous lookups | |
27 | * easy to use object interface | |
28 | * easy to integrate extension module | |
29 | * designed for thread environment (i.e. thread-safe) | |
30 | * allows define and customize of local zone and its RR's during the operation (i.e. without restart) | |
31 | * includes encoding functions to simplify the results retrieval | |
32 | * Internationalized domain name (`IDN`_) support | |
33 | ||
34 | .. _IDN: http://en.wikipedia.org/wiki/Internationalized_domain_name | |
35 | ||
36 | **Application area** | |
37 | * DNS-based applications performing DNS lookups; the caching resolver can reduce overhead | |
38 | * Applications where the validation of DNS records is required | |
39 | * Great solution for customizable and dynamic DNS-based white/blacklists (spam rejection, connection rejection, ...) using the dynamic local zone manipulation |