Timer based DNS blocking (i.e. "parental controls")

I am wondering if I can block DNS queries in time intervals in an easy manner?

Use case: my kids should only be able to access game sites, Youtube, etc between 1700 and 1900. Different rules in the weekend. This is exactly what parental controls on macOS do, but I would like to enforce it on the entire network.

I am a programmer, so I can understand that it would be feasible if I programmatically add and remove my kids devices from a "Youtube and games" group, but that would involve some tinkering and deep dives into the code I would rather avoid, if I can, so hopefully there are some plugins or something that does this already.

I am not having an issue, it is more of a question of whether or not this is possible through some extensions, so hence I am not following the issue template.

I want to start with a note:

Pi-hole is not the right tool for this
Pi-hole is not a Parental Control system. It is a DNS filter/black-hole.

Pi-hole blocks domains the user don't want to see (like ads or malicious domains), but it doesn't block IPs. Also, users can easily bypass Pi-hole, if they really want.


There are no plugins or similar things to do that, but as a programmer, you can easily use a cron job to enable/disable groups based on time.

There are some examples here on Discourse. You can search for "group management cron" or similar keywords. Most of the examples are for Pi-hole v5, but v6 now uses pihole reloaddns command.

This topic has some examples: