{"id":13643418,"url":"https://github.com/JGeek00/droid-hole","last_synced_at":"2025-04-21T01:32:34.838Z","repository":{"id":268102796,"uuid":"499682402","full_name":"JGeek00/droid-hole","owner":"JGeek00","description":"Pi-hole® client made with Flutter [DEPRECATED]","archived":true,"fork":false,"pushed_at":"2025-02-21T10:10:38.000Z","size":14683,"stargazers_count":168,"open_issues_count":0,"forks_count":15,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-01T22:44:15.738Z","etag":null,"topics":["dart","droidhole","flutter","pi-hole","pihole"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JGeek00.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-04T00:01:57.000Z","updated_at":"2025-02-22T20:47:23.000Z","dependencies_parsed_at":"2024-12-14T11:12:19.774Z","dependency_job_id":"3623b5e6-c347-41c6-8adb-dbc227744cf8","html_url":"https://github.com/JGeek00/droid-hole","commit_stats":{"total_commits":393,"total_committers":4,"mean_commits":98.25,"dds":0.0330788804071247,"last_synced_commit":"832f349ecb370bac63a66e49787cd56e6dcc06c8"},"previous_names":["jgeek00/droid-hole"],"tags_count":62,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JGeek00%2Fdroid-hole","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JGeek00%2Fdroid-hole/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JGeek00%2Fdroid-hole/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JGeek00%2Fdroid-hole/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JGeek00","download_url":"https://codeload.github.com/JGeek00/droid-hole/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249982624,"owners_count":21355735,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dart","droidhole","flutter","pi-hole","pihole"],"created_at":"2024-08-02T01:01:47.249Z","updated_at":"2025-04-21T01:32:34.831Z","avatar_url":"https://github.com/JGeek00.png","language":"Dart","funding_links":["https://github.com/sponsors/JGeek00","https://www.paypal.com/donate/?hosted_button_id=T63UK6AVL3MG8"],"categories":["🌐 Web \u0026 Connectivity"],"sub_categories":["🛰️ Remotes and Smart Devices"],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/JGeek00/droid-hole/raw/master/assets/other/banner.png\" /\u003e\n\u003c/h1\u003e\n\n\u003ch5 align=\"center\"\u003e\n  \u003cb\u003e\n    DroidHole is an unnoficial\n    \u003ca href=\"https://pi-hole.net/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003e\n      Pi-hole®\n    \u003c/a\u003e \n    client developed with Flutter.\u003c/b\u003e\n\u003c/h5\u003e\n\n\u003cbr\u003e\n\u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cb\u003e⚠️ WARNING ⚠️\u003c/b\u003e\n  \u003cbr\u003e\n  \u003cspan\u003e\n    This application is DEPRECATED and it won't receive more updates.\n  \u003c/span\u003e\n  \u003cbr\u003e\n  \u003cspan\u003e\n    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.\n  \u003c/span\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/JGeek00/droid-hole/releases\" target=\"_blank\" rel=\"noopener noreferrer\"\u003e\n    \u003cimg src=\"/assets/other/get-github.png\" width=\"300px\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## Main features\n\u003cp\u003e▶ Manage your Pi-hole® server on an easy way.\u003c/p\u003e\n\u003cp\u003e▶ Enable and disable the server with only one button.\u003c/p\u003e\n\u003cp\u003e▶ Beautiful charts with all the statistics you need to see.\u003c/p\u003e\n\u003cp\u003e▶ Add multiple servers to the app, and manage all of them from here.\u003c/p\u003e\n\u003cp\u003e▶ Explore the query logs list and see the log details.\u003c/p\u003e\n\u003cp\u003e▶ Manage your domain lists. Add and remove domains to the whitelist or blacklist.\u003c/p\u003e\n\u003cp\u003e▶ Material You interface with dynamic theming (only Android 12+)\u003c/p\u003e\n\u003cp\u003eRequires Android 8.0+\u003c/p\u003e\n\n## Disclaimer\nThis 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.\n\n## Recommended lists\nOn [this repository](https://github.com/JuanRodenas/Pihole_list) you can find some recommended lists. Thanks to [JuanRodenas](https://github.com/JuanRodenas).\n\n## Donations\nIf you like the project and you want to contribute with the development, you can [become a sponsor on GitHub](https://github.com/sponsors/JGeek00), or you can donate using PayPal.\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://www.paypal.com/donate/?hosted_button_id=T63UK6AVL3MG8\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/stefan-niedermann/paypal-donate-button/master/paypal-donate-button.png\" alt=\"Donate with PayPal\" height=\"100\" /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n## Prepare the development environment\n1. Clone the repository\n2. Run ``flutter pub get``\n3. Clone the ``.env.sample`` file and name it ``.env``\n4. On the ``SENTRY_DSN`` variable assign it's value\n5. Inside the ``android`` folder, clone the ``key.properties.sample`` file and name it ``key.properties``\n6. Open the file and fill the variables with the corresponding values\n7. Store your ``keystore.jks`` file inside ``android/app``\n\n\n## Compile the production build\n##### Android\n1. Run ``flutter clean``\n2. Run ``flutter pub get``\n3. Run ``flutter build apk --release`` to build the .apk file\n4. Run ``flutter build appbundle --release`` to build the .aab file\n\n##### macOS\n1. Run ``flutter clean``\n2. Run ``flutter pub get``\n3. Run ``flutter build macos --release`` to build the .app file\n\n##### Linux\n1. Run ``flutter clean``\n2. Run ``flutter pub get``\n3. Run ``flutter build linux --release`` to build the Linux executable\n4. If you want to build also the .deb file do this:\n  4.1. Run ``dart pub global activate flutter_to_debian`` to install the utility that will build the .deb file\n  4.2. Run ``flutter_to_debian``\n\n##### Windows\n1. Run ``flutter clean``\n2. Run ``flutter pub get``\n3. Run ``flutter build windows --release`` to build the Windows executable\n4. Install the [InnoSetup](https://jrsoftware.org/isdl.php) software you don't have it\n5. Run ``iscc /Q windows/innosetup_installer_builder.iss`` to generate the Windows installer\n\n## Third party libraries\n- [provider](https://pub.dev/packages/provider)\n- [sqflite](https://pub.dev/packages/sqflite)\n- [http](https://pub.dev/packages/http)\n- [expandable](https://pub.dev/packages/expandable)\n- [flutter web browser](https://pub.dev/packages/flutter_web_browser)\n- [package info plus](https://pub.dev/packages/package_info_plus)\n- [flutter phoenix](https://pub.dev/packages/flutter_phoenix)\n- [flutter launcher icons](https://pub.dev/packages/flutter_launcher_icons)\n- [flutter native splash](https://pub.dev/packages/flutter_native_splash)\n- [intl](https://pub.dev/packages/intl)\n- [charts flutter](https://pub.dev/packages/charts_flutter)\n- [html](https://pub.dev/packages/html)\n- [pie chart](https://pub.dev/packages/pie_chart)\n- [flutter svg](https://pub.dev/packages/flutter_svg)\n- [fl chart](https://pub.dev/packages/fl_chart)\n- [animations](https://pub.dev/packages/animations)\n- [mobile scanner](https://pub.dev/packages/mobile_scanner)\n- [permission handler](https://pub.dev/packages/permission_handler)\n- [dynamic color](https://pub.dev/packages/dynamic_color)\n- [device info](https://pub.dev/packages/device_info)\n- [vibration](https://pub.dev/packages/vibration)\n- [url launcher](https://pub.dev/packages/url_launcher)\n- [percent indicator](https://pub.dev/packages/percent_indicator)\n- [flutter app lock](https://pub.dev/packages/flutter_app_lock)\n- [sqlite3 flutter libs](https://pub.dev/packages/sqlite3_flutter_libs)\n- [sqflite common ffi](https://pub.dev/packages/sqflite_common_ffi)\n- [sentry flutter](https://pub.dev/packages/sentry_flutter)\n- [flutter dotenv](https://pub.dev/packages/flutter_dotenv)\n- [contextmenu](https://pub.dev/packages/contextmenu)\n- [window size](https://github.com/google/flutter-desktop-embedding)\n- [flutter split view](https://github.com/TerminalStudio/flutter_split_view)\n- [local auth](https://pub.dev/packages/local_auth)\n- [flutter custom tabs](https://pub.dev/packages/flutter_custom_tabs)\n\n\u003cbr\u003e\n\n##### Created by JGeek00\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJGeek00%2Fdroid-hole","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJGeek00%2Fdroid-hole","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJGeek00%2Fdroid-hole/lists"}