DNS over TLS and HTTPS set up in one step

jarl encrypted-dns setup (and the Encrypted DNS page) finds or obtains a
certificate for the host name, checks that nothing else listens on the
DoT and DoH ports at the chosen addresses (offering a free DoH port), and
stages named's tls statement and listeners as one change, keeping port 53
where it was when there was no listen-on, plus the host name's records in
the private views (local to the view in a linked zone). Status shows what
to give Android, Linux, Firefox, Chrome and Windows clients. A tls
statement with missing files is refused (tls_file_missing), and a
certificate named uses can't be deleted. docs/encrypted-dns.md, e2e with
real DoT and DoH queries.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
adamandClaude Opus 5.5 committed 2026-10-12 17:09:14 +01:00
1 parent ebd3a3dfbe
commit 66dcf53684
21 files changed
+1790 -8

No files matched your search

+11
View File
@@ -40,6 +40,17 @@ All notable changes to Jarl are documented here. The format follows
### Added
- DNS over TLS and HTTPS ([docs/encrypted-dns.md](docs/encrypted-dns.md)):
`jarl encrypted-dns setup --hostname NAME --address ADDR` (and the
Encrypted DNS page) obtains a certificate for the host name if needed,
checks that nothing else listens on port 853 and the DoH port (443 by
default) at those addresses, offering a free port, and stages named's
`tls` statement and listeners as one change, keeping port 53 where it
was, plus the host name's records in your private views (local to the
view in a linked zone). The page and `jarl encrypted-dns` say what to
give Android, Linux, Firefox, Chrome and Windows. A `tls` statement whose
files are missing is refused (`tls_file_missing`), and a certificate
named uses can't be deleted.
- Linked zones ([docs/views.md](docs/views.md#linked-zones)): zones of the
same name in different views can be linked, and Jarl keeps their shared
records in step: a change in one view reaches the others in the same