Feature request: Scheduled / time-based blocking per domain, group, or client

Hi Pi-hole team,

I would like to suggest adding native scheduled blocking rules to Pi-hole.

The idea is similar to time-based website blockers such as LeechBlock, but implemented centrally at the DNS level.

Example use case

I want to block distracting domains such as:

  • x.com

  • reddit.com

  • instagram.com

for a specific client or Pi-hole group during most of the day, but automatically allow them during defined time windows.

For example:

  • Block x.com from 00:00–12:30

  • Allow from 12:30–12:45

  • Block from 12:45–18:30

  • Allow from 18:30–18:45

  • Block again after 18:45

Ideally, this would work with:

  • exact deny/allow domains

  • regex rules

  • Pi-hole groups

  • individual clients

  • days of the week

Possible UI

A domain/group rule could have an optional Schedule section:

  • Active days: Mon–Sun

  • Start time

  • End time

  • Block / Allow

  • Multiple time ranges per day

For example:

x.com → Block → Mon–Fri → 08:00–12:30, 12:45–18:30

Another possible implementation would be scheduled activation/deactivation of groups.

Why this would be useful

Pi-hole already provides centralized DNS filtering and client/group management. Scheduled rules would make it useful not only for ad blocking, but also for:

  • reducing distractions / doomscrolling

  • parental controls

  • work/study schedules

  • limiting social media during certain hours

  • different rules for different devices

This can currently be approximated with cron/scripts, but native support in the web UI would be much easier to configure, understand, and maintain.

I am specifically suggesting scheduled rules for individual domains/groups/clients, rather than simply disabling all Pi-hole blocking on a timer.

Thanks for considering it.