PiHole directly on Routers (Tomato, MerlinWRT, DD-WRT, openWRT)


OK, I thought there would be a lot of dependencies that just aren’t in DDWRT.
If someone was willing to list the dependencies/sources, I could try manually.

I forgot that I also have a Linksys AC1900 also sitting in a box not doing anything in addition to the WRT1900AC. Seems like another potential test box to me.


Major ones are dnsmasq and lighttpd but you can check the basic install script for all of the dependencies. They are listed at the top of the installer script.

split this topic #63

A post was split to a new topic: Pi-hole on ASUS RT-AC68U not working


I actually had a go at getting pi-hole working on LEDE 17.01.2 a while back (on a TP-Link Archer C7v2) https://github.com/mrkno/pi-hole-lede-openwrt (changes made here)

It was fairly easy to get most of it working, with two notable exceptions:

  • whiptail does not exist in the standard opkg packages and there is no suitable replacement. I know using optware instead would be a solution here, but I was trying to minimise the changes I needed to make to the standard installation
  • git as a dependency takes up an inordinate amount of space on the device


Hi. I do not wish to spam this developers post, but I have a big interest in what you managed to get working on a TP-Link Archer C7 v2 running LEDE, since I am running the exact same setup.
how do I use what you’ve created to install it on my current LEDE setup?


Note that although I got it working, through subsequent reflashes of the firmware I no longer have this setup. Additionally the changes I made were just enough to get it running but were by no means complete.

  1. extroot to have enough space for the git dependency.
  2. Compile newt for MIPS and install it onto the device (this gives you whiptail).
  3. Migrate luci to lighttpd. Note that configuration should be put in an external.conf file not the main configuration file and luci should not be on port 80.
  4. Run the modified install script from my fork: https://raw.githubusercontent.com/mrkno/pi-hole-lede-openwrt/master/automated%20install/basic-install.sh
  5. Manually debug the multitude of problems it will cause - I can’t remember what they all were.


LEDE / OpenWRT has a package for ad blocking. Have folks looked at that?

This package also has a GUI component via LEDE’s LuCI UI.

I haven’t tried it (I run PiHole on a Pi3), but it might do what people want.


From our Hardware/Software requirements page:

We officially support the following:

  • Raspbian: Jessie (lite / with pixel)
  • Ubuntu: 14.04 / 16.04 / 16.10
  • Fedora: 24 / 25
  • Debian: 8.6
  • CentOS: 7.2.1511 / 7.3.1611

There are already a few threads that relate to this topic.

This appears to be the “big thread” relating to it.

I believe as of now, it was deemed “out-of-scope”

I’m also assuming there are alot of various factors involved with routers, OS, and being able to officially support one router versus another.

But don’t let anything I say hinder you from trying!


Ok, sorry, I had not seen. However, would be amazing to be offered for them firmwares.

Some of the above firmwares basically run GNU/Linux, right? Are so many problems that arise?

Think about it. Thank you!


First of all, congratulations on your amazing project. Ιs a very good project and I personally think his need is more imperative than ever!

It can be installed on OpenWrt ?
I have the Asus RT-N66 router to which I have installed the OpenWrt firmware.
The features that your software offers are awesome, hey are really amazing! I thought it would be even more flexible and easy to use ( & user friendly ) if it is possible to install it on router.

Is this possible?
What is your point of view?

Thank you.


IMO an AD blocker like PiHole would be a great addition to open router OS’s like DD-WRT, openWRT etc, that being said, I think PiHole itself should stay focused on the single-board computers of its roots. Maybe a new project for an open router ad blocker…


Hello everyone and congratulations for the realization of the script.

For the owners of an Asus router (With MerlinWRT), it would be very much a guide (even a video tutorial) with the steps to be taken.


  1. bla bla bla
  2. bla bla bla
  3. bla bla bla

Thanks so much!


Did this project go anywhere? Was there a fork? Were some of the assumptions in the Pi-Hole scripts removed (out to variables)?


Just an aside, there is an existing adblock system for MerlinWRT routers - https://github.com/decoderman/AB-Solution

So this is all well within the realm of technically feasible, but it may require significant changes to the codebase. I wouldn’t expect anything for a while unless someone outside of the core dev team decides to pick this up as a pet project.


finally have you installed pihole in router with lede…?
could you let me knwo how you have done to install newt…?


while dated in 2015, it seems Debian on your router is a thing;


the hiccup being so many steps, and not the most efficient setup as its run ontop of other firmware, but its a start I think…

Pihole on a router would be sweet, but also debian on a router would be sweeter as!


Dnsmasq is included by default in DD-WRT and lightttpd can be installed via opkg.


https://docs.pi-hole.net/ftldns/compatibility/ is a list of the platforms that are currently known to be compatible with FLTDNS. You can try to compile FTL for your router but as we do not offer binaries not currently compiled by our own CI/CD process we would not be able to provide binaries. We also are not currently able to package for repository deployment via apt/yum/opkg/etc…


I didn’t say anything about FTLDNS. I only replied with information about DD-WRT.


FTLDNS takes the place of dnsmasq (has dnsmasq embedded), so would need to be installed to run Pi-Hole on the router.