Thirty-six yes/no prompts for optional components in 26 install
scripts could only be answered at the terminal, so an unattended
install stopped at the first one. Each now takes var_<app>_<option>
first and still asks when it is unset. The four conditions that only
matched a single y now take yes as well, since that is what the website
sends.
The thirteen install scripts and two update paths that run an external
installer each carried the same warning and y/N read. The core helper
does the same and also takes var_external_installer, so unattended
installs can answer it. Needs community-scripts/core
feat/confirm-external-installer merged first.
When the optional Unbound install is chosen with DoT forwarding, the script
truncated (>) /etc/unbound/unbound.conf.d/pi-hole.conf and rewrote it starting
with an indented "tls-cert-bundle:" option that has no "server:" section header.
unbound-checkconf rejects this ("syntax error, is there no section start"), so
"systemctl restart unbound" exits 1 and the install aborts (line 153). The
overwrite also dropped the interface/port 5335 settings Pi-hole forwards to.
Append (>>) the DoT additions to the existing recursive server block instead,
under a proper "server:" section (unbound merges multiple server: clauses), so
the tls-cert-bundle and forward-zone are valid and the resolver keeps listening
on 127.0.0.1:5335. Recursive (non-DoT) mode is unchanged.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
* fix(pihole): create unbound config before apt install to prevent port conflict
* fix(unbound): create config before apt install to prevent port conflict
Added explicit warnings and user confirmation prompts to install scripts that run external installers from third-party sources. Updated JSON metadata to remove warning notes about external sources, as the scripts now handle user notification and consent directly. This improves transparency and user safety during installation.
* Update pihole-install.sh
* Added the option to configure Unbound as a forwarding DNS server (using DNS-over-TLS (DoT)).
* Simplified the Unbound configuration. The root hints file is actually provided by the dns-root-data package so there is no need to explicitly define it (via the root-hints configuration directive) and wget it. Also, there was no mechanism to update the file after the initial fetch - this will now done by the package manager.
* Fix: Unbound (127.0.0.1#5335) would not become active until a configuration change was made and saved or the application was updated. These are the only times (other than during install) that /etc/dnsmasq.d/01-pihole.conf is synced with /etc/pihole/setupVars.conf. Updated the install script to swap out the dns server in /etc/dnsmasq.d/01-pihole.conf similar to /etc/pihole/setupVars.conf. Delete 8.8.4.4 in both files as opposed to commenting it out as the commented out line would never be recycled.
* Update pihole.json
* Update install/pihole-install.sh
Updated the prompt text after code review.
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
---------
Co-authored-by: Håvard Gjøby Thom <34199185+havardthom@users.noreply.github.com>
* improve error handling to show more details
* improve the way it checks for root password
* consistant getty_override
* streamline verbose mode
* remove v4 scripts
* small tweaks