TechTok #3. Curating your search results, using AI to block streaming ads, and dealing with QUIC
We’re continuing our TechTok series, where we answer your questions about ad blocking, VPNs, and technology in general. After covering some of the VPN-related topics, today it is time to address some questions about ad blocking. Let’s start with a very concrete question coming from coutie:
Is it possible to hide certain search results in popular search engines by blocklisting specific domains or keywords? Can it be implemented as a feature in AdGuard products?
It is certainly possible to hide specific elements on a web page — that’s what ad blockers do, and search results are not an exception in that regard (in fact, AdGuard already blocks ads in search results unless you explicitly allow them). In general, to block anything anywhere you need to create a filtering rule using special syntax. Rules can range from very short and simple (for example, to block a single domain) to very lengthy and complex. If you want to not only block a specific element, but also to make it look good and eliminate all white spaces and leftovers, the rule you need is going to be quite complicated. Here is an example of a rule that hides all organic search results in Google Search that lead to facebook.com
:
google.com###search div[data-hveid] div[jscontroller][data-hveid]:has(> div[data-snc] span[jscontroller] > a[jsname][href*="facebook.com"])
Keep in mind that this rule works only for Google Search and doesn’t cover things like AI overviews, featured snippets, and so on. It would be possible, albeit somewhat challenging, to create a set of rules that would take into account all of those things and hide everything that has anything to do with facebook.com
in this case. Doing the same with keywords instead of domain names would be even more difficult — and prone to false positives on top of that. However, here we approach a fundamental issue.
AdGuard Ad Blocker is exactly that — an ad blocker, first and foremost. Its primary goal is to block ads (and trackers that accompany them). Having an entire separate feature for hiding search results based on some arbitrary criteria doesn’t go along with its stated purpose, and therefore it’s unlikely we will add anything like it in the foreseeable future. For that, there exist dedicated tools that you can take advantage of. Alternatively, you are welcome to add your own custom filtering rules to achieve the same goals. If that’s the path you’d like to go down, our filtering syntax guide is a good place to start.
And if you are concerned about explicit content and child protection, several AdGuard products offer a special feature — Parental Control. It blocks access to websites and services that contain unsuitable content and keeps search results age-appropriate.
Let’s move on to the next question. Io J. asks:
Why is no one working on an AI solution for blocking the ads on the streaming services? They stand out from the content like a sore thumb, and usually have ad timers displayed, so it should be super easy to identify them.
Ads in streaming are some of the most irritating ones you can think of. They disrupt your flow and leave you no option to skip them. At the same time, blocking them is often harder than blocking almost any other ad. However, the difficulty doesn’t come from inability to identify the ads. It’s the ‘blocking’ part that gives ad blocker developers the most headache.
When we talk about streaming, most of us imagine sitting on a couch with a tasty snack and watching the show on your smart TV. Unfortunately, smart TVs are not very well equipped to block ads. Developers don’t have much to work with, as the tools smart TVs provide are very limited compared to desktops and even to mobile devices. When it comes to streaming on the web, ad blockers do a decent job. For example, both the AdGuard desktop app and browser extension will block a good portion of streaming ads if you watch the stream in your browser. AdGuard for Android will do the same to a lesser extent, while AdGuard for iOS might work slowly and miss more ads — filtering on iOS is a different beast and in general is fraught with a lot of difficulties. Sadly, blocking streaming ads on smart TVs and in mobile apps is next to impossible and AI won’t help with that.
To round up the answer, we have to mention that AI is already being used in ad blocking, and its role will only grow stronger with time. Ironically, the best application for AI is to deal with ads in AI chatbots, but there are also examples of AI helping to block regular ads, like this extension that cuts out native ad integrations from videos on YouTube.
The last question for today comes from Sensei:
Most of the mainstream apps are actively switching to QUIC protocol. Is AdGuard prepared for that type of ad requests?
The question may sound intimidating if you’re not familiar with QUIC or network protocols in general, but we’ll try to keep it as simple as possible. First let’s make sure we are on the same page regarding terminology and the current state of things.
QUIC is a transport layer network protocol, meaning its job is to facilitate communication between hosts in a network. QUIC is relatively new compared to TLS, but it’s quickly gaining popularity thanks to higher stability, better performance in unstable networks, and other advantages. TLS is still being primarily used, but if both the server and the app/browser support QUIC, then QUIC will be preferred in most cases, and this happens more and more often. Ok, now back to ad blocking and to the question at hand. Everything we’re going to say below is only relevant to AdGuard apps. Browser extensions don’t face any problems with QUIC, as they perform filtering on the web request level, and the browser itself deals with all the protocols.
As we already know, QUIC is a transport layer protocol. You can’t “filter QUIC” per se, but you can filter HTTP/3, which is the latest version of the Hypertext Transfer Protocol facilitated by QUIC. AdGuard apps for Windows, Mac, and Android all have HTTP/3 filtering as a feature. An important note: HTTP/3 filtering is impossible in Chrome and in Chromium-based browsers. Whether it’s a bug or intended behavior, Google doesn’t comment. But in Firefox, Safari, and other non-Chromium browsers you’re good to go.
But what if HTTPS filtering is not available — the case most commonly encountered on Android devices? This is not the end of the world. SNI filtering comes to the rescue! SNI stands for Server Name Indication, and it is an extension to the TLS and QUIC protocols. SNI contains the name of the domain that the client attempts to connect to. If that name belongs to a known ad or tracking domain, we know what to do! SNI blocking works similarly to DNS filtering, in fact, if you have one you don’t need the other.
To sum it up, the advent of QUIC doesn’t spell doom for ad blockers, or anything remotely close to that. It is not without its challenges, but we’re prepared to face them and will continue to work on HTTP/3 filtering and other ways to block ads sent with the help of QUIC protocol.
We hope that we’ve answered the question fully and that you find our new rubric useful. Send your questions over through this form, and you might see the answers already in the next TechTok edition!