Giter Club home page Giter Club logo

flutterhole's Introduction

FlutterHole

Codemagic build status Coverage Status MIT Licenced Platform

FlutterHole is a free third party Android application for interacting with your Pi-Hole® server.

Note: Check the web branch to see updates on the future beta release.

Get it on Google Play

Features

  • 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.
  • Summary overview: View top clients and the top used domains.
  • Query log: Inspect & search your Pi-hole queries.

Development

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.

Getting Started

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.

Generate a debug signing key

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

Create a properties file for the signing key

#!/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

Generate the icon assets

#!/bin/bash
flutter pub get
flutter pub run flutter_launcher_icons:main

Generate code

To generate freezed classes, injectable injections etc.:

flutter pub run build_runner build --delete-conflicting-outputs  

Or, build continuously:

flutter pub run build_runner watch --delete-conflicting-outputs  

You can now build and run the app on either an emulator or a physical device using flutter run.

Testing

To run the default integration test:

flutter drive --target=test_driver/app.dart

API

This application interacts with the Pi-hole PHP API.

A new API is in the works from the Pi-hole team. For progress, check the pull request on GitHub.

flutterhole's People

Contributors

sterrenb avatar

Stargazers

Roman avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.