/Pi-hole-for-Android

Pi-hole/Unbound Raspbian APK Installer for Android 5.0+ devices (requires root)

Primary LanguageShell

Pi-hole for Android APK Installer

Pi-hole for Android

Pi-hole© is a network-level advertisement and Internet tracker blocking application for Linux which acts as a DNS sinkhole intended for use on a private network. It is designed for low-power embedded devices with network capability, focusing on the Raspberry Pi as its 'reference' hardware platform.

Pi-hole for Android is a Debian disk image tuned to work with the Pi-hole installer on Pi Deploy (a fork of Linux Deploy). It can be used on any rooted Android device with an ARMv7 or newer CPU running Android 5.0 (Lolipop) or newer. Form factor is not important; it could be a phone, tablet, HDMI stick or any device running Android. For very old devices running Android 4.x, see the Legacy branch

What's New (December 2023)

  • Updated image to Debian 12 (Bookworm)
  • Pi Deploy image is now 64 bit by default
  • To deploy a 32 bit image, tap Properties and change the Source Path URL from /raspbian.tgz to /raspbian32.tgz
  • To install PIXEL Desktop, run pideploy-gui-install. Next time you login via RDP you will have a full desktop session with audio support.
  • To install Nextcloud 27, run pideploy-nextcloud-install to launch the Nextcloudpi installer patched for Android. Consult the official NextCloud documentation for administration of this powerful collaboration tool.

Requirements:

  • Android device that has been rooted

Note to users running previous version:

  • The APK installer is unchanged (no need to re-install the Pi Deploy APK)
  • If required, use Pi-hole Teleporter to back-up your existing configuration.
  • Login to your existing deployment and run sudo unchroot uname -m. If your device returns armv7or armv8 your device is 32 bit and you need to change the Source Path URL to /raspbian32.tgz

Install

Download the latest Pi Deploy APK and open the app.

  • Tap Allow if asked for permission to access files or run as root.

  • Tap More Options (Three dots at the top right of screen) image

  • Tap New Deployment: image

  • In a few minutes, the Raspbian Pi-hole Image will be downloaded and installed on your device.

  • When deployment is complete, tap [ ▷ START ] to launch the instance.

  • The instance will provide you with a password to login to Pi-hole webadmin or via SSH/RDP (Username: android, see screenshot below)

  • Note: The password appears only once when the image is deployed, make sure you record this information. You can also copy the password text to your clipboard for easier management.


INSTALL COMPLETE     ·     Your Android device is a Debian server running Pi-Hole!


The Android device's IP is shown at the top of the Pi Deploy main window. You can interact with Pi-hole in several ways, the examples below use IP 10.73.0.31

  • Connect via RDP in Windows using mstsc.exe /v:10.73.0.31 or in Linux using xfreerdp /v:10.73.0.31

  • Connect via SSH -> ssh android@10.73.0.31

  • Pi-hole administration is accessible from any browser on your network -> http://10.73.0.31/admin

  • If your Android device has a display, you can RDP into the Pi-hole instance (as localhost) by installing the Microsoft Remote Desktop client.

image

image

Screenshot_20221020-013907_Bromite

Pi-hole for Android wiki topics:

Additional Info:

RDP Sessions launch the Openbox window manager with QTerminal in fullscreen mode. To open a new tab hit [Ctrl-Shift-T] and to un-hide the menubar hit [Ctrl-Shift-M]

You can stop the Pi-hole instance by pressing [ ■ STOP ] and waiting a few seconds for all services to stop. Sart the instance by pressing [ ▸ START ]

When a Pi-hole instance starts up, the default configuration is set to automagically configure networking. If you change networks on the Android device simply restart the instance for Pi-hole to pick up the new settings.

Alternatively, set a static assignment by commenting-out two lines in etc/init.d/android-raspbian. After the lines are commented out with a hash "#" you can manually set your IP, subnet and interface name in /etc/pihole/setupVars.conf

image

Added latest release of Unbound 1.17 to provide encrypted DNS by default; no addional configuration is necessary but you may customize to preference.

The Pi-hole instance on Android otherwise behaves like it is running on a 'real' Raspberry-Pi or a standard PC. Consult the extensive documentation online to learn how to fully leverage Pi-hole's functionality.

Adjust QT display scaling: ~/startwm.sh

Change the font size in QTerminal: ~/.config/qterminal.org/qterminal.ini

If your Android device has a battery and was unused for months or years, replace its battery. Old, worn, or abused Li-ion batteries can fail when pushed back into service. Failure appears as a bulge in the battery, or worse a thermal event. A good battery provides UPS protection for your newly-provisioned Pi-hole.

Note: There is no endorsement or partnership between this page and Pi-hole© LLC. They deserve your support if you find this useful.