Introducing "phad", a new text/console display for Pi-hole that is specifically designed to support Raspberry-Pi touch screens and multiple "pages" that can be completely customized


I’m an avid Pi-hole user and currently have two of them running on separate VLAN’s in my home network. They’re both running on Raspberry Pi 3’s with Raspbian 9 (stretch) and with Adafruit TFT 3.5" displays. For the most part I rely on the web interface, but I do occasionally rely on the TFT display for quick health checks, etc.

While the built-in Pi-hole chronometer is a nice feature, and PADD (formerly Chronometer2) is a really handy utility, I still felt a little was missing. There’s a lot more information available from Pi-hole than can realistically fit on one screen, and many of the popular displays for Raspberry Pi’s are TOUCH screens. So I thought, “Why not create a display that actually uses the touchscreen functionality?” I also thought “Why not use templates for the display so people can customize their displays?”

The result of those two questions I posed to myself is a Python app I named “phad”, for “pi-hole alternate display”.

The main screen of phad will look very familiar to people who use PADD. It does provide a nice summary of the current state of your Pi-Hole, so why change what works? But if you have a touch screen then tapping on it will also cycle through displays of the top 20 ads, then the top 20 domains, and finally the top 20 clients.

And these displays are just the default ones that come with phad. If you are familiar with jinja2 formatting and how to format python variables you can easily create custom templates to display Pi-hole data virtually any way you can imagine.

And if you don’t have a touchscreen display you can still make use of phad. It has the option to cycle between displays every few seconds, and you can control the rate at which the displays cycle and exactly which ones are displayed.

Because of the flexibility of phad it may be a little cumbersome for folks who are not programmers or otherwise technically savvy. It is written in Python, and does require a Python module that is not installed on Raspbian by default, but it is written such that it should be fairly easy to install and launch by following the installation instructions in the README.

This is still very much a work in progress on my behalf, so comments, suggestions, etc. are all appreciated.

For more information, including screen shots, installation instructions, etc. please see the project page: