Easily disable Pihole from your iPhone (or iPad)

If you run a pihole the odds are good that you’ve needed to disable it from time to time. I wanted an easy way to disable my pihole(s) temporarily, so I wrote a simple shell script to do it for me. I’m almost always on my Macbook, so this approach worked for a while. I needed to disable it a few times while I was out of the room, so I figured I’d find an easier way to do it from my phone.
I already used an iOS app called Launcher on my iphone, so integrating pihole api calls with it seemed like a no-brainer. For convienience, it can be used from your lock screen without having to unlock your phone.

Using the Launcher Widget to disable pihole

Read more

A simple Ansible playbook for updating multiple Pihole DNS

I wrote a very simple little playbook for updating my local DNS records for my piholes. For me it’s easier than manually ssh’ing onto each node and editing a file and restarting the service. Here’s the playbook:

update_dns.yml

#!/usr/bin/env ansible-playbook

- hosts: ns-01, ns-02
gather_facts: yes
sudo: yes
tasks:
- name: TASK | Copy dnsmasq config for cbnet
template: src=templates/02-localnet.conf.j2 dest=/etc/dnsmasq.d/02-localnet.conf force=yes
- name: TASK | Copy updated dns file
template: src=templates/localnet.list.j2 dest=/etc/pihole/localnet.list force=yes
- name: TASK | Restart dnsmasq
service:
name: dnsmasq
state: restarted

This playbook adds a DNSmasq config file for my local network and copies a template file (dnsmasq include file for my local network) and restarts DNSmasq. Here is the template (sample):
Read more