Here I was able to run the latest version of PiHole on a Pogoplug Pro.
The basic process is you run the automatic installer script, it eventually fails, you pick up the pieces from there.
Prerequisites:
Make sure your packages are up to date
Install Fake Hardware Clock. I'm not sure it's absolutely required, but doesn't hurt and may be helpful since the Pogos don't have hardware clocks.
Run the PiHole installer script (more info about this script and other methods of running it are available here)
Now we'll need to compile and install nettle and FTLDNS (more info on that here)
If the last command doesn't start the pihole-FTL service we'll need to move the pihole-FTL replaced the automatic installer's binary with the new binary we just made.
Rename the pre-packaged binary
From the directory that you cloned the FTL repo, copy the newly compiled binary to the usr/bin folder and make a backup of this file:
Restart the PiHole service
Start the DNS service
Update the blocklists
Now check that you're able to access the PiHole web interface - http://[POGO.IP.ADDRESS.HERE]/admin/
You should see 3 green dots for your status in the top left.
If everything is working, you can change your routers DNS server address to be that of your Pogoplug Pro (above). This will route all of your network devices DNS queries through the Pogo and PiHole and block adds across your entire network. You can alternatively configure the DNS settings per-device if you don't want the whole network to use PiHole.
That's it!
If you work through these steps and have issues, try running pihole -r (repair script) and then restoring your manually compiled pihole-FTL.bak.manual binary in /usr/bin as the repair process likely replaced your active binary. It's possible the repair script could be required to get other services and files in place, and I did run it in my troubleshooting steps, but I'm not sure it was necessary.
The basic process is you run the automatic installer script, it eventually fails, you pick up the pieces from there.
Prerequisites:
- running on Debian Stretch
- latest kernel recommended 4.4.133-oxnas-tld-1
- running systemd (for automatic pihole service start on reboot)
- swap enabled (256mb in my case)
- git is installed
- you may also need to do: apt install ca-certificates
- a couple hours of patience :)
Make sure your packages are up to date
apt-get update apt-get upgrade
Install Fake Hardware Clock. I'm not sure it's absolutely required, but doesn't hurt and may be helpful since the Pogos don't have hardware clocks.
apt-get install fake-hwclock
Run the PiHole installer script (more info about this script and other methods of running it are available here)
curl -sSL https://install.pi-hole.net | bashit will fail after "Enabling lighttpd service to start on reboot"
Now we'll need to compile and install nettle and FTLDNS (more info on that here)
apt install build-essential libgmp-dev m4 wget https://ftp.gnu.org/gnu/nettle/nettle-3.4.tar.gz tar -xvzf nettle-3.4.tar.gz cd nettle-3.4 ./configure make make install git clone https://github.com/pi-hole/FTL.git cd FTL make -j 4 make install service pihole-FTL restart
If the last command doesn't start the pihole-FTL service we'll need to move the pihole-FTL replaced the automatic installer's binary with the new binary we just made.
Rename the pre-packaged binary
mv /usr/bin/pihole-FTL pihole.-FTL.bak.script
From the directory that you cloned the FTL repo, copy the newly compiled binary to the usr/bin folder and make a backup of this file:
cp FTL/pihole-FTL /usr/bin/pihole-FTL cp /usr/bin/pihole-FTL /usr/bin/pihole-FTL.bak.manual
Restart the PiHole service
service pihole-FTL restart
Start the DNS service
pihole restartdns
Update the blocklists
pihole -g
Now check that you're able to access the PiHole web interface - http://[POGO.IP.ADDRESS.HERE]/admin/
You should see 3 green dots for your status in the top left.
If everything is working, you can change your routers DNS server address to be that of your Pogoplug Pro (above). This will route all of your network devices DNS queries through the Pogo and PiHole and block adds across your entire network. You can alternatively configure the DNS settings per-device if you don't want the whole network to use PiHole.
That's it!
If you work through these steps and have issues, try running pihole -r (repair script) and then restoring your manually compiled pihole-FTL.bak.manual binary in /usr/bin as the repair process likely replaced your active binary. It's possible the repair script could be required to get other services and files in place, and I did run it in my troubleshooting steps, but I'm not sure it was necessary.