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

I'm not sure if anyone of the development team is running a compatible router - I myself use only a very very limited one, but this is fine since I disabled almost everything and let the Pi-hole DHCP do most of the networking magic.

I agree with @sschadwick that a DD-WRT tab would be questionable if it would contain more than a link to the actual Pi-hole admin interface. As one of the core developers on the web interface I can tell you that it would be complicated to keep a customized fork up-to-date.

Ok, no problem I was asking if there is any interest - you shouldnt work on something you dont want to.

I was just thinking what is the most plug-and-play scenario - which to me is you buy a router off-the-shelf with the functionality already built-in, you click a button and your internet is better.

I believe that would make the project more pervasive because quite a high level of technical understanding is required right now (each obstacle lowers the potential number of users), such as :

  1. What is a Raspberry Pi?
  2. What is DNS?
  3. What happens if I dont have any ports left on my router ?
  4. How to configure a router?
  5. Troubleshooting network issues
  6. Understanding of Linux
  7. How to install linux packages
  8. Why being tracked by ad networks is bad?
  9. Will it make much difference to my internet anyway ?

My wife only knows the last one - she complains her games and internet are worse when she is outside using phone data.

You misunderstood me - we are only a handful of people working with the code. We currently have neither the capabilities (because many other things like FTL that we want to see coming soon), nor do we have the required hardware to work on this. I'm explicitly not saying that we are not interested in this or do not like the idea, but it is currently somewhat out of scope for us to look into this.

Having said that, I also have to add that it is unclear how such a device could be brought into the market. I have no experience with the rules of business which would come into our way, but before we could put anything on the market, we would have to be sure to know what we are doing in terms of taxes, etc. Not to mention that our employers might not like to see us doing this. It just sounds undoable for us.

1 Like

It looks like there is a way to get an all-in-one router + Pi-Hole combination right now,
with an expensive and powerful router called the Turris Omnia.

It was an Indiegogo campaign which blew through its funding many times over
and raised $1,223,230 USD

Everyone here might want to check this request out...

https://discourse.pi-hole.net/t/pihole-directly-on-routers-tomato-merlinwrt-dd-wrt-openwrt

It's a request to get pihole running on DD-WRT, Tomato, Asus-Merlin, and other router distro's with a suitable optware

2 Likes

Devs please correct me if i am wrong but wouldn't the limited space ie: no hard drive and very little flash storage be a major limiting factor in natively running the software in a router?

There's more discussion going on in the other thread, but that's one of the concerns I have.

Not a dev, yet let me try to explain and outline the situation:
In general terms, you are right. Most smaller mainstream routers don't have the abilities for this.
However this does not apply for many "pricier" models (e.g. >100 bucks). Especially if they run modified firmware like DD-WRT, OpenWRT.
These routers often come with dual-core processors (around 1-1.5 GHz clock) and often a larger flash storage (e.g. RT-AC68U 128MiB Flash, 256MiB RAM). Plus support for USB attached disk (often with USB 3.0). Software repositories are also available (Entware, Entware-NG). These routers can be turned into customizable and pretty powerful tools.
You can find a lot of solutions/ideas on http://www.smallnetbuilder.com.

Usually, for a router to run optware/entware an external usb is required.

The space, however is not the real concern. The issue is that writing/handling/grepping logs takes more io and cpu resources than one would expect. And since the current design does lots of those things it is really hard on a single core cpu. Even older PIs have trouble keeping up.

i mentioned it in the other thread but my hope is for a division of labor. the ability to ship logs off the pi, so the user can pick where to have the web ui, or to not have it at all

And these aren't general purpose CPU's they are SoC's like the Pi and are designed for specific functions. Comparison to a dual core CPU at 1.5G on a desktop isn't really all that valid as the router is designed to handle routing and is specialized to excel in those functions. Almost like an ASIC. (Broadcom/Atheros)

i run KongAC (fork of DDWRT) on my R7000 it took me almost an entire day of troubleshooting to get YaMon a relatively simple addon that tracks bandwidth per MAC working properly ... and not that im a coder but i troubleshoot(electronics and networks) for my day job ... its not as easy as plug in USB install package. personally i would love to see this but im trying to be realistic

+1 for porting PiHole to PFSense please :smiley: I am willing to be a guinea pig, I'm a linux sysadmin so I can provide you with detailed tech reports if this will help you.

Which package management system does it use and where are the repositories located at?

Hi Dan,

PFSense is based on FreeBSD I think most of the repos/sources can be found here

and the packages found here I believe

http://packages.pfsense.org/

As I mentioned earlier I am a linux sysadmin, but I have limited experience with FreeBSD but I can manage to use it just fine please let me know if you need anything.

Perhaps this link may also be of assistance

https://doc.pfsense.org/index.php/Developing_Packages

Packet processing really is different from general purpose computing - I think it's a valid concern, the performance you'd get with Pi-hole on a router.

If someone wants to try ad blocking on a router, grab a copy of Shibby's latest Tomato (it has ad blocking built in) and a compatible device. You may notice, as I did, how performance slows down with ad blocking enabled. Noticeably less "snappy".

Just had a report of a router that could run full Debian on it and it appears to work pretty well. Enterprise router, but with enough processor power to run the package.

1 Like

Cool! The enterprise routers I'm familiar with (Cisco) don't run Debian, and the consumer routers I've used (like Linksys) aren't real power houses. Of course, it also matters what else if running on the router - for example, if the router is also doing deep packet inspection (for intrusion detection), that can be a substantial additional load on the processor. So it all depends on processor type/speed, available memory, OS, and total load.

While I would be most interested in Pi-Hole running on ASUS-Merlin, I DO have a WRT1900AC sitting in a box not doing anything...
I would be willing to test builds on it after installing DDWRT.
If no one has tried running the Pi-Hole install script on DDWRT just to see what would happen yet, I will try it out.

It most likely wont work as we need apt/yum repositories to pull in the package. You may be able to modify things to get the dependencies and walk the process manually, but the installer script will not work.