AdGuard for Android: an updated in-depth overview
AdGuard is constantly evolving. We always try to stay in the thick of things, hear out what the users have to say and keep on making our products better. As such, we've been meaning to write up an updated in-depth review of all the functions AdGuard products can boast for some time now. We already did it for AdGuard for Windows, and now we'll 'disassemble' our second flagship product, which is AdGuard for Android.
As you might well know, AdGuard for Android has an extensive list of features both in adblocking and in the privacy protection area. And now we will go over each of them to help you navigate through our software and put it to a 100% use.
Ad Blocking
First and foremost, any ad blocker's purpose is, well, to block ads. Not surprisingly, the algorithm of ad blocking is mostly the same for the majority of software that is around. The process of filtering ads is described here.

AdGuard removes ads from pages
But most of popular ad blockers are browser extensions, and they obviously doesn't suit very well for Android. And those apps that are present on the Android market, sadly, are not stellar in their abilities. For example, here's a link to a comparative article on mobile ad blockers. Give it a read if you'd like to learn the differences between approaches of AdGuard and other ad blockers (and see why our app is superior :D).
The ad blocking feature is pretty obvious in its concept, but there are some points worthy of a separate mention. Most importantly, unlike many other ad blockers on the market, AdGuard works as a universal filter sifting through your apps traffic and deciding what to do with this or that web request. The whole process is managed by filters — lists of special rules. The program has a default set of filters (constantly updated), and you can even add your own filtering rules to the mix.
Filters
The program uses a lot of different filters, both public third-party and our own, sorted by language and their purpose. For example, the "Annoyances filter" is very different from the "Filter for useful ads".

So many filters — choose any!
You can find out more about all the filters available for AdGuard products by reading their description inside the app or by following this link to our Knowledge Base.
HTTPS filtering
Nowadays almost everything works via HTTPS — a secured web protocol. Unfortunately, advertising moguls also use it, this is why HTTPS filtering is crucial for a modern ad blocker.

HTTPS protocol encrypts your data
However, there are additional hoops we need to jump through to be able to block HTTPS ads. Due to the nature of HTTPS, AdGuard needs an explicit permission from you to do so; our strong advice is to take a minute, go to "HTTPS filtering" tab in the app's menu and enable this feature. It's an easy two-step thing to do, and if you did everything right, you'll see this on your screen:

Successfully enabled HTTPS filtering
Privacy Protection
Don't you know that even if you don't use specific apps like Facebook, it doesn't stop advertising and media giants from collecting information about you? We did our own research which you can find here.

Big results of our little research on tracking
Many websites also gather information about their visitors, such as their IP addresses, information about browser and operating system, screen resolution, and even what page the user navigated from. The more important it is to have a tool that will protect you from being tracked on the Internet. AdGuard for Android includes several potent filters created specifically for this purpose: AdGuard Spyware filter, developed by our filter specialists, EasyPrivacy — a popular public list, and others.
The Spyware filter protects your personal data from automatic data gathering systems. We strongly recommend having this or similar filter on if you care about your online privacy. There are other functions in AdGuard for Android that indirectly help you keep your online privacy. DNSCrypt is one of those, and we will get to it soon enough.
AdGuard for Windows users might have a question about Stealth Mode that has already become a vital part of the Windows app. We are happy to say that the next version of AdGuard for Android will have it too, taking the privacy protection to the whole new level. A dedicated anti-tracking module is so much more substantial than a filter (albeit a very, very good one).

A sneak peek on the future Stealth Mode module
Why do we keep emphasising the importance of not being tracked? Because tracking is indeed the new cyber plague, and we certainly don't appreciate our data being used like this or in any other shady way. Of course, we can't resist including an example with Facebook. Be safe, avoid tracking!
Phishing & Malware
The Internet is a pretty dangerous place where your device can be attacked by viruses, whereas your personal or financial information can be stolen. Such terms as malware or phishing have become commonplace.
What is phishing? In short, it is a fraudulent online practice aimed at obtaining sensitive information like usernames, passwords, credit card details and such from internet users. This form of fraud, effected through spoof emailing and fake websites posing as trusted mediums like banks, social services etc, is causing more financial damage every year. As for malware, a.k.a. malicious software, it is as the name suggests — any type of software designed with the intent to damage the personal computer or other device it gets into. What once began as a prank now is a tool to steal confidential information from users and businesses.

Browsing Security module — simple yet effective
Fortunately, AdGuard's Browsing Security module protects you from visiting phishing and malicious websites. It also warns you about malware being downloaded onto your device. But it is important to understand that AdGuard for Android is not an antivirus! It will not stop the actual download of a virus or delete the already existing ones. For the complete protection of your device, we recommend using AdGuard in tandem with a dedicated AV tool.

Browsing Security warns about a dangerous website
At the same time, we'd like to emphasize that your personal data is not transferred anywhere, and AdGuard does not know which websites you are visiting. The security check is not performed against an open web address (URL) but through hash prefixes (hash is a certain data structure that renders unambiguous each address added to the base). However, you have the option of sending us info on the websites you visit to improve the database, if you choose to. We won't mind if you don't mind :) You can learn more about AdGuard's phishing and malware protection here.
Control your apps
One of the main stated purposes of AdGuard for Android is to give users back the full control over their devices. With AdGuard, you can see comprehensive information about all web requests coming through your device. No app will be able to go online without you knowing.
Apps management
In the Apps Management module you can choose which apps should have WiFi or mobile data access, which will be filtered by AdGuard and which not. You can also change the background Internet access rules for your apps when the screen is locked. These settings can be applied to all installed apps at once or on the individual basis.

Individual statistics and configuration for each app
You will find all of the extra settings in the upper right corner of the App Management screen. They can help you fine-tune AdGuard for Android according to your wish and preference. For example, you can make the common settings applicable to each and every app, or select the apps which need a more detailed approach.

Every single app is monitored by AdGuard
All the icons you will see on the screen are clickable, and by tapping on them you will open a screen showing app-specific traffic to help you make more informed decisions. As you see, AdGuard can be a serious help not only in the ad filtering, privacy protection and online security departments, it can help your device function better, saving battery life and traffic as well.
Filtering Log
This feature first appeared in AdGuard for Android 2.9 and made life much easier for many users. Thanks to it, you have full control over all the processes on your device. In the Filtering Log, you can directly observe all web requests made by browsers and apps.

Complete information about device's traffic
For each request, you have an option to block it right there in one tap (or unblock it, if the request is already blocked). There's also detailed information about each request, although it is mostly aimed at the advanced users, particularly those who create their own filtering rules. We will be elaborating on it just a bit further below.
User Filter
As we have already mentioned, AdGuard for Android uses a set of filters to block ads. And then there is also User Filter that allows you to create and adjust your own filtering rules. It is located in the "Settings" tab of AdGuard menu.

This looks too boring... Let's add some custom rules!
When you first install AdGuard, User filter is empty, of course. To fill it with rules, you will need to understand the basics of the rules syntax. Don't worry if you are not familiar with it, here's a good place to start should you feel an urge to delve deeper into custom rules creation.
A small "lifehack" — use the "Import" feature to upload your favorite filter to the User filter. But be careful, it will overwrite any rules that are currently added there.

Blocking requests via Filtering log creates entries in User filter
By the way, whenever you use Filtering Log to block anything, a corresponding rule will appear in the User filter, so use it if you ever want to undo the blocking. And generally speaking, Filtering Log and User filter go together particularly well: you can use the former to monitor requests in order to build a correct rule for the User filter.
DNS filtering
DNS filtering is one of the most effective ways to protect your device from ads and phishing.
A bit of a theory refresher: DNS stands for 'Domain name system', and its purpose is to translate domain names into something browsers can understand, i.e. IP addresses. So, each time you go to a website, your browser sends a DNS request to a special server, usually determined by your ISP. That server either redirects the request to another (upstream) server or replies with an IP address. If you use a special DNS server instead of the default one, you can use it to send bad requests to the "void" instead of the correct IP address.
DNS filtering has its own separate tab within the AdGuard for Android app home screen. Here you can choose which type of DNS you wish to use (it can be either regular DNS or high security DNS, a.k.a. DNSCrypt - we will get to that later on) as well as enable DNS-level blocking.
DNS blocking
What needs to be taken into account is that DNS blocking is more of an additional feature, which has several nuances. Most of them are mentioned above in the Knowledge Base article.

How DNS blocking works
How exactly does AdGuard block DNS requests? It has a special 'Simplified domain names filter' which contains a large list of ad and tracker domains, which it uses in conjunction with User filter to recognize 'bad' requests. Every request is checked against this filter, and if there's a hit, instead of forwarding it to the DNS server, it is being rerouted to a 'blackhole'.
The simplicity of this approach is both a benefit and a disavantage. The main advantage of this approach is that it's both battery life friendly and traffic-saving. Once a domain is blocked, it won't be requested again within an hour. The disadvantage would be the "roughness" of this method: specific URLs can't be blocked, only whole domains. It can sometimes lead to breaking of some websites.

An example of differences between AdGuard and other ad blockers
Most ad blockers for Android use this principle, but what is pretty much the whole app in their case is only one of the (many) features for AdGuard. And that's what makes us stand out from the crowd ;)
Custom DNS servers
But AdGuard for Android "DNS package" does not end just there. One of the useful perks is an option to select absolutely any DNS server to use. At your service is a list consisting of dozens of servers to choose from, from our own AdGuard DNS servers to popular choices like Google DNS, Cloudflare and many others. On top of that, if you favorite server is not in the default list, don't fret: you still can enter its address manually and use it anyway!
But why would you want to use a custom DNS server instead of one offered by your ISP by default, you may ask? There are different reasons, really depends on each person's personal preference. Some servers are faster, some provide ad blocking or parental control solutions, some enhance your privacy etc.
DNS user filter
It is very much like the regular User filter, but for DNS requests.

DNS user filter supports several types of syntax.
You'll find DNS user filter at Settings > DNS Filtering > DNS Requests blocking. DNS User filter supports two types of syntax: a limited portion of AdGuard syntax and "hosts" syntax. You can read more about it in our Knowledge Base.
Custom DNS filters
You can add any custom DNS filters or custom hosts lists. A useful feature considering how popular are hosts lists among Internet users.

Add any DNS filter or hosts list in just a few taps.
This option is available on the Settings > DNS Filtering > DNS Requests blocking screen.
DNSCrypt
If you use regular plain DNS protocol, you are at risk of your DNS requests being intercepted, eavesdropped on and/or altered. Experiments show that the DNS tracking can even be used to construct a 'profile of interests' for any user. AdGuard supports DNSCrypt — a special protocol that encrypts communication with the DNS server, thus preventing tampering and tracking by any third parties, including your ISP.

DNSCrypt explained
If you care about your online privacy, we strongly recommend using DNSCrypt. Conveniently, there's a whole list of DNSCrypt servers available in AdGuard for Android!
Proxy and TOR
A proxy server is basically another computer serving as a hub that processes your internet requests. You can set up AdGuard to route all your device's traffic through any proxy — and you'll be able to configure the whole thing right inside the app. If you need an instruction on how to set up a proxy, look it up in the Knowledge base.
Some popular VPN providers offer an alternative way to use their service as a proxy. This can be used to run them alongside AdGuard in local VPN mode.

AdGuard for Android proxy settings
Contrary to a popular opinion, using a proxy server is not just about bypassing access restriction to geolocked resources. It is about security! If you are using a proxy server, intruders won't know what websites you visit. You can also use AdGuard along with the anonymity network TOR (we have already integrated AdGuard with Tor for your convenience!). Here is a Wiki article where the whole concept of TOR network is nicely explained in case you wish to find out more.

You'll need to install Orbot to run AdGuard with TOR
Be aware that you will need to download and install the Orbot app — it will help the integration with TOR go smoothly.
Other features
Is there anything left that we haven't covered yet? Indeed, there are a few things we'd like to mention. They might not be key features of the app, but nevertheless they deserve your attention:
Userscripts support
Userscripts (we also call them extensions) are basically mini-programs written in Javascript that extend the functionality of one or more websites. Usually, you'd need some special userscript manager to add them, and it's traditionally more of a desktop thing. But with AdGuard everything is possible! Now you can add any userscripts by URL or load them from a file, and AdGuard will serve as a userscript manager and take care of the rest. Go to Settings > Extensions to enable some of the pre-installed extensions or to add custom userscripts.

Few useful userscripts are added by default.
By the way, you can tap on any added userscript to see more details, and to reinstall or delete it.
There are too many features to describe them all in detail, so let me simply list them here:
- When you visit certain screens for the first time, there will appear tooltips that describe the purpose of that screen and its main features
- You can export or import AdGuard settings (for a faster switch between the settings profiles or to transfer your profile between different devices)
- Select an update channel, i.e. the mode in which the application receives its updates (stable release channel, less stable beta channel and raw "nightly" channel)
- By tapping on a little battery icon on the main screen of the app you will get to the "Battery Usage" screen. System battery stats are often wrong, so we decided to have our own, one that would reflect the real state of things
- You can change the app's language in the General Settings tab. By the way, AdGuard is continuously translated to more and more languages — and largely thanks to volunteer contributions by AdGuard users!
And that's all about AdGuard for Android! Well, not quite — there are a lot more nuances to it, but we covered all the basics (and even more). Let us know in the comments if you have any questions that this article fails to answer, we'll hang around to help you. Till the next time — after all, we have so many plans for the future versions!