README.md
February 21, 2025 · View on GitHub
DroidHole is an unnoficial Pi-hole® client developed with Flutter.
⚠️ WARNING ⚠️
This application is DEPRECATED and it won't receive more updates.
This application is not compatible with Pi-hole v6. For now I don't have planned to update this app or to release a new app with compatibility with v6. If that changes in the future, it will update this readme.
Main features
▶ Manage your Pi-hole® server on an easy way.
▶ Enable and disable the server with only one button.
▶ Beautiful charts with all the statistics you need to see.
▶ Add multiple servers to the app, and manage all of them from here.
▶ Explore the query logs list and see the log details.
▶ Manage your domain lists. Add and remove domains to the whitelist or blacklist.
▶ Material You interface with dynamic theming (only Android 12+)
Requires Android 8.0+
Disclaimer
This is an unofficial application. The Pi-hole team and the development of the Pi-hole software is not related in any way with this application.
Recommended lists
On this repository you can find some recommended lists. Thanks to JuanRodenas.
Donations
If you like the project and you want to contribute with the development, you can become a sponsor on GitHub, or you can donate using PayPal.
Prepare the development environment
- Clone the repository
- Run
flutter pub get - Clone the
.env.samplefile and name it.env - On the
SENTRY_DSNvariable assign it's value - Inside the
androidfolder, clone thekey.properties.samplefile and name itkey.properties - Open the file and fill the variables with the corresponding values
- Store your
keystore.jksfile insideandroid/app
Compile the production build
Android
- Run
flutter clean - Run
flutter pub get - Run
flutter build apk --releaseto build the .apk file - Run
flutter build appbundle --releaseto build the .aab file
macOS
- Run
flutter clean - Run
flutter pub get - Run
flutter build macos --releaseto build the .app file
Linux
- Run
flutter clean - Run
flutter pub get - Run
flutter build linux --releaseto build the Linux executable - If you want to build also the .deb file do this:
4.1. Run
dart pub global activate flutter_to_debianto install the utility that will build the .deb file 4.2. Runflutter_to_debian
Windows
- Run
flutter clean - Run
flutter pub get - Run
flutter build windows --releaseto build the Windows executable - Install the InnoSetup software you don't have it
- Run
iscc /Q windows/innosetup_installer_builder.issto generate the Windows installer
Third party libraries
- provider
- sqflite
- http
- expandable
- flutter web browser
- package info plus
- flutter phoenix
- flutter launcher icons
- flutter native splash
- intl
- charts flutter
- html
- pie chart
- flutter svg
- fl chart
- animations
- mobile scanner
- permission handler
- dynamic color
- device info
- vibration
- url launcher
- percent indicator
- flutter app lock
- sqlite3 flutter libs
- sqflite common ffi
- sentry flutter
- flutter dotenv
- contextmenu
- window size
- flutter split view
- local auth
- flutter custom tabs