Skip to content

shells-dw/loupedeck-pihole

Repository files navigation

GitHub GitHub last commit GitHub downloads Tip / ko-fi

Unofficial Loupedeck PiHole Plugin

Overview1

What Is This (and what does it do?)

It's a plugin for the Loupedeck Live Consoles that uses the official Pi-Hole API to enable and disable the blocking as well as display a lot of statistics on the device. Disabling your ad blocking is just a touch away now ;)

Works on Windows and MacOS

Note: I'm not affiliated with Pi-Hole, this plugin just uses the official API to control it from a Loupedeck.

Release / Installation

You can find the precompiled plugin lplug4 file in the Releases. Download and open it, your computer should already recognize this as a Loupedeck plugin file and offer to open it with Loupedeck Configuration Console - which will have the plugin available in the list then.

Setup

  • The plugin defaults to http://pi.hole/admin/api.php with no API token. If you don't use authentication for your Pi-Hole you'll be fine.

  • If you use authentication, get an API key from the Pi-Hole Admin Console -> Settings -> API / Web interface -> Show API token and paste it in the ApiToken-Field of settings.json (see below)

settings.json

Windows: %localappdata%\Loupedeck\PluginData\Pihole

MacOS: /Users/USERNAME/.local/share/Loupedeck/PluginData/Pihole

contains the file settings.json (which is created with default values during the first start of the plugin and read during every start to allow updating settings)

{
  "ApiUrl": "http://pi.hole/admin/api.php",
  "ApiToken": "[securely stored in plugin settings - replace with new token if neccessary]"
}

Loupedeck offers a secure way to store plugin settings, so the plugin reads the "ApiToken" during startup and removes the Token from the settings.json file after storing it.

If you need to change the token, simply replace the value of "ApiToken" with the actual token, restart Loupedeck and the plugin will update the token and remove it from the file.

Usage

General

You have the following options:

Available Actions

Which is basically everything the Pi-Hole API offers.

Actions

Enable

  • Enables blocking (turns grey with a green layer below the text if blocking is disabled to visually advise the current blocking status and make it more obvious where to reenable the filtering).

Disable

  • Disables blocking (turns grey of blocking is disabled to visually advise the current blocking status).

Display

  • Obviously these are just informative displays, there is no touch action behind those, Display actions are just to view current stats.

I have an issue or miss a feature

You can submit an issue or request a feature with GitHub issues. Please describe as good as possible what went wrong or doesn't act like you'd expect it to.

Support

If you'd like to drop me a coffee for the hours I've spent on this: Tip or use Ko-Fi ko-fi

Changelog

[1.3.1] - 2023-01-22

Fixed

  • If API Token is needed or not wasn't correctly verified during install
Changelog History

[1.3.0] - 2023-01-14

Improved

  • Removed the need for Newtonsoft.Json and went with JSON functions that come with the SDK to avoid potential mismatch issues between the bundled and the NuGet Newtonsoft.Json version in the future (also cleaned up unused NuGet packages in the process)

[1.2.0] - 2022-12-29

Added

  • Logging

[1.1.0] - 2022-12-22

Improved

  • process flow

[1.0.0] - 2022-11-26

Added

Initial release