Note: There is no endorsement or partnership between this page and Pi-hole© LLC. They deserve your support if you find this useful.
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 Raspbian 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
- Android device that has been rooted
- Uninstall any previous versions of Linux Deploy or Pi Deploy and reboot your device.
- Failure to heed this advice will cause issues!
- Download and Install the latest Pi Deploy APK
- Tap the Options menu (Three dots ⋮ at top right of screen)
- Tap New Deployment
- After a few moments the Raspbian Image will download and install to your device.
- When deployment is complete, tap [ ▷ START ] to launch the instance.
- The instance will provide you with a password for Pi-hole admin, SSH and RDP access (Username: android, see screenshot below)
- Note: The xkcdpass only appears once, be sure to record this info.
- Hint: The password text can be copy/pasted to other Android apps (like Remote Desktop)
- (Optional, post-install) To install PIXEL Desktop run
pideploy-gui-install
and restart the instance. Next time you login via RDP you will have a full desktop session with audio support.
INSTALLATION COMPLETE · Pi-Hole is running on your Android Device
The Android device's IP is shown at the top of the Linux Deploy main window. You can interact with Pi-hole in several ways, the examples below use IP 10.73.0.31
-
From a Windows desktop, connect via RDP ->
mstsc.exe /v:10.73.0.31
-
From a computer running Linux, connect via SSH ->
ssh [email protected]
-
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.
Additional Info:
If you have a Samsung device, you will need to De-Knox the stock ROM or flash a 3rd party ROM like LineageOS.
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 restart (or "bounce") the Pi-hole instance in Pi Deploy by pressing [ ■ STOP ] and waiting a few seconds for the instance to indicate all services are stopped. Restart the instance by pressing [ ▸ START ]
When a Pi-hole instance starts up, the default setting is to let it 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
(You will see which ones when you open the file in an editor.) After the lines are commented out with a hash "#" you can manually add your IP, subnet and interface name to /etc/pihole/setupVars.conf
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.