2.2 KiB
You Don't Need Pi-hole
Network-wide DNS blocking without extra hardware.
This project implements the ad-blocking functionality of a Pi-hole without needing any extra hardware.
A Pi-hole is a Raspberry Pi based "black hole" for Internet advertisements. It works by intercepting and answering DNS queries for a list of known advertisement servers.
This project instead uses dnsmasq
running on an existing server to answer DNS
queries.
How to Install
You'll need dnsmasq
installed for this.
- Clone the project:
git clone --recursive https://codeberg.org/h3xx/you-dont-need-pihole.git /etc/you-dont-need-pihole
-
Run
update.sh
to generate the blocklist. -
Update
dnsmasq.d/01-you-dont-need-pihole.conf
, replacing/etc/you-dont-need-pihole
with wherever the root of this project is installed to. -
Add the configuration directory to
dnsmasq.conf
:
echo 'conf-dir=/etc/you-dont-need-pihole/dnsmasq.d' >> /etc/dnsmasq.conf
You can also copy or symlink dnsmasq.d/01-you-dont-need-pihole.conf
if you need
the config to live somewhere else.
-
Restart the
dnsmasq
service. -
Make sure
53/udp
is unfirewalled. -
Go into your router settings and change the IP addressed provied via DHCP to be your server's local IP address. See this thread for a walkthrough.
-
Recommended: Configure your local machine to use the local
dnsmasq
daemon for client DNS queries, i.e. software running on the same server asdnsmasq
. This is a good idea because it may save some network traffic depending on how your router works. Worst case scenario, it'll do nothing.
If your OS uses dhcpcd
for network configuration, you can add this line to your
/etc/dhcpcd.conf
static domain_name_servers=127.0.0.1
License
Copyright (C) 2021-2022 Dan Church.
License GPLv3: GNU GPL version 3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
with Commons Clause 1.0 (https://commonsclause.com/).
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
You may NOT use this software for commercial purposes.