You can probably already do this on Termux, since Unbound doesn’t need graphical acceleration.
Might have to create a proper Chroot though, dunno if their Proot tools would have enough privileges for this use case.
I think the tricky part is getting a virtual network interface from pihole that can be properly configured in the Android Settings > Connection & sharing > Private DNS > Specified DNS.
For this to work on the mobile device, you don’t want pihole to make itself accessible on the external network interface, but rather an internal (virtual) interface that Android sees as a valid DNS server so that it can be permanently configured (otherwise you would have to reset the private DNS IP address every time you connected to a new WiFi network, and it would be tricky to get it working on the cell network at all).
I’m not sure if this is possible without running a more complete virtual machine that creates a virtual network adapter. Maybe a VPN app could be abused to redirect Android’s outbound DNS requests to localhost?
I’m glad I wasn’t the only one with this idea.
You can probably already do this on Termux, since Unbound doesn’t need graphical acceleration.
Might have to create a proper Chroot though, dunno if their Proot tools would have enough privileges for this use case.
I think the tricky part is getting a virtual network interface from pihole that can be properly configured in the Android Settings > Connection & sharing > Private DNS > Specified DNS.
For this to work on the mobile device, you don’t want pihole to make itself accessible on the external network interface, but rather an internal (virtual) interface that Android sees as a valid DNS server so that it can be permanently configured (otherwise you would have to reset the private DNS IP address every time you connected to a new WiFi network, and it would be tricky to get it working on the cell network at all).
I’m not sure if this is possible without running a more complete virtual machine that creates a virtual network adapter. Maybe a VPN app could be abused to redirect Android’s outbound DNS requests to localhost?
I think you can tweak the Android DNS settings in ADB