In this article we would like to tell you about one important feature of Adguard for Android. It's a possibility to completely(!) disable filtering for all network connections. At first it may seem strange. What is the point of configuring Adguard so that nothing is filtered? What will it do then? We will try to explain it right away.
Note that the following instruction works in Adguard for Android versions 2.8.53+ only. You can download it here or just switch to Beta update channel in Adguard Settigns -> Advanced -> Update channel -> Beta.
TLDR: by slightly changing Adguard settings, you can turn it to the blocker with zero resources consumption. The truth is that nothing good happens that easily, so, yeah, the quality of filtering will be somewhat decreased.
DNS requests filtering
More than a year ago, we added a 'DNS filtering' feature to Adguard. In order to understand its meaning, let's first examine what DNS is and how it works.
If an app or browser wants to refer to any domain (ad or not), first it retrieves the address on which that domain is located from DNS server.
With DNS filtering enabled, Adguard intercepts every DNS request and returns 'blocking' response if the request happens to be from ad or tracking server.
Main advantage of this approach: it is very economical/saving. It's enough to block the domain one time and within an hour this address will no longer be requested.
Main disadvantage: it is very “rough”. Let us explain:
In case of standard approach to requests blocking, Adguard can unblock requests to that domain on 'example.org' website, but continue to block them on all other sites. If you are using DNS filtering, nothing can be done about it.
Great saving mode of Adguard for Android
Now back to the point from where we started. To block ads on the DNS-query level, Adguard does not need to filter all traffic. One needs only to intercept queries to DNS-servers, which are set out in your device's settings.
To try Adguard in this mode, you will need to do the following:
1) Go to 'Settings' -> 'Advanced' -> 'Low Level settigs' and check the following flags - pref.vpn.ipv4.bypass and pref.vpn.ipv6.bypass. Enabling these flags will prohibit Adguard to filter all network connections:
2) Go to 'Settings' -> 'Advanced' and enable the 'Filter DNS requests' option.
3) Go to 'Settings' -> 'Ad Blocker' and enable 'Simplified domain names filter' (former 'Adguard DNS filter'). This filter is used on Adguard DNS servers. It is optimized right for such 'rough' DNS-level ad blocking.
If you are planning to use Adguard for DNS queries blocking only, then you can simply disable other filters. By doing so you will reduce Adguard memory consumption.
Now that we have elaborated on the DNS topic, it makes sense to say a few words about one more Adguard for Android capability.
There is no easy way to change the system DNS settings on Android. You can do it for each specific Wi-Fi network, but you will have to repeat this setting for each new Wi-Fi spot. And you won't be able to change anything for mobile networks.
With Adguard you can change DNS settings once and it will apply to all Wi-Fi and mobile networks. To do so, go to 'Settings' -> 'Advanced' -> 'Low Level settings' -> tap pref.vpn.dns and enter the address of preferred DNS server.