What's new

Entware Pi-hole directly on the router? Yes!

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

jacklul

Regular Contributor
So, I squeezed Pi-hole V6 beta into Entware package.
I've been working on this for some time and now it reached a stage where there is not much to add to this based on my testing.
Got motivated by the open feature request on the Pi-hole's Discourse and also by a need to have a "backup" Pi-hole in case the one on my Raspberry Pi fails.
Been running it on my stock AX58U setup for weeks and it just works.

Currently only aarch64-3.10, armv7-3.2 and x64-3.2 Entware architectures are supported.
Pi-hole's Docker builder images do not support MIPS architecture so that's something that would have to be built manually, I've seen people reporting that they can't build for MIPS anyway so that's put on hold for now.

Package installation instructions are available here: https://github.com/jacklul/entware-pi-hole#installation
Be sure to check the wiki page for stock/Asuswrt-Merlin install instructions.

Would appreciate anyone who is willing to try it out and provide some feedback and issue reports!
 
Last edited:
I will give it a try...

In terms of memory, etc, how much does it take? Could you share your findings? More details, please...

Thanks
 
In terms of memory, etc, how much does it take? Could you share your findings? More details, please...
The daemon seems to take only few MBs of memory but it also uses shared memory for the database contents (I believe it is counted as cached memory by the system), so you probably want to have free memory equal to at least the size of gravity.db.

The gravity update script can spike memory usage up to ~100MB of usage with basic blocklists, depending on how many blocklists you add (and how big they are) the gravity update memory requirements will go up. Will definitely recommend at least 1GB swap file.

In my case I have a lot of free RAM so I run the Entware from it, out of 512MB my device has I currently sit at ~200MB free, Entware takes around 110MB in tmpfs. I also run few other things from it like xupnpd2 and nginx proxy.
 
Last edited:
So, I squeezed Pi-hole V6 beta into Entware package.
I've been working on this for some time and now it reached a stage where there is not much to add to this based on my testing.
Got motivated by the open feature request on the Pi-hole's Discourse and also by a need to have a "backup" Pi-hole in case the one on my Raspberry Pi fails.
Been running it on my stock AX58U setup for weeks and it just works.

Currently only aarch64-3.10, armv7-3.2 and x64-3.2 Entware architectures are supported.
Pi-hole's Docker builder images do not support MIPS architecture so that's something that would have to be built manually, I've seen people reporting that they can't build for MIPS anyway so that's put on hold for now.

Package installation instructions are available here: https://github.com/jacklul/entware-pi-hole#installation
Be sure to check the wiki page for stock/Asuswrt-Merlin install instructions.

Would appreciate anyone who is willing to try it out and provide some feedback and issue reports!
I haven't had time to test this, but I wanted to say great work with this. I will let you know how well it works once I get time to test it.
 
Please rename the architecture folders on https://jacklul.github.io/entware-pi-hole/ to the actual names as this will be a major generator of frustration:
aarch64-k3.10
armv7sf-k3.2
x64-k3.2
Should this matter? I guess people will get confused because the URL will be different compared to Entware's.
Entware's build scripts produce folders exactly like the ones I'm using, and the 'Architecture' variable in the package manifest uses the same scheme.
Will have to look into doing this without breaking anything...
 
Will have to look into doing this without breaking anything...
I copy-pasted my architecture name in the file an was annoyed it is not the same as the real Entware servers (including mine) have them.
I suggest you change this.
 
On my RT-AX86S I see this:
sshot-111.png
 
The WebUI is not password protected like Pi-hole does on a Raspberry install. Is this intended?
 
Code:
user@RT-AX86S-C240:/tmp/home/root# pihole -up
Function not supported in unofficial Entware package release
Does this mean there will be an Entware package update notification in - for example - amtm when running u?
Nifty if so ;)
 
Should this matter? I guess people will get confused because the URL will be different compared to Entware's.
Entware's build scripts produce folders exactly like the ones I'm using, and the 'Architecture' variable in the package manifest uses the same scheme.
Will have to look into doing this without breaking anything...
Ultimately I see this as a fully automated script that will make it into amtm. So in that context it does not matter. But it is still confusing. The Entware backports repos use the correct Entware naming scheme, so it must be possible?
 
Code:
user@RT-AX86S-C240:/tmp/home/root# pihole -up
Function not supported in unofficial Entware package release
Does this mean there will be an Entware package update notification in - for example - amtm when running u?
Nifty if so ;)
Once the Pi-hole v6 is released I plan to use Github releases for versioning (pretty much copying the way they handle it with docker-pi-hole repo), the code for update checking is already prepared (updatechecker.sh).
It will show a notification in the web UI's footer when new version is available.

Ultimately I see this as a fully automated script that will make it into amtm. So in that context it does not matter. But it is still confusing. The Entware backports repos use the correct Entware naming scheme, so it must be possible?
The change with the directories should be up now.

Anyone who already added the repository must fix their opkg.conf - see https://jacklul.github.io/entware-pi-hole/
 
@jacklul, very nice. :) One question. Will there be any issue installing your pihole-updatelists script into the Pi-Hole being run on the router (Entware)?
 
@jacklul, very nice. :) One question. Will there be any issue installing your pihole-updatelists script into the Pi-Hole being run on the router (Entware)?
The installer will not work so you will have to install the files manually.
You will also need php dependencies which I believe are all available on the Entware repo.
Then adjust paths in the following config variables (pihole-updatelists.conf):
Code:
CONFIG_FILE=/opt/etc/pihole-updatelists.conf
GRAVITY_DB=/opt/etc/pihole/gravity.db
LOCK_FILE=/opt/var/lock/pihole-updatelists.lock
PIHOLE_CMD=/opt/bin/pihole
You will have to execute it with --config parameter:
Code:
/opt/bin/pihole-updatelists --config /opt/etc/pihole-updatelists.conf

I don't think I merged v6 support yet, so I would wait for the official v6 release.
 
It seems like Entware's cron doesn't execute entries from cron.d when root user is not called root... can't see any other workaround than copying the cron file to spool directory
 
It seems like Entware's cron doesn't execute entries from cron.d when root user is not called root... can't see any other workaround than copying the cron file to spool directory
Code:
$(nvram get http_username)
 

Support SNBForums w/ Amazon

If you'd like to support SNBForums, just use this link and buy anything on Amazon. Thanks!

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top