- doc/html
environment:
name: docs-develop/$CI_COMMIT_REF_NAME
- url: https://$CI_PROJECT_NAMESPACE.pages.nic.cz/-/knot-resolver/-/jobs/$CI_JOB_ID/artifacts/doc/html/index.html
+ url: https://www.knot-resolver.cz/documentation/artifacts/$CI_JOB_ID/index.html
# This job deploys the Knot Resolver documentation into a release environment,
# which may be found at
- doc/html
environment:
name: docs-release/$CI_COMMIT_TAG
- url: https://$CI_PROJECT_NAMESPACE.pages.nic.cz/-/knot-resolver/-/jobs/$CI_JOB_ID/artifacts/doc/html/index.html
+ url: https://www.knot-resolver.cz/documentation/artifacts/$CI_JOB_ID/index.html
# This job deploys the current docs as <https://knot.pages.nic.cz/knot-resolver>
pages:
[](https://gitlab.nic.cz/knot/knot-resolver/commits/nightly)
[](https://knot.pages.nic.cz/knot-resolver/)
-[](https://readthedocs.org/projects/knot-resolver/?badge=latest)
[](https://repology.org/project/knot-resolver/versions)
Knot Resolver is a caching full resolver implementation written in C and [LuaJIT][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](https://knot-resolver.readthedocs.io/en/latest/config-overview.html) are written in Lua(JIT) and C. Batteries are included, but optional.
+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](https://www.knot-resolver.cz/documentation/latest/config-overview.html) are written in Lua(JIT) and C. Batteries are included, but optional.
The LuaJIT modules, support DNS privacy and DNSSEC, and persistent cache with low memory footprint make it a great personal DNS resolver or a research tool to tap into DNS data. TL;DR it's the [OpenResty][openresty] of DNS.
Strong filtering rules, and auto-configuration with etcd make it a great large-scale resolver solution.
-The server adopts a [different scaling strategy][scaling] than the rest of the DNS recursors - no threading, shared-nothing architecture (except MVCC cache that may be shared) that allows you to pin instances on available CPU cores and grow by self-replication. You can start and stop additional nodes depending on the contention without downtime.
+The server adopts a [different scaling strategy][scaling] than the rest of the DNS recursors - no threading, shared-nothing architecture (except MVCC cache that may be shared) that allows you to pin instances on available CPU cores and grow by self-replication. You can start and stop additional nodes depending on the contention without downtime, which is by default automated by the included [manager][manager].
It also has strong support for DNS over TCP, notably TCP Fast-Open, query pipelining and deduplication, and response reordering.
### Packages
The latest stable packages for various distributions are available in our
-[upstream repository](https://build.opensuse.org/package/show/home:CZ-NIC:knot-resolver-latest/knot-resolver).
-Follow the
-[installation instructions](https://software.opensuse.org//download.html?project=home%3ACZ-NIC%3Aknot-resolver-latest&package=knot-resolver)
-to add this repository to your system.
+[upstream repository](https://pkg.labs.nic.cz/doc/?project=knot-resolver).
+Follow the installation instructions to add this repository to your system.
Knot Resolver is also available from the following distributions' repositories.
### Building from sources
-Knot Resolver mainly [depends][depends] on Knot DNS libraries, [LuaJIT][luajit] and [libuv][libuv].
+Knot Resolver mainly [depends][depends] on Knot DNS libraries, [LuaJIT][luajit], and [libuv][libuv].
See the [Building project][depends] documentation page for more information.
### Docker image
$ kresd
```
-See the documentation at [knot-resolver.readthedocs.io][doc] for more options.
+See the documentation at [knot-resolver.cz/documentation/latest][doc] for more options.
-[depends]: https://knot-resolver.readthedocs.io/en/stable/build.html
-[doc]: https://knot-resolver.readthedocs.io/en/stable/index.html
-[scaling]: https://knot-resolver.readthedocs.io/en/stable/systemd-multiinst.html
+[depends]: https://www.knot-resolver.cz/documentation/latest/build.html
+[doc]: https://www.knot-resolver.cz/documentation/latest/
+[scaling]: https://www.knot-resolver.cz/documentation/latest/config-multiple-workers.html
+[manager]: https://www.knot-resolver.cz/documentation/latest/architecture-manager.html
[deckard]: https://gitlab.nic.cz/knot/deckard
[luajit]: https://luajit.org/
[libuv]: http://libuv.org
-- SPDX-License-Identifier: GPL-3.0-or-later
--- Refer to manual: https://knot-resolver.readthedocs.io/en/stable/
+-- Refer to manual: https://www.knot-resolver.cz/documentation/latest/
-- Listen on localhost and external interface
net.listen('127.0.0.1', 5353)
net.listen('127.0.0.1', 8853, { tls = true })
msg = ''
end
panic('Configuration upgrade required: ' .. msg .. 'Please refer to ' ..
- 'https://knot-resolver.readthedocs.io/en/stable/upgrading.html')
+ 'https://www.knot-resolver.cz/documentation/latest/upgrading.html')
end
-- TODO: Move bootstrap to a separate module or even its own binary
nativeBuildInputs = [ pkg-config meson ninja ];
- # http://knot-resolver.readthedocs.io/en/latest/build.html#requirements
+ # http://www.knot-resolver.cz/documentation/latest/build.html#dependencies
buildInputs = [ knot-dns lua.lua libuv gnutls lmdb ]
++ optionals stdenv.isLinux [ systemd libcap_ng ]
++ [ jemalloc nghttp2 ]
Knot Resolver via its HTTP API.
Full documentation is available at
-\fIhttps://knot-resolver.readthedocs.io\fR or in package documentation
-(available as knot-resolver-doc package in most distributions.
+\fIhttps://www.knot-resolver.cz/documentation/latest/\fR or in package
+documentation (available as knot-resolver-doc package in most distributions.
.SH OPTIONS
The available options are:
.TP
.B stop
Gracefully stops the running resolver.
.SH "SEE ALSO"
-\fBkresd(8)\fR, @man_seealso_systemd@\fIhttps://knot-resolver.readthedocs.io/en/v@version@/\fR
+\fBkresd(8)\fR, @man_seealso_systemd@\fIhttps://www.knot-resolver.cz/documentation/latest/\fR
.SH "AUTHORS"
.B kresd
developers are mentioned in the AUTHORS file in the distribution.
The daemon may be configured also as a plain forwarder using query policies.
This requires using a config file. Please refer to documentation for
configuration file options. It is available at
-\fIhttps://knot-resolver.readthedocs.io\fR or in package documentation
-(available as knot-resolver-doc package in most distributions).
+\fIhttps://www.knot-resolver.cz/documentation/latest/\fR or in package
+documentation (available as knot-resolver-doc package in most distributions).
The available CLI options are:
.TP
.B \-V
Show the version.
.SH "SEE ALSO"
-@man_seealso_systemd@\fIhttps://knot-resolver.readthedocs.io/en/v@version@/\fR
+@man_seealso_systemd@\fIhttps://www.knot-resolver.cz/documentation/latest/\fR
.SH "AUTHORS"
.B kresd
developers are mentioned in the AUTHORS file in the distribution.
-- In this case cache should be made as large as possible, and prefetching turned off
-- as the resolver is busy most of the time.
-- Alternative is using `etcd` as a configuration backend.
--- Refer to manual: https://knot-resolver.readthedocs.io/en/stable/
+-- Refer to manual: https://www.knot-resolver.cz/documentation/latest/
-- Network interface configuration
net.listen('127.0.0.1', 53, { kind = 'dns' })
-- SPDX-License-Identifier: CC0-1.0
-- vim:syntax=lua:set ts=4 sw=4:
--- Refer to manual: https://knot-resolver.readthedocs.io/en/stable/
+-- Refer to manual: https://www.knot-resolver.cz/documentation/latest/
print('Knot Resolver ' .. package_version())
-- Smaller cache size
-- SPDX-License-Identifier: CC0-1.0
-- vim:syntax=lua:set ts=4 sw=4:
-- Config file example usable for multi-user ISP resolver
--- Refer to manual: https://knot-resolver.readthedocs.io/en/stable/
+-- Refer to manual: https://www.knot-resolver.cz/documentation/latest/
-- Network interface configuration
net.listen('127.0.0.1', 53, { kind = 'dns' })
-- SPDX-License-Identifier: CC0-1.0
-- vim:syntax=lua:set ts=4 sw=4:
-- Config file example usable for ISP resolver
--- Refer to manual: https://knot-resolver.readthedocs.io/en/stable/
+-- Refer to manual: https://www.knot-resolver.cz/documentation/latest/
-- Network interface configuration
net.listen('127.0.0.1', 53, { kind = 'dns' })
-- SPDX-License-Identifier: CC0-1.0
-- vim:syntax=lua:set ts=4 sw=4:
--- Refer to manual: https://knot-resolver.readthedocs.org/en/stable/
+-- Refer to manual: https://www.knot-resolver.cz/documentation/latest/
-- Network interface configuration
net.listen('127.0.0.1', 53, { kind = 'dns' })
-- SPDX-License-Identifier: CC0-1.0
-- vim:syntax=lua:set ts=4 sw=4:
-- Config file example usable for privacy-preserving resolver
--- Refer to manual: https://knot-resolver.readthedocs.io/en/stable/
+-- Refer to manual: https://www.knot-resolver.cz/documentation/latest/
-- Network interface configuration
net.listen('127.0.0.1', 53, { kind = 'dns' })
-- SPDX-License-Identifier: CC0-1.0
-- vim:syntax=lua:set ts=4 sw=4:
-- Config file with split-view for internal zone
--- Refer to manual: https://knot-resolver.readthedocs.io/en/stable/
+-- Refer to manual: https://www.knot-resolver.cz/documentation/latest/
-- Network interface configuration
net.listen('127.0.0.1', 53, { kind = 'dns' })
/* In case someone re-compiled against new kresd
* but haven't actually changed the symbols. */
kr_log_error(SYSTEM, "module %s requires upgrade. Please refer to "
- "https://knot-resolver.readthedocs.io/en/stable/upgrading.html",
+ "https://www.knot-resolver.cz/documentation/latest/upgrading.html",
module->name);
return kr_error(ENOTSUP);
}
-# Refer to manual: https://knot-resolver.readthedocs.io/en/stable/
+# Refer to manual: https://www.knot-resolver.cz/documentation/latest/
network:
listen:
-# Refer to manual: https://knot-resolver.readthedocs.io/en/stable/
+# Refer to manual: https://www.knot-resolver.cz/documentation/latest/
network:
listen:
-# Refer to manual: https://knot-resolver.readthedocs.io/en/stable/
+# Refer to manual: https://www.knot-resolver.cz/documentation/latest/
network:
listen:
- name: '.' # Root is the default so could be omitted?
servers: [2001:148f:fffe::1, 2001:148f:ffff::1, 185.43.135.1, 193.14.47.1]
# TLS forward, server authenticated using hostname and system-wide CA certificates
- # https://knot-resolver.readthedocs.io/en/stable/modules-policy.html?highlight=forward#tls-examples
+ # https://www.knot-resolver.cz/documentation/latest/modules-policy.html?highlight=forward#tls-examples
- name: '.'
servers:
- address: [ 192.0.2.1, 192.0.2.2@5353 ]
- subtree: 1.168.192.in-addr.arpa
servers: [ 192.0.2.1@5353 ]
options:
- dnssec: false # policy.STUB?
\ No newline at end of file
+ dnssec: false # policy.STUB?
"reqtrace",
]
-# FLAGS from https://knot-resolver.readthedocs.io/en/stable/lib.html?highlight=options#c.kr_qflags
+# FLAGS from https://www.knot-resolver.cz/documentation/latest/lib.html?highlight=options#c.kr_qflags
PolicyFlagEnum = Literal[
"no-minimize",
"no-ipv4",
.SH "SEE ALSO"
\fIkresd(8)\fR,
\fIsystemd.unit(5)\fR,
-\fIhttps://knot-resolver.readthedocs.io/en/v@version@/\fR
+\fIhttps://www.knot-resolver.cz/documentation/latest/\fR
.SH "AUTHORS"
.B kresd