Wouldn’t it be nice if there was a relatively inexpensive and straightforward way to block all the advertisements in YouTube and other apps on the AppleTV? (Besides paying a monthly subscription for YouTube Premium?!) Wouldn’t it be great if this same method provided advertisement and malware blocking for ALL Internet-connected devices on your home network? The open source software program Pi Hole, which can run in several configurations including on a less than $100 Raspberry Pi computer, offers up these tantalizing promises. Alas, however, my weekend geeky forays into this solution have been underwhelming, although still informative and not without hope. In this post, I’ll share a few of my lessons learned.
My friend and ADE brother Larry Anderson shared a post on Facebook about a week ago touting the benefits of Pi Hole running on Raspberry Pi, and I was intrigued enough to do a little research and order my own hardware late last week. Our son helped me put together this list. All the requisite parts arrived Friday and Saturday via Amazon. I needed to add a small unmanaged switch to our home network configuration by adding this additional computer (and that item is on the Amazon list too) but I actually could have skipped the last two items, which are needed if I want to connect the Raspberry Pi directly to a monitor. So far, I haven’t needed to. (I’ve run my Pi “headless,” which might sound macabre but is actually both cool and efficient.)
I’ve heard about the Rasperry Pi computer for years, especially when I was teaching 4th and 5th grade STEM in 2013-15. This was my first time to build / setup and configure a Pi computer, although not my first time to dabble with Linux. This is the primary YouTube video tutorial I used for my setup, and it was generally straightforward and helpful. As suggested, I installed the “Diet Pi” version of Linux for Raspberry Pi 4, and used Etcher to build my disk image with my MacOS laptop. I didn’t need to download or use Putty, since the MacOS terminal has default commands to connect via SSH to another computer. After putting the computer together, configuring the SSD card with Diet PI and plugging it into my home network, I was able to get everything configured and running via the Terminal in about 30 minutes.
Here’s where I ran into a challenge: Google WiFi (now branded as “Nest WiFi”) has a simple configuration and management interface, with some acknowledged limitations. I read a number of support forums and Reddit threads on this topic, and ultimately found some of my best information in this December 2019 MBreviews article. Because of the limitations of the Google WiFi advanced networking configuration, you can’t specify a separate DHCP server directly. The suggested workaround is to ONLY have the Google WiFi provide an IP address to your Raspberry Pi, and then have all other network clients use the Pi as their DHCP server.
In part because this is a test and I’m not 100% sold yet that I want to keep this as my permanent networking solution for DNS filtering, I didn’t want to change my home networking IP addressing configuration in such a wonky way. It turns out Pi Hole can work FINE with Google WiFi if you just set its IP address as the Google WiFi / Nest primary DNS server address. The downside is you can’t see all your different network clients, they all appear as a single client. Since I’m less interested in analyzing dashboard reports of client network traffic and more interested in just BLOCKING ADS, I decided to configure my Pi Hole setup with this limited configuration.
So, what are the results? Well, they are mixed.
First of all, the responsiveness of Internet queries is slower using my Pi Hole / home brew DNS server with blocklists. It’s not excruciatingly painful for most sites, but it is for some. I found this to be an issue on school networks at times as well… the DNS server wouldn’t be super-responsive. Changing local laptop client DNS settings to Google (126.96.36.199) can often make a BIG difference in terms of the speed of web browser connections.
Second of all, ad blocking. The Pi Hole DOES seem to be blocking a lot of advertisements, but not everything on YouTube on the AppleTV and in the YouTube app on my iPhone. This 2 year old Reddit thread, this Sept 2019 ZDnet article, and some other discussion forum posts I read explain that DOMAIN LEVEL ad blocking (like that attempted by Pi Hole) cannot work 100% of the time today, because many of the advertisements shared and used by Google / YouTube, Facebook, and other platforms originate on the SAME domains as the shared CONTENT. uBlock Origin is the fantastic and free ad-blocker I use in my MacOS Chrome browser, Chromebooks (when I use them at school) and more infrequently now, in the FireFox browser. uBlock Origin is able to use much more sophisticated methods for analyzing potential ad content when you use it in a web browser, which has to do with web certificates, TLS and other acronyms beyond my desired geek knowledge quotient today.
The simple way to say this is: Pi Hole DOES block SOME web advertisements, but not everything… and you shouldn’t expect it to block all your ads on YouTube for AppleTV or YouTube for iOS. In some cases tonight, it did block them… In others, a black screen with a spinning wheel showed on the screen for awhile instead of an advertisement, and then eventually, the movie I had clicked on played. This is my first night to conduct these tests… So as we continue to test our devices (especially with YouTube) and the local Pi Hole DNS server / ad blocker, I’ll update this post with new information.
Ad blocking is a continual game of cat and mouse between platforms which depend on ad revenue and consumers / privacy advocacy groups which want to curtail the reach of companies rooted in surveillance capitalism. I will say it’s LOVELY to be able to turn OFF my ad blocker on websites which previously had presented me with a popup message, saying I couldn’t read any of the content on their site until I did so. Now, the advertisements are blocked by my NETWORK CONFIGURATION rather than my browser setup… so those irritating moments and interactions may be a thing of the past… on my HOME network now.
I’ll say it’s also AMAZING to see many news websites which are ‘normally’ chock-full of advertisements, when you’re computer is sitting behind a Pi Hole. I really don’t want to view or experience the web any other way.
Our testing of this Pi Hole home networking configuration will continue. Overall, I would give it 3 out of 5 stars. Not overwhelmingly awesome in every way I’d hoped… but really good in many ways, and promising. If you give this a try, please let me know your experiences either with a comment below or via Twitter (@wfryer).
If you enjoyed this post and found it useful, subscribe to Wes' free newsletter. Check out Wes' video tutorial library, "Playing with Media." Information about more ways to learn with Dr. Wesley Fryer are available on wesfryer.com/after.
On this day..
- Please Vote for my SXSWedu 2013 Book Talk: Why We Need to Play with Media - 2012
- Join in a free eTechOhio Webinar Tues Sept 20th on #playingwithmedia - 2011
- Share "timed" comments on Audio Recordings with SoundCloud - 2011
- Enjoy Podcast Fast Forward and Rewind Options with Podcaster.fm - 2011
- Exploring Suzhou, China (a StoryKit mobile phone digital story) #learning2cn - 2010
- K-12 Online DEN Presentation on Slideshare - 2007
- Back in the USA, our travel day continues - 2007
- Notes from Gary Stager's Learning 2.0 Session: 10 things to do with a laptop - 2007
- Good insights from Madeleine Albright - 2006
- IM in schools - 2006