Pi-hole v5.0 is here!
Содержание:
PiHole Tutorial — Closing Thoughts
I tried to cover almost all the basic instructions in this Pi Hole setup guide. There are several other advanced tweaks such as PiHole host file, dnsmasq in the router, etc. that were left out of this guide. But the information in this PiHole tutorial is more than enough to get you rolling with whole-home Ad blocking.
Once again, I want to reiterate that by blocking ads, you are essentially hindering content creativity. So if you visit legitimate sites that depend on ad revenue, then please consider whitelisting those. In addition, please consider donating to PiHole development.
I hope you enjoyed this Pi Hole ad blocker setup and configuration guide.
PiHole Tweaks
Вот некоторые настройки Pi Hole, которые могут сделать настройку Pi Hole еще лучше.
Переместить журнал запросов в оперативную память – защищает SD-карту
Ведение журнала запросов предоставляет много полезной информации, как показано ниже. Кроме того, вы получаете много статистики.

Журнал запросов PiHole
Обширные записи могут повредить SD-карту. По этой причине я предложил отключить ведение журнала запросов
Обратите внимание, что это влияет только на журнал PiHole, а не на базу данных, которая является долгосрочной базой данных
Но что, если вы хотите оставить его включенным для всей полезной информации, которую он предоставляет? В этом случае хорошим вариантом является перемещение журналов в оперативную память вместо SD-карты. Таким образом, все ваши журналы в операционной системе Raspbian Lite будут записываться в ОЗУ вместо SD-карты, что продлевает срок службы SD-карты.
Для этого я использую и рекомендую Log2ram. Страница GitHub содержит всю информацию для начала и настройки, которая занимает всего около 5 минут или меньше. Поэтому я не буду вдаваться в подробности настройки в этом руководстве PiHole.
DNS через HTTPS
Pi Hole Ad Blocker отлично подходит для того, что он делает, блокируя рекламу. Но ваши DNS-серверы (например, ваш интернет-провайдер, Google и т.д.) Могут и делают анализ, чтобы выяснить, какие веб-сайты вы посещаете (даже сайты HTTPS). Это связано с тем, что разрешения имен DNS (например, google.com – это IP-адрес в Интернете) выполняются в виде простых текстов. Кроме того, это также создает определенный уровень риска для безопасности.
Решением здесь является отправка даже вашего DNS-поиска по протоколу HTTPS (зашифрованному). Не все провайдеры DNS предлагают это (потому что они не смогут отслеживать вашу деятельность). Cloudflare предоставляет DNS через HTTPS.
Настроить DNS через HTTPS с помощью Pi Hole на Raspberry Pi довольно просто. Это требует командной строки, но это довольно просто, если вы будете следовать документации Pi Hole для DNS через HTTPS.
Объединить Pi Hole с Unbound
У меня есть Pi Hole и DNS Over HTTPS, могу ли я улучшить свою конфиденциальность еще больше?
Определенно. Посмотрите на настройку Unbound с PiHole. Вместо того, чтобы доверять вышестоящему DNS (например, Cloudflare 1.1.1.1 или 1.0.0.1), Unbound, рекурсивный распознаватель DNS, который будет работать локально, будет подключаться к ответственному серверу напрямую. Это позволит избежать точного пути, который вы посещаете, чтобы войти куда угодно.
Если вы решили настроить Unbound, то обязательно отключите кэширование и проверку DNSSEC. Из-за некоторых существующих ошибок DNSSEC в dnsmasq разработчики рекомендуют не использовать Pi-Hole DNSSEC с unbound или Cloudflared. Вы можете отключить DNSSEC, используя панель администратора Pi Hole (Настройки -> DNS). Отключение кэширования Pi Hole требует установки размера кэша равным 0 в /etc/dnsmasq.d/01-pihole.conf, как описано здесь.
Issues
1) The pi-hole doesn’t “containerize” well
The real pi-hole
- has a nice in-place upgrade path
- has easy/web-based mechanisms to download your config (whitelist/blacklist) and the upload/restore if/when you get a new pi/reinstall the os
- will show you a nice “blocked by pi-hole” message/image/svg when it blocks something
The most “authentic” way to run pi-hole on a Synology NAS would be to let the docker image use host level neworking. This means the pi-hole needs port 53 (to actually respond to DNS requests) and port 80 (to host the Admin UI and to show the nice “blocked by pi-hole” images).
If you let it have port 80, then that means lots of other Synology apps won’t work.
If you run it with “bridged” networking (basically the docker image is NATed) then, you don’t get
- nice “blocked by pi-hole” message
- to see which deviceds on your network are making DNS calls
2) Docker on Synology is “fiddly”
You find the image you want and “download” it, and get it running. Now then, how do you upgrade / pull a fresh image? I couldn’t get to a good answer on that.
Here is what I ended up doing
- Select the Container, and then do Setting -> Export
- Delete the container.
- Wait, why would I delete a known working container, instead of just making a “new” one from the Setting -> Export config file?
- Because, Synology / Docker won’t let you as you would have two containers each trying to bind port 53.
- Delete the image.
- Wait, why wouldn’t I just “refresh” the image, and then create a new container from the Settings -> Export config file?
- Well, I couldn’t find / figure out how to update / pull the latest image / verify which image I have. I.e. there is no “refresh button”.
- Also, the Setting -> Export JSON config file has a bunch of GUIDy looking references. I might be the case that your exported settings actually reference a “particular version” of the image.
- Redownload the image.
- Wait, it won’t download now. Actually, no docker images will download now. WTF?
- Yeah so turns out I had a circular dependency of DNS lookup between my wifi-router and the NAS, that only showed up when the NAS stopped being a DNS server / when the docker image was stopped.
7: Фильтрация списка блокировки
Сервис Pi-hole поставляется с набором списков блокировки по умолчанию, которые поддерживаются командой разработчиков проекта; однако эти списки не всегда исчерпывающи. В идеале вы должны адаптировать списки в соответствии с вашими потребностями и приложениями, которые вы используете. Вы можете управлять списками блокировки и многими другими параметрами с помощью веб-интерфейса администратора Pi-hole.
Чтобы управлять Pi-hole через веб-интерфейс, сначала необходимо подключиться к сети OpenVPN. После того, как вы подключитесь, перейдите в веб-браузере на домашнюю страницу веб-интерфейса по адресу http://10.8.0.1/admin.
Вы увидите страницу, на которой представлены виджеты, сообщающие количество запросов, заблокированных в течение 24 часов (Queries Blocked Last 24 Hours), общее количество запросов за 24 часа (Queries Last 24 Hours), заблокированные запросы в процентах (Queries Blocked Last 24 Hours) и количество доменов в списке блокировки (Domains on Blocklists). Вы также увидите диаграмму запросов за последние 24 часа (Queries over last 24 hours), индикатор состояния Pi-hole и параметры навигации дашборда, форму входа и пожертвования на PayPal.
Нажмите Login, чтобы получить доступ к полному интерфейсу. При появлении запроса введите пароль, который вы получили в конце установки Pi-hole в разделе 3.
После входа общий макет интерфейса останется прежним, но теперь он будет содержать больше опций меню в левой части экрана и дополнительные виджеты Query Types over Time и Forward Destinations over Time.
Перед добавлением новых списков блокировки в Pi-hole вы должны сначала обновить данные официального списка блокировки – возможно, последнее обновление включает некоторые или все источники данных, которые вы собираетесь добавить вручную.
В левой части экрана нажмите Tools, чтобы развернуть меню навигации, а затем выберите Update Lists.
На следующем экране нажмите синюю кнопку Update Lists в центре экрана, чтобы получить последнюю версию официального списка блокировки.
Поскольку сервис Pi-hole обновится, он покажет вам источники, из которых он извлекает данные списка, независимо от того, изменились ли они с момента последнего обновления и были ли импортированы данные в вашу установку. В конце вы увидите «Success!» в верхней части экрана.
После обновления официальных данных списка блокировки можно добавить свои собственные списки.
Нажмите Settings в меню навигации в левой части экрана, чтобы просмотреть основные параметры конфигурации Pi-hole.
На следующем экране щелкните символ + в поле Pi-Hole’s Block Lists, чтобы просмотреть текущие данные списка блокировки.
По умолчанию Pi-hole использует следующие списки для фильтрации:
- https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
- https://mirror1.malwaredomains.com/files/justdomains
- http://sysctl.org/cameleon/hosts
- https://zeustracker.abuse.ch/blocklist.php?download=domainblocklist
- https://s3.amazonaws.com/lists.disconnect.me/simple_tracking.txt
- https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt
- https://hosts-file.net/ad_servers.txt
Чтобы добавить новый список, введите URL-адрес источника в поле ввода в нижней части панели, затем нажмите кнопку Save and Update, чтобы сохранить список, и повторно запустите функцию Update Lists. Это автоматически загрузит данные, связанные с новым списком.
Больше списков блокировки можно найти здесь (списки поделены на категории: подозрительные сайты, списки рекламных сайтов и т.п.).
Installatie

We beginnen in de omgeving van onze Synology DS1019+, en openen hierbij Docker. Hoe je Docker kan installeren, lees je in Synology NAS Gids Deel 9 – Introductie 2.0. Wanneer we Docker openen, worden we gegroet door een overzicht en zien we het huidige CPU en RAM gebruik, naast de (eventueel) reeds lopende containers.

Als eerste gaan we naar het kopje “Registry” links. In de zoekbalk bovenaan zoeken we naar “pi-hole”, waarbij verschillende resultaten tevoorschijn komen. De officiële Pi-hole registry is normaliter de bovenste, namelijk “pihole/pihole”, welke we ook voor deze tutorial gaan gebruiken. Rechtermuisknop hierop, klik op “Download this image” en kies vervolgens voor de tag “latest”: hiermee halen we de meest recente versie binnen.

Wanneer we vervolgens naar het kopje “Image” gaan, zien we hier onze gedownloade versie van Pi-hole. Dubbelklik op de Image, en we openen en nieuw venster waarin we een container kunnen creëren.

Vervolgens kunnen we beginnen met configureren van de container. In het veld “Container Name” kunnen we de container een naam geven. Welke naam we hier aan toekennen is onbelangrijk voor de werking van het programma. Vervolgens selecteren we “Execute container using high privilege”, waarmee we Docker container toegang geven tot het apparaat. Daarnaast klikken we op “Advanced Settings” om extra noodzakelijke instellingen te configureren. “Advanced Settings” opent zichzelf opnieuw in een ander venster.

In het nieuw geopende venster “Advanced Settings” opent zich als eerste het kopje “Advanced Settings”. Hierbij zetten we een vinkje bij “Enable auto-restart”. Wanneer de Docker om onverwachte reden vast loopt, of wanneer de Synology NAS opnieuw opstart, zal Pi-hole zichtzelf opnieuw opstarten. Vervolgens gaan we naar het kopje “Volumes”, waarbij we mappen op de NAS creëren en toekennen aan Pi-hole.

Pi-hole heeft 2 verschillende mappen nodig: “dnsmasq.d” en “pihole”. Hoe we deze mappen op ons systeem zelf noemen is onbelangrijk, maar voor de duidelijkheid geven we ze een gelijkaardige naam. Docker zelf heeft op onze NAS al een map “docker” aangemaakt. Hierin maken we een map “pi-hole”, waar we beiden mappen in gaan steken. Hierin creëren we een map “dnsmasq.d” en een map “pihole”, welke we vervolgens mounten in “Mount path” aan respectievelijk “/etc/dnsmasq.d/” en “/etc/pihole/”. Zorg er tevens voor dat bij “Read-Only” geen vinkje staat. Het eindresultaat zou er als bovenstaand uit moeten zien.

Vervolgens gaan we naar het kopje “Network”, waar we een vinkje zetten bij “Use the same network as Docker Host”.

Als laatste stap gaan we nog naar het kopje “Environment”. Hierbij gaan we twee variabelen toevoegen:
– “WEB_PORT”: op deze poort wordt de Admin-interface weergegeven. In mijn geval draait die op poort 8080, maar een andere ongebruikte poort werkt ook prima.
– “WEBPASSWORD” : dit wachtwoord wordt gebruikt om in te loggen op de Admin-pagina.
Wijzig vervolgens de waarde bij “ServerIP” naar de het lokale IP-adres van je NAS.
En dat was het! Klik op “Apply”, waarbij het venster sluit en je opnieuw uitkomt bij ons “Create Container” venster. Klik op “Next”, waarbij we een overzicht krijgen van de aanpassingen en instellingen die we hebben gemaakt. Wanneer we vervolgens op “Apply” klikken, wordt het configuratiescherm afgesloten en wordt de container automatisch opgestart. Pi-hole draait nu op onze NAS, en de installatie is daarmee afgerond.
What is Pi-hole?
Pi-hole is a network-wide ad blocker. Instead of installing adblockers on every device and every browser, you can install Pi-hole once on your network, and it will protect all of your devices. Because it works differently than a browser-based ad-blocker, Pi-hole also block ads in non-traditional places, such as in games and on smart TVs.
I originally made Pi-hole as a replacement for the AdTrap device. I have a background in networking, so I figured I could make something better with some inexpensive hardware like the Raspberry Pi. I spent two summers working on the project and made the code open source. Four years later, we have several developers working on Pi-hole, and we have grown into a very large project with a vibrant community.
Troubleshooting
Data loss on reboot
Systems without a RTC such as some ARM devices will likely experience loss of data in the query log upon rebooting. When systems lacking a RTC boot, the time is set after the network and resolver come up. Aspects of Pi-hole can get started before this happens leading to the data loss. An incorrectly set RTC can also cause problems. See: and System time.
For devices lacking a RTC:
A hacky work-around for this is to use against wherein a delay is built in calling in a statement. Note that the value of «x» in the sleep time depends on how long your specific hardware takes to establish the time sync.
DNSMasq package conflict
Since Pi-hole-FTL 4.0, a private fork of dnsmasq is integrated in the FTL sub-project. The original package is now conflicting with AUR and will be uninstalled when upgrading from a previous version. It’s still possible to use the previous dnsmasq config files, just ensure that in the original is not commented out.
Unknown Status and changes not being saved
The issue, as seen in Task#63704, is with SystemD-created user , which is created in expired state. To fix it, run:
# chage --expiredate -1 http
Slow loading times
If you constantly notice that browser says «Resolving host» or it just takes longer to load pages than usual, ensure that your looks exactly like this:
/etc/resolv.conf
nameserver 127.0.0.1
1: Сбор информации о сети
Прежде чем приступить к установке, вам необходимо собрать сетевую информацию, которую Pi-hole использует для связи с VPN. Поскольку процесс установки Pi-hole займет текущий сеанс терминала, эту информацию нужно собрать перед началом работы.
Используйте команду ip с подкомандами addr и show, чтобы определить IP-адрес tun0, сетевого интерфейса, который использует ваш VPN-туннель.
На выходе представлена подробная информация об интерфейсе.
Рассмотрим вывод подробнее:
- Первая строка сообщает имя интерфейса, tun0, а затем идет ряд флагов, которые описывают характеристики сетевого сокета.
- Вторая строка указывает, что в настоящее время на этом интерфейсе отсутствуют устройства канального уровня.
- Третья строка содержит IP-адрес для этого сетевого интерфейса.
- В четвертой строке сообщается, что срок действия IPv6 интерфейса и предпочтительный срок его службы имеют значения forever. В этом случае время аренды IP-адреса никогда не изменится, поскольку адрес был специально назначен интерфейсу во время установки VPN.
Запишите IP-адрес после inet – это адрес вашего VPN-сервера. Он понадобится вам при установке Pi-hole.
Кроме адреса VPN-сервера, Pi-hole еще нуждается в шлюзе для трафика IPv4 (в точке доступа между различными сетями).
Используйте команду ip еще раз, на этот раз с подкомандами route и show, чтобы получить информацию о таблице маршрутизации вашего сервера. Передайте информацию таблицы маршрутизации команде grep, которая будет анализировать и искать вывод для строки default. default указывает шлюз по умолчанию, используемый сервером.
- Перенаправление ввода-вывода в Linux
- Использование Grep и регулярных выражений для поиска текстовых шаблонов в Linux
В следующем примере в выводе указывается, что IP-адрес шлюза по умолчанию — 198.51.100.1, что шлюз доступен на интерфейсе eth0 и что включена опция onlink шлюза, которая по умолчанию используется туннелированными соединениями.
Запишите IP-адрес после via – это адрес шлюза по умолчанию.
Highlights
Dark-mode
You asked for it, we added it. Dark mode has been an often-requested feature. With Pi-hole v5.1, we finally have an inbuilt dark-mode which can be enabled on the settings page.

Pi-hole v5.1 includes an official dark mode.
Improved conditional forwarding flexibility
“Conditional forwarding” can be used to tell FTL to send queries to local devices (either with a local domain) and PTR requests for private ranges to a dedicated device (typically the router of the network) instead of the configured upstreams. While this works for most users, it was not very flexible, as it implies three severe limitations (assuming the router is ):
- It is limited to IPv4
- It automatically assumes a Class D network. i.e. . This is often correct (typically for networks, but may also be wrong!
- It requires the subnet to be the same Class D network the router is in (this may be a fair assumption, however).
Pi-hole v5.1 makes conditional forwarding more flexible:
- It supports IPv4 and IPv6
- It adds a dedicated box for the local subnet to be used (can be, e.g., in above’s example)
- The router can be specified independently of the subnet, it could even be a foreign device (like “ask for all IPs in range ).
Pi-hole diagnostics system
We added a new tool providing users with easily accessible error messages. Previously, all these massages were only accessible by looking carefully through . As a result, many issues stayed unnoticed.

Fix for a severe bug in dnsmasq v2.81
We adopted dnsmasq v2.81 very early on. As it turned out, there was quite a severe bug in TCP query handling giving rise to a very large number of bug reports for FTL. We found a fix for this and it will be in dnsmasq v2.82. We have also applied the fix to Pi-hole FTL v5.1
Updated Teleporter function
Exports more items and will import everything that is exported. Also, the teleporter export file name now includes the host name of the Pi-hole that generated the file (handy if you have multiple Pi-holes).
Minor re-arrangement of admin GUI
Moved network tab to “Tools” menu. General tidying and re-wording of various bits of the web GUI.
Further details can be found in the complete change log. You see, Pi-hole v5.1 again brings a lot of new stuff and also quite some fixes and other improvements:
New
- Improve conditional forwarding (@DL6ER)
- Added support for CNAME record add/remove (@marank)
- Implement backend support for theming (@DL6ER)
- Debug extras (@PromoFaux)
- Add CAP_SYS_NICE to FTL’s capabilities (@DL6ER)
- Display warning if unsupported OS is detected (Subsquently fixed by ) (@PromoFaux)
- Add theme support for Pi-hole (@DL6ER)
- Add checkbox (save state in localstorage) to toggle between bar and smooth (@PromoFaux)
- Include hostname in backup filename (@PromoFaux)
- Allow spaces in groups when wrapping names in “…” (@DL6ER)
- Add per-browser styling settings (@DL6ER)
- Add support for HOSTNAME diagnostics message (@DL6ER)
- Switch from to (use instead of ) (@fhriley / @DL6ER)
- Pi-hole diagnostics system showing warnings on the dashboard (@DL6ER)
- Automatic IDN encoding for international domains in HOSTS files (@DL6ER)
- Add option (@DL6ER)
- Add support for additional query types (@DL6ER)
Файловый сервер Samba
Давайте обеспечим себе последнюю версию Raspbian. Скачайте ее с сайта Raspberry Pi и с помощью выбранного вами инструмента запишите образ на пустую карту microSD. По завершении извлеките карту и поместите ее в свой Pi, затем подключите клавиатуру, мышь, экран, Ethernet и, наконец, питание. Ваш Pi загрузится, и поскольку это первая загрузка, расширит файловую систему, чтобы полностью использовать место на вашей SD-карте.
Вскоре вы увидите рабочий стол Raspbian, так что давайте обновим наш Pi. Откройте терминал; иконка находится в верхней левой части экрана. В терминале построчно введите написанное ниже и нажмите Enter в конце каждой строки:
|
1 |
$sudo apt update $sudo apt upgrade-y |
Чтобы мы всегда могли найти свой Pi в сети, исправим его IP-адрес. Кликните правой кнопкой на иконке сети и выберите Wireless and Wired Network Settings . В диалоговом окне Network Preferences настройте интерфейс eth0. Отметьте Automatically configure empty options и смените адрес IPv4 в соответствии с вашей сетью. Например, наша сеть использует 192.168.0.ххх, так что мы выбрали IP-адрес как 192.168.1.100. Нажмите Apply , а затем Close . После чего перезагрузите Pi, чтобы убедиться, что IP-адрес изменился; для этого откройте терминал и введите
| 1 | $hostname-I |
Давайте оставим терминал открытым и установим пакет Samba. Введите следующее и нажмите Enter:
| 1 | Ssudo apt install samba samba-common-bin |
Когда всё установится, вставьте USB-устройство для хранения, которое мы будем использовать в качестве общей памяти. Raspbian автоматически смонтирует диск для нас, но нам необходимо знать, где он будет смонтирован. В терминале введите команду:
| 1 | $mountIgrep/dev/sd |
Теперь (если вставлен только один USB-носитель) мы должны увидеть устройство с названием /dev/sda1. Это наш USB-носитель, так что запишите у себя устройство и где оно смонтировано — обычно в /media/pi/. Запомните полный путь к диску.
Итак, у нас есть устройство — наш USB-диск, и на нем есть директория, к которой мы хотим сделать общий доступ через Samba. Давайте сообщим Samba, где найти диск. В терминале введите следующее, чтобы отредактировать файл smb.conf:
| 1 | $sudo nano/etc/samba/smb.conf |
Когда файл загрузится, перейдите в нижнюю часть файла и воссоздайте следующие строки;
|
1 |
share Comment=Pi shared folder Path=/media/pi/<NAME OF DRIVE> Browseable=yes Writeable=Yes only guest=no create mask=0777 directory mask=0777 Publics yes Guest ok=yes |
Чтобы сохранить файл и выйти из редактора, нажмите Ctrl+0. затем Enter, а затем Ctrl+X. Теперь давайте убедимся, что пользователь по умолчанию, pi, добавлен в качестве пользователя Samba. В терминале введите:
| 1 | $sudo smbpasswd-api |
Далее, чтобы убедиться, что наша настройка Samba верна и готова к использованию, надо велеть Samba перезагрузиться, так что введите в терминале
| 1 | $sudo/etc/init.d/samba restart |
По завершении установки перейдем к нашему компьютеру Windows или Linux и проверим, что мы можем найти и использовать сервер Samba.
В Ubuntu можно использовать файловый менеджер (Nautilus) для подключения через ярлык Network. Имя нашего сервера RASPBERRYPI должно быть видно. Нажмите “share” и, когда будет предложено, введите имя пользователя “pi” и пароль “raspberry” для доступа к серверу. Данный процесс выглядит похожим образом для устройств Windows 10, поскольку ярлык Network также можно найти в приложении File Manager . Пользователи Android также могут скачать приложение Samba из магазина приложений и получить доступ к файлам, прямо как десктоп-коллеги.
Итак, теперь у нас есть центральный пункт, где мы можем сохранять наши файлы и делиться ими через сеть — удобно для большого объема медиа, потребляемого людными домами!
PiHole Tweaks
Here are some Pi Hole tweaks that can make your Pi Hole setup even better.
Move Query Logging to RAM — Protects SD Card
Query logging provides a lot of useful information as shown below. In addition, you get a lot of statistics.
PiHole Query Log
Extensive writing can damage the SD card. For this reason, I suggested turning off query logging. Note that this only affects the PiHole log and not the database that long-term database.
But what if you want to leave it on for all the useful information it provides? A good option, in this case, is to move your logs to RAM instead of SD card. So all your logs on Raspbian Lite operating system will be written to RAM instead of SD card, thereby prolonging the life of SD card.
For this, I use and recommend Log2ram. The GitHub page has all the information for you to get started and customize, which only takes about 5 min or less total. So I am not going to go into the details of setting it up in this PiHole guide.
DNS Over HTTPS
Pi Hole ad blocker is great for what it does, blocking ads. But your DNS servers (eg. your ISP, Google, etc.) can and do sniff to find out what websites you are visiting (even the HTTPS sites). This is because DNS name resolutions (eg. google.com is this internet IP) are done as plain texts. In addition, this also poses some level of security risk.
The solution here is to send even your DNS lookup through HTTPS protocol (encrypted). Not all DNS providers offer this (because they won’t be able to track your activity). Cloudflare does provide DNS over HTTPS.
Setting up DNS over HTTPS with Pi Hole on Raspberry Pi, is quite easy. It requires commandline work but it is quite easy if you follow Pi Hole documentation for DNS over HTTPS.
Combine Pi Hole with Unbound
I have Pi Hole and DNS Over HTTPS, can I improve my privacy even more?
Definitely. Take a look at configuring Unbound with PiHole. Instead of trusting your upstream DNS (eg. Cloudflare’s 1.1.1.1 or 1.0.0.1), Unbound, a recursive DNS resolver which will run locally, will connect to the responsible server directly. This will avoid the exact path you are visiting to be logged anywhere.
If you decide to setup Unbound, then make sure to disable caching and DNSSEC validation. Due to some existing DNSSEC bugs in dnsmasq, the developers recommend not using Pi-Hole DNSSEC with unbound or Cloudflared. You can disable DNSSEC using the Pi Hole admin dashboard (Settings -> DNS). Disabling Pi Hole caching requires setting the cache size to 0 in /etc/dnsmasq.d/01-pihole.conf, as described here.