[Android Apps and Games] PerfectSlayer:
Hi all,

I talked enough about it the past weeks and here it is: the first beta for the next version of AdAway.

As you know, the main feature is the removal of root requirement but it also comes with a lot of improvements like an easier to use UI, a builtin updater, new cache and databases to improve reliability or even a quick pause/resume adblocking button that 3rd party apps can control.

It took me literally a year and 330+ commits to build it (the first commit of this branch was April the 7th) and I hope it will be worth it.

It should allow the app to be viable in the future with root being more and more difficult to achieve at each new Android release and Google hardening SafetyNet checks.

I will try to answer to the most expected questions here so you still can post a link to this FAQ later to lost users.

FAQ:

Does this version replace the v4.x versions?

No. This is still a preview version and does not replace the stable one.

It is available to test it and report issues and feedback before being promoted to stable.

Can I upgrade and revert safely?

Yes. Both v4 and v5 use the same settings export format.

Why does this version targets Android 8+ Oreo only?

Like the v4, v5 is expected to offer support for latest devices.

Android 8 and above represent more than 60% of device distribution and will grew through time.

If you use an older device, root solutions work very well and v4 is here for you (like v2 and v3 stayed for legacy devices).

How the hell does it work without root?

This version provides two adblocking methods: the usual root one using hosts file and a new one using local VPN.

The VPN solution allows to filter and alter connections of your devices without root access.

Is using a VPN safe?

In the case of AdAway, yes. It uses VPN API but does not connect to a VPN server.

In the case of VPN client app, it depends.

To give you more details, a VPN client app uses the VPN API to create a virtual network interface on your device and redirect all your traffic into it.

If you imaginge the VPN like a pipe (the right word is tunnel), client VPN app outputs all your traffic on a VPN server which is able to check what you are doing on the Internet.

With AdAway, your network is not redirected to a VPN server but your device internet connection (same as no VPN). VPN API is only used to get traffic into it to break the connections to ad servers.

Is VPN use battery?

Yes, like everything you do on device.

Witouth root, a VPN service will be running permanently to filter your traffic.

Good news is it will only filter DNS traffic. Not all traffic is redirected into it so it won't be as expensive as you can fear.

Did you come up with this idea alone?

Absolutely not! I spent a lot of hours trying to find altenatives to hosts based adblocking (like routes or private DNS). But nothing was better than VPN based adblocking.

So we (MrRobinson and I) approched Julian Klode, developer of DNS66 more than three years ago to see if we can merge our apps. It wasn't that easy as we don't develop our apps the same way so I ended up by integrating the DNS66 adblocking method into AdAway. It is fine for Julian, his app is Open Source and he himself built it from the core code of AdBuster app (an VPN based adblocking app).

Should we stop using DNS66 for AdAway?

Not at all. DNS66 is a great app and provides some features that AdAway doesn't have (yet?), like DNS settings.

DNS66 is a great app, keep using it if you like it!

If both apps used the same adblocking method a year ago when I start this version, I keep adding feature to the VPN adblocking method and most of them won't be in DNS66.

If Julian ports them back to DNS66, it's great if it can help his app and users!

Is it me or the app put on weight?

Yes, the app significantly grew due to new libraries like VPN related ones and Android Jetpack.

It also stores more data on device: a http cache, a host database, a hosts copy, etc...

I think 15~20mo of storage is still fine.

Changelog:

Without further ado, check the summarized changelog (it was hard to summarize a one year development)

Add new home screen

Provides all main controls from one screen

Displays currently blocked, allowed and redirected domains

Displays current hosts sources status and control to force apply

Add non root ad-blocking feature

Uses a builtin local VPN to filter DNS request to blocked domains

Based on the work of dns66 by julian-klode

Allows to excluded system applications and per user applications

Add builtin updater with changelog display

Add feature to quickly pause and resume ad-blocking

Add wizard screen for first run setup

Add feature to display and filter all blocked, allowed, redirect domains

Improve preferences screen

Add broadcast receiver to control ad-blocking from third party applications

Update Android target to Android 10

Improve root and shell support

Split translation files to easier understand their context

Add GitHub action test and build tasks

Download:

AdAway 5.0.0 beta (sha2: 200fd7789b174735d3af5925b4e568b09475bb3f39a79d24d6617af4b19cd19d)

If you like my work, feel free to support me. Check my sign for donation links. Thanks all! :highfive: