Knot Resolver is open-source. It is completely free to download and use. The source code is available under GPL license. Our development process is transparent and driven by the needs of community and donating users.
Modular architecture of the library keeps the core tiny and efficient, and provides a state-machine like API for extensions. The Lua modules, switchable and shareable cache, and fast FFI bindingsmakes it great to tap into resolution process, or be used for yourrecursive DNS service. It's the OpenResty of DNS.
The server adopts a different scaling strategy than the rest of the DNSrecursors - no threading, shared-nothing architecture (except MVCC cachethat may be shared). You can start and stop additional nodes depending on the contention without downtime.
Secure and stable
The code is being constantly checked by an extensive testing suite to attain stability, assure interoperability with other DNS implementations, avoid performance regressions, and circumvent possible security-related problems.
Knot Resolver is a caching full resolver implementation written in C and LuaJIT, both a resolver library and a daemon. The core architecture is tiny and efficient, and provides a foundation and a state-machine like API for extensions. There are three modules built-in - iterator, validator, cache, and a few more are loaded by default. Most of the rich features are written in Lua(JIT) and C. Batteries are included, but optional.