t-ryder posted on XDA his new created DNS filter application which is written in Java, theoretically it can work on other operating systems but the main target seems to be Android. It’s original written by Zenz Solution. The DNS filter proxy quickly allows you to block advertisements on an easy way. You can help this project if you like to, so go ahead translate it.
Benefits over other solutions
- It runs on Android 4.2 up to Android 8
- It’s open source and released under the GPL hosted on GitHub
- The application size is small, it’s around 92 KB
- It’s free and doesn’t costs anything
- It doesn’t contain any ads
- It’s user fiendly
- It allows you to switch to expert options and configuration
- It works with basically all OS when Java runtime was installed, to use it you need to configure your DNS to 127.0.0.1.
While this sounds not bad it also has some weaknesses, it currently doesn’t support IPv6 or at least it didn’t worked for me in LineageOS 15.1. The original author implemented native support for it in February this year. The application is also not (yet) in the official Google Play Store, so you have to sideload it from here.
The interface to allow pages could also be improved in order to work with regular expressions, but that’s maybe already on the todo list.
How does the proxy work compared to other solution
personalDNSfilter creates a tunnel which redirect all the DNS requests trough the proxy, this means you can’t control it within any Browser(s), that’s the reason the 127.0.0.1 must be set on the local machine.
In case you’re not rooted the app will create a Android VPN tunnel. On rooted devices or another OS it works without the VPN API, so you can run the DNS proxy without the VPN connection in this case it works independent from Android’s own mechanism which means you can use it side-by-side with a VPN application such as NetGuard.
personalDNSfilter also allows you to tunnel the entire network trough the proxy, all you have to do is to point your router/OS DNS to the IP where the DNS proxy is running from.
Which ads are been filtered?
The application uses an ads-server filter list with about 2500 entries with the default settings. You can find the list itself in a raw format here. You can use other lists, more complete ones for instance or specialized ones, as well. It’s really simple to add another list just copy the url into the filters list Window and apply the changes, this process requires you to enable the advance options first.
You also can disable the blocking of advertisement in the interface temporarily in order to get access to pages which might won’t work together with your filter list.
The project personalDNSfilter seems to be a good project which deserves some support. It’s a lighway proxy which quickly allows you to filter ads on the DNS level.
Overall all functions are working and the rest is a matter of time until it gets fixed, I like that it’s purely written in Java which also means you can use it on all other operating systems which is really a big deal here and compared to other solutions quite unique.
The project definitely gets my recommendation and we all like to see more.
Some parts of the article are re-written in order to correct some earlier statments. Thanks to the original author of this application.