How does Blokada work?

This article is brought to you by Sebastian, one of Blokada Insiders, and is the first in a series of articles aiming to improve your understanding of ad blocking, privacy and malware protection, and related topics.

In very simple words, how does Blokada work and what is that VPN?

We all know that blocking ads is certainly something we all want. While some developers in fact rely on the revenue coming from displaying ads on their apps, the majority of ads we want to block are annoying, they increase the amount of traffic and simply ruin user experience, to put it straightforward (personal advice: if you use an app whose developers seems to really depend on ad revenue, you can whitelist that app on Blokada, and URL requests from that app won’t be filtered).

There are several solutions to block ads available at the moment, but most of them are somewhat complex on the field of privacy data, others require special measures like rooting your phone, and others block ads on webpages but the rest of the system still displays ads. Nevertheless, Blokada requires none of this measures, and blocks not only webpages but also apps. Let’s see in short terms how Blokada does it.

So, how does Blokada work?

To put it simply, Blokada generates a Virtual Private Network, a VPN, on your phone, and through the use of that VPN it filters traffic against hosts lists that contain hosts that are known as ad hosts. Also, it provides alternate DNS, so eventually that traffic will be resolved with the use of those DNS.

Basically two parts: first through the use a VPN all traffic is checked against a host list that contain ad delivery hosts; the second part is the host list itself, which is automatically updated within Blokada from known hosts list (like AdZHosts). A third component is the alternate DNS option provided by Blokada, but we’re not going to get into it now.

To get things clear, DNS stands for “Domain Name Server” and/or Domain Name System, and while it’s much more complex than these few words, for the purpose of this short article we’re going to say that it is the system by which an URL is converted to an IP address, or, how your phone finally knows which IP is www.google.com. Blokada allows to use other DNS different from the system DNS, but by default the DNS used is the system DNS.

Now, what is a VPN and how does the Blokada VPN affect the privacy of my data?

A lot of people have asked about the privacy of their data, since Android will always tell you that there is an active VPN on your phone when Blokada is activated. In short words, a VPN is a method that allows, among many other things, for re-routing traffic. When Blokada is activated, traffic is routed locally on your phone and passed through the hosts lists.

If there is a match between the URL that a webpage or an app tries to reach and an entry on the host list (the one that contain the ads hosts), then that connection is blocked. If there’s no match, then the data is retrieved from the host and delivered to your phone, be it a webpage or an app.

Ad blocking diagram

Does the Blokada VPN mean that my data is passing through third party hands?

No. The Blokada VPN is a local VPN and its reason is to route all the traffic through the hosts filters to know when a requested URL matches an ad host. As it was said before, if there’s an URL request to a host on the hosts lists, the request is blocked, so the ad isn’t even reaching the phone (this is where Blokada also helps in saving data, because it blocks the ad from the very request of it, not just displaying it). No data is passing through third party servers or hands or screens nor it is stored anywhere.

So, for the peace of your mind, using Blokada and seeing that VPN android alert doesn’t mean your data is at risk. This method is the reason why Blokada works not only for webpages and inside a specific browser like any other browser extension, but also on any other app on your Android system that requests an URL.

Technical notes!

When we are trying to explain in simple words something that has several technical aspects, there always has to be a section with the correct terms, specially for readers with advanced knowledge. In this article we made a few compromises to keep it simple, but there are two important things.

  1. The first one: we used the concept of “URL request” to explain how ads are delivered, but Blokada in fact works at DNS level, meaning it filters not by URL but by domain. At DNS level, a domain is associated with an IP, and Blokada works at this level. These concepts -the DNS system- are a little bit technical since the DNS system involves “levels” among other things (the server that knows where to find .com domains knows where are the next layer of DNS, so it asks for a given .com domain to that DNS server, it’s a recursive query). For the purpose of this article we let it at “URL request”, but in reality Blokada works with domains, as in the DNS system (in the DNS system there’s no such concept as URL, but domain). We took the liberty to explain it with the use of the term URL since it is far more known than the concepts around the DNS system.

  2. The second one: there are two kind of hosts lists. The common ones, those used by Blokada, are composed by a domain and its associated IP address -and if there’s a match between the requested domain and an entry on the list, then the domain is blocked-. The other ones, commonly known as “cosmetic filtering” are used by some other ad blockers, and have another function. The difference is the following: when an ad is blocked, the webpage itself -or app itself- doesn’t know that the ad has been blocked, it simply doesn’t display it. Sometimes the consequence of this is a white space or some other layout issue, since the webpage or app had a space on the layout reserved for that ad. These other ad blockers sometimes use what is known as “cosmetic filtering”, meaning it filters content according to some other rules (like CSS styling, by detecting on the CSS where are ads located on the webpage) and work on the layout of the webpage. Blokada doesn’t work on this type of filtering, since Blokada works at domain level.

Platforms vote results

During May we’ve been running the platforms vote, which is part of my strategic planning of the Blokada future. Needless to say, this is very long term, since there’s a lot of things to implement on Android still, but, it’s always good to check what do you think. Especially because you are always keen on giving your feedback. :)

This time we had 1039 responses, which is much more than before, although this survey was running for longer time than the previous ones. This was a multiple choice survey, so one participant could vote on more than one feature (and there was no maximum limit). In total, there was 2595 votes. Unsurprisingly Android was your top choice. I included it in the survey as a sanity check mostly ;).

What is interesting though, is the fact that you rank Windows (23%), and Linux (16%) so high. This is a good sign for future expansion of Blokada, although for the foreseeable future I plan to put the focus on mobile platforms. From this perspective, it’s good to see that Android TV / Fire stick got a decent amount of votes (14%), even more than iOS (13%).

Platforms vote 1

The second question was meant to probe the popularity of iOS among you. This was an optional question, although 1010 participants responded to it (almost everyone). Almost half of you (48%) said to be using an iOS device or have someone close who is using it. This is great news for a potential future expansion of Blokada to iOS.

Platforms vote 2

Again, thank you for so active participation in another general voting of our community. The next survey is already online, and I encourage you to take part in it!

PS, did you know you can join Blokada Insiders and help run the project? For example, you can be managing the voting like this one. It’s totally free and doesn’t take much time. You are welcome to join us!

Features vote results

Throughout April we’ve been running the features vote to see which of the proposed features are the most welcome among you. Today, I finally found some time to write up the results. :)

This time we had 721 participants, which is great. This was a multiple choice survey, so one participant could vote on more than one feature (maximum 5). In total, there was 2317 votes. The most popular feature was HTTPS filtering (to block YouTube ads and encrypted ads) with over 20% of all votes. It’s worth noting, though, that probably the most popular feature (VPN), was not included in the survey, since it’s already planned. This result doesn’t surprise me much, since you ask about blocking YT ads a lot, but implementation wise, it’s hard to guarantee high effectiveness and low battery usage across devices. Nevertheless, the survey results tell me to keep this feature high on the priority list.

Features vote 1

Looking at the rest of highly popular feature requests yields some more surprising results. While the high demand for the Firewall feature (17%) is in line of what I expected, and confirms my priorities, it’s surprising to me to see the Auto activate / deactivate feature clocking over 10%. It’s welcome though, in particular since it’s way faster to implement than most of the other features.

Other high contenders are: Better notifications (8%), Advanced DNS configuration (6%), and Data saver (6%). I’m quite happy those are high on your list, since they are high on mine too.

Next in order are: Speed test (5%), Root non-VPN mode (5%), and Cloud backup (4%). Among those, first two are more popular than I would expect, while the cloud backup seems less important to you than I thought.

The rest of the features apparently has a lower priority, so we won’t analyse them in detail just yet. Again, thank you for so active participation in another general voting of our community.

PS, did you know you can join Blokada Insiders and help run the project? For example, you can be managing the voting like this one. It’s totally free and doesn’t take much time. You are welcome to join us!

VPN vote results

For the last month I’ve been running a survey about the possibility of adding VPN service into Blokada. The idea is that introducing independently from the existing ad blocking and DNS changing functionality will allow to support the project development long term. The survey was designed to help me understand what you think about this idea and how would you like it to work.

As usual, I could count on your participation. With 896 responses the survey turned out to be very useful for making decisions. Over 78% of you answered you’d use Blokada VPN, which I think is very promising result. Among those, 43% declared to only be interested in a free tier. It means that 44% of all voters is interested in a paid service, which is a very good sign for supporting the development of Blokada in the future.

VPN vote 1

As to top features you’d like to see in Blokada VPN, first five are: high speed, strong encryption, servers in many locations around the world, no logs, and support for multiple platforms. It’s a bit surprising to see strong encryption so often requested, and it highlights the fact that Blokada users are quite tech savvy and concerned about privacy.

Among the ones who said no, roughly 39% is happy with their current VPN provider, and 37% do not want to use any VPN anymore. Only 16% said to not trust Blokada enough to use its VPN service. The rest of responders provider more specific answers, mostly stating a lifetime subscription of existing VPN service, or a worry about Blokada becoming too bloated. The last one is an unnecessary worry though, since if the VPN service gets introduced in the future, it’ll be fully optional, and you’ll be able to use Blokada exactly as today, for free.

Again, thank you for so active participation in another general voting of our community. I already prepared a new survey, and it’s available in the app. This time it’s simply about which features would you like to see implemented in Blokada the soonest.

PS, did you know you can join Blokada Insiders and help run the project? For example, you can be managing the voting like this one. It’s totally free and doesn’t take much time. You are welcome to join us!

Blokada translations moved to Crowdin

During the last year we’ve translated Blokada to 15+ languages, with more than 30 languages in total being worked on. This is amazing!

In order to make the job easier for translators, I decided to change the translation platform to Crowdin. Migrating existing translations took me many hours, and not everything went smoothly to say the least, but I think you will agree it was worth it - the new platform is much better!

You can read more about the new translation platform here.

If you’ve contributed translations to Blokada before, I sent you an email about the new system. I invite you to try it out and let me know what you think. Also, we’re looking for people interested in managing translations - each language will have a person approving changes having a say on what goes into the app, and what doesn’t. We hope to increase the overall quality of translations this way. If you’re interested, please read about Blokada Insiders.

Branding vote results

Since users seem to confuse the name Blokada very often, I decided to check what the community really thinks about the branding. Over the last 3 weeks we’ve been voting on alternative names for the project, and we got some cool suggestions. Here are the results.

The first voting was designed to test if we want to change the name at all. Surprisingly, 89% of users (from 1286 votes) is happy with the name Blokada, or at least think we should not change it.

Branding vote 1

This was a bit of surprise to me, but since rebranding is a significant amount of work and I would prefer not to do it, I was happy with the results ;).

Users who voted to change the name was asked then to vote on one of the existing alternative suggestions, or propose their own. We got some really interesting suggestions, so just to exhaust the topic of branding I decided to run one more survey. The second survey was just focusing on those suggestions, to see which one of them is the best, in case we decide to rebrand after all in the future.

Branding vote 2

We got 358 votes (this survey was running only a few days). The highest number of voters (23%) voted on Blockade. Two next most popular choices were Blocky McBlockface and BlockIt, both with roughly 11% of votes.

So, thank you for so active participation in the first general voting of our community. I am very happy with the engagement and I think this is a very good way to decide about any matters important for the future of the project. In fact, we’ll be voting on introducing VPN functionality next.

PS, did you know you can join Blokada Insiders and help run the project? For example, you can be managing the voting like this one. It’s totally free and doesn’t take much time. You are welcome to join us!

Blokada Insiders

With the growing popularity of Blokada, I’m getting more and more questions about how can one help the project. Well, there is a lot of things to do with every single release! If you are enjoying Blokada and wish for its continued development, you can make a big difference by joining Blokada Insiders.

Blokada Insiders is a welcoming group of people giving a bit of their time to help Blokada grow and improve. We do various tasks which don’t take much time, but together make a huge difference. Each of us take a specific role, like Community Manager, Columnist, YouTuber, Adopter, Promoter, Translator, etc. Each role defines things to take care of.

How to join us? It’s very simple:

  • Check Insider roles (the ones marked with orange Help Wanted are up for taking) and decide what would you like to do. Click any of the roles to see a detailed description. Each role has its perks!
  • Check Creators board if you’re thinking about one of the creator roles, to get an overview of which things we currently need.
  • Join our chat and mention that you would like to join the insiders.

That’s it! Join the community, support Blokada, and have fun with us!

Blokada is an open source project. There is no financial reward or cost involved with participation. You are free to resign anytime, we only ask you to let us know once you decide to do so.

Blokada v3 is out!

Blokada v3 is now released and I’m gradually rolling out the update to all users. If you haven’t received it yet, stay tuned, or just go the download section.

This release is introducing a lot of changes and improvements, and you’ll see all of them described in detail in next several posts. Meanwhile, here are the highlights:

  • Improved “Keep Alive” feature. This is addressing the problem of Blokada being killed by the OS too often on some devices.
  • Improved “Start of Boot” feature. Now Blokada starts earlier in boot and is more dependable.
  • Introduced HTTPS to Blokada API and website to improve security and prevent MITM attacks.
  • Introduced Blokada Chat. You are welcome to join us on Telegram!
  • Introduced Blokada Patron. This feature aims to help supporting the project and at the same time reward contributions and active members of the community.
  • Introduce “Chip In”, a periodic Call to Action mechanism to engage the userbase and help make community decisions. As a first order of business, the Blokada community is having a vote to express their opinion on Blokada branding.
  • Simplified and refreshed UI to eliminate confusing bits, keep the codebase nimble and decrease apk size.
  • Simplified translating Blokada by decreasing the overall amount of strings, eliminating use of plural strings and keeping the core phrases set small.
  • Fixed several significant bugs, for example with the whitelist.

A detailed changelog is always available at go.blokada.org/changelog.

Thanks to the great team of Blokada translators, Blokada v3 is translated to 15 languages from the start. I can’t emphasize enough how awesome it is, especially because it was done on a really short notice.

Please note that some non-essential bits are still to be translated and you’ll see more complete translations in coming days.

Blokada ad blocker now also available in Italian and Malay

The awesome members of the Blokada community just contributed new translations! As of v2.2, Blokada adblocker is now available in two more languages: Italian and Malay. A thank you goes to:

  • Italian: htrex
  • Malay: Syed

This makes Blokada ad blocker speak 10 languages in total! Just a month after I’ve introduced translations support. What’s more, Hebrew and Persian are already in the pipeline (I need some more testing for those since they’re first RTL languages to be supported by Blokada). This is seriously impressive.

Great job everyone!

Your language missing? I’ve made contributing translations as easy as possible. Go here to help.

How to use quick whitelist actions in Blokada ad blocker

Blokada 2.2 added a very useful quick actions menu to help you efficiently manage your whitelist. You can easily whitelist and un-whitelist all installed or system apps with one tap. You can also restore your filters to default configuration in case you messed it up too much. Note that it also resets the blacklist.

Here is a video that demonstrates the quick actions menu available in the Whitelist section.

Keep in mind a few things while using this feature in it’s early release:

  • Not every app will immediately act properly after being whitelisted. In some rare cases you may need to kill and restart that app.
  • App whitelisting is only supported by the optimised blocking mechanism (at least in 2.1). If you are using standard blocking, you’ll see a message telling you app whitelisting is ignored.
  • Your comments on already existing items will disappear if you re-add them using quick actions.

Enjoy!