FlutterHole is a free third party Android application for interacting with your Pi-Hole® server.
- Quick enable/disable: Toggle your Pi-hole from your home screen with a single tap.
- Multiple configurations: Easily switch between every Pi-hole that you have access to.
- Manage your blacklist & whitelist: Add or remove domains, wildcards and regular expressions from your lists.
- Summary overview: View top clients and the top used domains.
- Query log: View recent queries and add them to your blacklist or whitelist.
- Custom themes: Because we can.
FlutterHole is developed using Android Studio, which offers a complete, integrated IDE experience for Flutter.
Testing is done using a local Pi-hole installation on an internal network. Due to this, support for other network setups relies heavily on user feedback.
If you want to improve the network support for FlutterHole by testing against your own setups, you can build the app locally and debug any issues.
After cloning this repository, perform the following steps before building your project.
All snippets assume your initial working directory is the root of the project.
Skip the questions, and confirm with yes
.
#!/bin/bash
cd android/app
keytool -genkey -v -keystore keystore.jks -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000
#!/bin/bash
cd android
touch key.properties
After creating the file, populate it with plaintext describing the debug key.
storePassword=android
keyPassword=android
keyAlias=androiddebugkey
storeFile=keystore.jks
#!/bin/bash
flutter pub get
flutter pub run flutter_launcher_icons:main
You can now build and run the app on either an emulator or a physical device using flutter run
.
This application interacts with the PHP API.
A new official API is being built in Rust, but has no official release yet. Once the new API documentation becomes available, new cool features can be implemented!