Raspberry Pi Uncategorized

Announcing And An Ad-blocking Operating System has been up for a while but thought I would announce it here.  As of now, information on the Pi-hole is scattered throughout my many blog posts, so having a centralized location should help you find what you need.

From that site, I will provide more professional installation instructions, documentation, and troubleshooting tips, etc.  It is also a better place for newcomers to learn how the Pi-hole works.  From the main page, users will find this short little video that sums it up pretty well.

Coming Soon: A Pi-hole Operating System Powered By DietPi

I am also hoping to release an installable operating system pre-configured as a Pi-hole.  This would allow you to download a .img file, burn it to an SD card, and then it is ready to go. DietPi is a minimized version of Raspbian, so it should improve performance as it is designed to only run the software you need.


More Updates, More Ads Blocked, More Stuff

There are also some other pretty cool things on the (event) horizon so stay tuned.  And if you use the Pi-hole and enjoy it, I would appreciate your donations as it is a lot of work to write the posts and explanations as anyone who runs a blog knows.

Donate Bitcoins

12 replies on “Announcing And An Ad-blocking Operating System”

So (hopefully quick) question. If I set the pi-hole to be the primary DNS server in my router, how do will my devices get their internet connection (router is a modem/router provided by company)? If the PI serves as the DNS, won’t that make the machines go from Pi to Router and repeat and never get past the network? Or should I set the primary as Pi and secondary as Router?

One of the fundamental component of pihole is linux daemon dnsmasq. While settling up pihole you setup dnsmasq to forward all the unblocked/geniun non-ad dns-queries to your preferred dns. In this case your isp provided ones or google or something else but a true dns service. dnsmasq blocks out all the ad dns queries and forward all the unblocked request. Ones it gets a answer from those true dns services, it answers ur devices with that answer. Devices gets what they needed and just works as it should. One intersting way to setup this as to tell your router’s dhcp to issue pihole as primary dns and a true dns service as secondary. The result is amazing. When the pihole functioning properly it will block ads and you will get clean internet. When pihole fails your devices start to use the secondery dns. You still continue to get internet but with ads. end result is a completely transperent adblocking.

As anon mentioned, if you set the DNS server as part of your DHCP options, it works. For example, on my Linksys router, I set the DNS server to my Pi ( in the DHCP options area, so now when any client connects to the network and gets an address, it also gets the DNS server that I decide. Doing it this way allows you to have ads blocked for anyone that connects to your network, no matter what device they have. If you don’t do it this way, each client would need to manually set their DNS server to the Pi.

This is actually pretty awesome and what AdTrap should have been from the get-go, instead of the router solution they came up with.

I posted a link for Pi-Hole v2 to reddit a few days ago, hopefully that will drive some interest and traffic your way.

I made the Pi-hole because I was disappointed with the AdTrap. But I did like how it was a hardware-based solution, so the Pi seemed like the best choice since it is only $35.

Thanks for the link–I hope more people find and enjoy the Pi-hole.

Really looking forward to trying DietPi when you get it going! Thanks for sharing your hard work, Jacob!

Love the concept and the implementation!!

I had installed Pi-Hole on an existing Raspberry Pi B (512Mb RAM and 2 USB ports) a few eeks ago and was impressed enough to re-purpose the device only for PiHole. However, on attempting the installation multiple times today it runs into an error – While running and error is reported that it is unable to allocate memory. I have tried using Raspbian and Minibian from 02-18-2015 as the base OS.
This is the precise error that shows up —>
Getting list…
/usr/local/bin/ fork: Cannot allocate memory

Would appreciate any ideas…..

We have been working on this for a while now but I think your best bet is to:

1. Set 16MB memory to the GPU via raspi-config

2. Increase the swap using these commands

dphys-swapfile swapoff
echo -e "CONF_SWAPSIZE=500" > /etc/dphys-swapfile
dphys-swapfile setup
dphys-swapfile swapon

I am going to incorporate it into the script soon. It’s just the mahakala list that causes the issue. You can also remove that list temporarily and then run the script.

Appreciate the quick reply. Tried this and got it to work. Had to use sudo in front of the commands and for setting the swapfile size, the echo kept on giving permission error, so did a sudo nano and changed the CONF_SWAPSIZE=500

Works brilliantly now. Thanks again.

Great to hear. I hope to work on this tonight for the main project. I might just have to make a file to download if the echo command doesn’t work via sudo.

Leave a Reply