[APP][ROOT/NONROOT][OFFICIAL] AdAway v6.1.1

Search This thread

DiamondJohn

Recognized Contributor
Aug 31, 2013
7,375
7,391
Sydney
About not being blocked on mobile data ?
Check your APN for a proxy setting. Of enabled will bypass local DNS.
I have not explicitly applied proxy settings. I *think* what is happening, is the mobile provider (vodafone AUS) is reconfiguring the data connection, to use its proxy setting, which also skips the host file. But its a guess. I also tried using a Private DNS setting to an advertising blocking DNS, and that appears to also be ignored on Mobile data.
 
  • Like
Reactions: ipdev

hteles

Senior Member
Oct 10, 2011
567
252
Sintra
Nexus 7
LG G3
I have not explicitly applied proxy settings. I *think* what is happening, is the mobile provider (vodafone AUS) is reconfiguring the data connection, to use its proxy setting, which also skips the host file. But its a guess. I also tried using a Private DNS setting to an advertising blocking DNS, and that appears to also be ignored on Mobile data.
Try to edit the APN and remove the proxy entry. Save and retest.
 

Attachments

  • IMG_20230421_111304.jpg
    IMG_20230421_111304.jpg
    43.9 KB · Views: 61

zgfg

Senior Member
Oct 10, 2016
10,740
9,333
Redmi K20 / Xiaomi Mi 9T
Xiaomi Mi 11
Wait a sec, am I understanding you correctly in that by switching the IP of DNS to the ones above, you now get blocking of ads (that didnt work before)? although for me its not a chrome specific issue, its in apps (and browser) that ads stop being blocked when on mobile data, and 100% block on WiFi.
Yes, I can fix it (force Chrome to use hosts file and hence to block ads) but only by manually changing the DNS server through Static config for that particular WLAN connection

For me, no use of resolve.conf, DNS props and dnsmasq to enforce a DNS server of my choice for ALL WLAN (and maybe Mobile Data) connections

And no use of nsswitch.conf to enforce that local hosts file would ALWAYS have precedence over the public DNS server -
when my Chrome detects that Google or Cloudflare DNS servers are used, Chrome starts ignoring the local hosts file with the sites blocked by AdAway and ads start showing on the Web pages)

---
Putting my results all together:

I use AdAway root mode and Systemless hosts in Magisk.
AdAway pathches /data/adb/modules/hosts/etc/hosts file, and Magisk (upon reboot) mounts to /etc/hosts file.
Therefore, about 310K ads sites are blocked (redirected to localhost) and they cannot push ads

I don't use private DNS server (like AdGuard) or firewall (like AFWall) to additionaly help to block ads

1) Problem: WLAN with Google/Cloudflare DNS - ignoring hosts file

- When DHCP on the WLAN pushes me Google DNS server 8.8.8.8, then my Chrome starts ignoring the local /etc/hosts file.
Therefore, ads are no more blocked and they show elsewhere in Chrome

Interestingly, ads are not showing in the other apps

Solution:

- I open native Settings, WiFi, Details for the connected WiFi and switch configuration from DHCP to Static.
It offers me everything as it was pushed by DHCP, I just replace DNS1 server from Google 8.8.8.8 to eg. Quad9 DNS 9.9.9.9 and Save

I force-close and reopen Chrome and it starts using the local hosts file - hence ads are no more showing

Good thing is that my phone remembers and next time when I come and connect to the same WLAN, it uses that Static config with the DNS1 server (9.9.9.9) as I previously defined, Chrome then obeys the hosts file and ads are not showing

I can also reproduce the other way around:

- On the WLAN (eg. my home) where DNS configures some other DNS server (and therefore my Chrome obeys the hosts file and blocks ads),
I also go to Settings for the connected WiFi, switch from DHCP to Static and force Google 8.8.8.8 for DNS1 server

Then Chrome ignores the hosts file and shows the ads -
proving that my problem with Chrome (ignoring hosts file and showing ads) is triggered by Chrome detecting that a particular DNS server (Google, Cloudflare) is being used

That way I have played with Google DNS servers 8.8.8.8 and 8.8.4.4, and Cloudflare 1.1.1.1 and 1.0.0.1

All those four DNS servers cause my Chrome to ignore hosts file and to show ads

However, when I configure DNS1 server to any of the following:

Quad9 DNS
9.9.9.9
149.112.112.112

DNSWatch:
84.200.69.80
84.200.70.40

OpenDNS:
208.67.222.123
208.67.220.123

OpenNIC:
185.121.177.177
169.239.202.202

then Chrome processes the hosts file and does not show ads

---
2) No problem: Mobile Data

I have SIM cards from two major Mobile providers in my country and I tested on 3G, 4G and 5G for both providers.
DHCP always configures their own DNS servers, Chrome does not ignore local hosts file and ads are not showing, hence I didn't need to play further with DNS settings for the Mobile Data

---
3) No use: nsswitch.conf and resolv.conf

As described earlier, I have tested with /etc/nsswitch.conf and /etc/resolv.conf files, but they didn't help to change anything.
Btw, I originally did not find any of those two files on my phone

Since I have A12, my System is read only, hence I need to use systemless approach to mount these files.
I (mis)use Systemless hosts module and put those files to /data/adb/modules/hosts/system/hosts and after reboot, Magisk mounts them to /etc

However, it seems that Android does not use those conf files (Linux does)

- Eg, I have in nsswitch.conf:
hosts: files dns

that should enforce precedence for local hosts file over the DNS server

Still, it's ignored as in the case (1) above (Chrome ignores hosts file when it detects that eg Google DNS server is used)

- Similarly, resolv.conf defines DNS servers to use, like Quad9 DNS:
nameserver 9.9.9.9
nameserver 149.112.112.112


but nevertheless, it's ignored in the case (1) above
(and DHCP or Static config define the actual DNS servers that will be used for the particular WLAN connection)

---
4) No use: DNS props

I have also tested by using /data/adb/modules/hosts/system.prop with the definition of various props for DNS servers (none of those props was originally found on my phone):
net.rmnet0.dns1=9.9.9.9
net.rmnet0.dns2=149.112.112.112
net.rmnet1.dns1=9.9.9.9
net.rmnet1.dns2=149.112.112.112
net.rmnet2.dns1=9.9.9.9
net.rmnet2.dns2=149.112.112.112
net.wlan0.dns1=9.9.9.9
net.wlan0.dns2=149.112.112.112
net.ppp0.dns1=9.9.9.9
net.ppp0.dns2=149.112.112.112
net.eth0.dns1=9.9.9.9
net.eth0.dns2=149.112.112.112
dhcp.wlan0.dns1=9.9.9.9
dhcp.wlan0.dns2=149.112.112.112
net.gprs.dns1=9.9.9.9
net.gprs.dns2=149.112.112.112
net.dns1=9.9.9.9
net.dns2=149.112.112.112
net.pdpbr1.dns1=9.9.9.9
net.pdpbr1.dns2=149.112.112.112

that Magisk then mounts upon reboot, but they also did not enforce the use of the given DNS1 and DNS2 servers

---
5) No use: dnsmasq -d

I can run dnsmasq, it starts and reads hosts and resolv.conf files.
Then, when I use nslookup (also from Terminal emulator) it will use that DNS server (eg 9.9.9.9) from resolv.conf file,
and if I ask for the hostname that is blocked in the hosts file, nslookup will correctly resolves it to the localhost 127.0.0.1

On the other side, Chrome then still ignores the hosts file and shows ads if Google or Cloudflare DNS servers are used for the active (WLAN) connection
 
Last edited:

Nergal di Cuthah

Senior Member
Sep 20, 2013
2,754
1,990
Google Pixel 6 Pro
Update doesn't work on Alcatel 1b 2022. What to do?
Root or vpn? What root and version? If magisk do you have systemless hosts module? Nobody knows all devices so Android version? What host sources are you using? What do you mean won't update, show us what you've done and are doing.

Basically if anyone's going to help you need to be more forthcoming.
 

DiamondJohn

Recognized Contributor
Aug 31, 2013
7,375
7,391
Sydney
Try to edit the APN and remove the proxy entry. Save and retest.
THANK YOU!!! This fixed it!!!!

When I was testing a couple of days ago in a number of apps that had Ad's, one started a full screen video Ad WITH sound! that was unbelievable intrusive, EVERY time it started. I didnt notice it before, as I normally use that app only on WiFi, where Ad blocking worked. But now I cant remember which app that was.

I cleared the proxy and the port to be sure. I also previously set the DNS to the ones @zgfg (oops.. had the wrong user) suggested, although it didnt fix it, I may also fix DNS2, or remove some changes, as i now have both a boot script & the system.prop changes in a Magisk module. I have a lot of boot scripts and its my preferred system for re-instating after a clean flash, as I do a bulk group of boot scripts rather than magisk modules. There are other OT reasons I prefer boot scripts.

It *may* of also increased the speed of my mobile data. I did a quick check to see that it wasn't degraded, and I think I got higher Up & down than I had regularly previously; but it may of just been a one-off.

I tested turning wifi on & off, and it stuck when I iterated (y) However, a reboot reconfigures it back in, so I will search the web to check how to clear it via boot scripts; you guys have done more than enough. Thanks.
 
Last edited:

ipdev

Recognized Contributor
Feb 14, 2016
2,546
1
5,159
Google Nexus 10
Nexus 7 (2013)
THANK YOU!!! This fixed it!!!!

When I was testing a couple of days ago in a number of apps that had Ad's, one started a full screen video Ad WITH sound! that was unbelievable intrusive, EVERY time it started. I didnt notice it before, as I normally use that app only on WiFi, where Ad blocking worked. But now I cant remember which app that was.

I cleared the proxy and the port to be sure. I also previously set the DNS to the ones @ipdev suggested, although it didnt fix it, I may also fix DNS2, or remove some changes, as i now have both a boot script & the system.prop changes in a Magisk module. I have a lot of boot scripts and its my preferred system for re-instating after a clean flash, as I do a bulk group of boot scripts rather than magisk modules. There are other OT reasons I prefer boot scripts.

It *may* of also increased the speed of my mobile data. I did a quick check to see that it wasn't degraded, and I think I got higher Up & down than I had regularly previously; but it may of just been a one-off.

I tested turning wifi on & off, and it stuck when I iterated (y) However, a reboot reconfigures it back in, so I will search the web to check how to clear it via boot scripts; you guys have done more than enough. Thanks.
I think you meant zgfg for the DNS servers. 😉

I switched to using VPN mode (non-root) when ads started showing using hosts (root mode) while using Mobile Data.

I have been following the discussion and interested in what you find out.
I will gladly switch AdAway back to root mode. 😉

Cheers :cowboy:

PS.
My APN settings.

Screenshot_20230421-203656_Settings.png Screenshot_20230421-203713_Settings.png

PPS.
I see you already corrected your post. 😉 👍
 

DiamondJohn

Recognized Contributor
Aug 31, 2013
7,375
7,391
Sydney
ARgggghhh!

last night when I rebooted, the proxy settings returned, with the ads. I found this link on how to force a global proxy, with the plan to include it in my boot scripts.

Basically using a set on the two below:
Code:
settings get global http_proxy;
settings get global http_proxy_port;
To test/check which values to set to step over the proxy setting, I rebooted in the hopes of reverting to the bad behavior. Unfortunately, clearing the proxy now sticks on every reboot!

And to make it even more diffuicult, I had captured a screenshot of the original values, but when I manually type them in, they clear when I exit and go back to check if they persisted. At first I was confused as after setting it back, the Ads did not return, now its clear the old settings did not stick and therefore the old settings allowing Ads wasn't running.
 

zgfg

Senior Member
Oct 10, 2016
10,740
9,333
Redmi K20 / Xiaomi Mi 9T
Xiaomi Mi 11
ARgggghhh!

last night when I rebooted, the proxy settings returned, with the ads. I found this link on how to force a global proxy, with the plan to include it in my boot scripts.

Basically using a set on the two below:
Code:
settings get global http_proxy;
settings get global http_proxy_port;
To test/check which values to set to step over the proxy setting, I rebooted in the hopes of reverting to the bad behavior. Unfortunately, clearing the proxy now sticks on every reboot!

And to make it even more diffuicult, I had captured a screenshot of the original values, but when I manually type them in, they clear when I exit and go back to check if they persisted. At first I was confused as after setting it back, the Ads did not return, now its clear the old settings did not stick and therefore the old settings allowing Ads wasn't running.
According to some YT demos, you could do it also a simpler way:

- SIM Cards settings, New APN

- create a new APN with the same settings but giving it a different name, without proxy and forcing to be your default APN

Provider may rewrite its own APN but not your copy under the different name
 

DiamondJohn

Recognized Contributor
Aug 31, 2013
7,375
7,391
Sydney
According to some YT demos, you could do it also a simpler way:

- SIM Cards settings, New APN

- create a new APN with the same settings but giving it a different name, without proxy and forcing to be your default APN

Provider may rewrite its own APN but not your copy under the different name
I have historically built ROMs and before that I was a flash junkie, so re-setting up a device was a VERY common occurrence.

In a way, what I have done is even easier (ie delete two settings instead of noting and entering 10 specific setting values), the problem is that I would like to simply drop in my boot-scripts onto the device, and have it auto configure the device; no manual intervention/config. For eg, I use to have a script when I was rebuilding then clean re-flashing one HIGHLY customisable rom, that returned all my selected customisation adjustments (100 or so manual settings) so the phone returned back to its look-and feel just by running a shell script, instead of the palava of delving deep and returning and searching. I could also use it to transfer the selected settings between devices running the same ROM or to an extent, between two closely related ROMs, as they shared commits on settings/features.

The other thing that concerns me, if it is not accepting my little attempt to set it back on an existing APN, after creating a new one from scratch, for the same reason, it may not accept the setting for proxy, and I would be in the same situation. I haven't checked the logcat for clues, and I will leave this as a problem for "Future @DiamondJohn" to handle... My phone is up and running, I have had recent hell with a bootloop and no PC to fix, and a cracked screen, am not looking to upgrade too soon to A13, so am prepared to leave it be or fix it when/if it becomes an issue again. And it wasn't a total deal-breaker anyway, just annoying.

What I have reaslised, I have my old device, its A8-Oreo, but I think it had the same issue. It will be a hassle to swap the SIM card out-in-out-in between the devices, but doable, or maybe get a $2 starter SIM with minimal or no credit; rather than the hassle of swapping sims between phones. Actually, I have an old pay-as-you-go SIM somehwere? with no credit left that I may be able to use for testing this change; the setting only not the results. I also have a spare device (cheap ebay purchase, same as daily, Google 4A 4G) running A13 as a tester, that I could check with. I have options, but now that it works as expected, it has consumed enough time. I do like the size of this phone, I would of gone smaller if available with other features. Its a good device and stiull gets a lo9t of love on youtube, but the screens are prone to break, as my repair guy said first thing when I showed him; and its the SECOND screen I have broke.

PS: I checked my host building script that was missing the comment character on listing the source files, and it DID have the code that should of included the comment at the start of those lines.🤬 so thats at a higher priority to fix now, or in this case understand what the heck is going wrong; ie what am I doing wrong...
 
  • Like
Reactions: sieghartRM

zgfg

Senior Member
Oct 10, 2016
10,740
9,333
Redmi K20 / Xiaomi Mi 9T
Xiaomi Mi 11
I have historically built ROMs and before that I was a flash junkie, so re-setting up a device was a VERY common occurrence.

In a way, what I have done is even easier (ie delete two settings instead of noting and entering 10 specific setting values), the problem is that I would like to simply drop in my boot-scripts onto the device, and have it auto configure the device; no manual intervention/config. For eg, I use to have a script when I was rebuilding then clean re-flashing one HIGHLY customisable rom, that returned all my selected customisation adjustments (100 or so manual settings) so the phone returned back to its look-and feel just by running a shell script, instead of the palava of delving deep and returning and searching. I could also use it to transfer the selected settings between devices running the same ROM or to an extent, between two closely related ROMs, as they shared commits on settings/features.

The other thing that concerns me, if it is not accepting my little attempt to set it back on an existing APN, after creating a new one from scratch, for the same reason, it may not accept the setting for proxy, and I would be in the same situation. I haven't checked the logcat for clues, and I will leave this as a problem for "Future @DiamondJohn" to handle... My phone is up and running, I have had recent hell with a bootloop and no PC to fix, and a cracked screen, am not looking to upgrade too soon to A13, so am prepared to leave it be or fix it when/if it becomes an issue again. And it wasn't a total deal-breaker anyway, just annoying.

What I have reaslised, I have my old device, its A8-Oreo, but I think it had the same issue. It will be a hassle to swap the SIM card out-in-out-in between the devices, but doable, or maybe get a $2 starter SIM with minimal or no credit; rather than the hassle of swapping sims between phones. Actually, I have an old pay-as-you-go SIM somehwere? with no credit left that I may be able to use for testing this change; the setting only not the results. I also have a spare device (cheap ebay purchase, same as daily, Google 4A 4G) running A13 as a tester, that I could check with. I have options, but now that it works as expected, it has consumed enough time. I do like the size of this phone, I would of gone smaller if available with other features. Its a good device and stiull gets a lo9t of love on youtube, but the screens are prone to break, as my repair guy said first thing when I showed him; and its the SECOND screen I have broke.

PS: I checked my host building script that was missing the comment character on listing the source files, and it DID have the code that should of included the comment at the start of those lines.🤬 so thats at a higher priority to fix now, or in this case understand what the heck is going wrong; ie what am I doing wrong...
Put your script to:
/data/adb/modules/hosts

and name it service.sh or post-fs-data.sh and reboot

TJW recommends using service.sh but some modules need certain actions to execute earlier hence they use and/or post-fs-data.sh (find more about how/when Magisk executes these scripts in Developer Guide on the Magisk GitHub)

Go to the /data/adb/modules folders and find their scripts there

---

The way as above you will (mis)use again the folder from Systemless hosts module

You can also name your script whatever, like myScript.sh and put it to one or the other folder (again, Magisk execute the scripts it finds there at a different stage of booting):
/data/adb/service.d
or
/data/adb/post-fs-data.d

Or you can make your own module - minimalistic zip for your module is attached

Unzip, put your script (with the name as described above), re-zip (structure of the zip file must remain the same - inspect also zip files from the other modules), eg here:

'Flash' - ie, install from Magisk app (but don't become addicted again)😁

Edit the module.prop (author, description)

See where it goes when you install and where it moves upon reboot.
See what happens if you change id in the module prop, etc
 

Attachments

  • mySimpleModule.zip
    1.8 KB · Views: 26
Last edited:

DiamondJohn

Recognized Contributor
Aug 31, 2013
7,375
7,391
Sydney
Put your script to:
/data/adb/modules/hosts

and name it service.sh or post-fs-data.sh and reboot

TJW recommends using service.sh but some modules need certain actions to execute earlier hence they use and/or post-fs-data.sh (find more about how/when Magisk executes these scripts in Developer Guide on the Magisk GitHub)

Go to the /data/adb/modules folders and find their scripts there

---

The way as above you will (mis)use again the folder from Systemless hosts module

You can also name your script whatever, like myScript.sh and put it to one or the other folder (again, Magisk execute the scripts it finds there at a different stage of booting):
/data/adb/service.d
or
/data/adb/post-fs-data.d

Or you can make your own module - minimalistic zip for your module is attached

Unzip, put your script (with the name as described above), re-zip (structure of the zip file must remain the same - inspect also zip files from the other modules), eg here:

'Flash' - ie, install from Magisk app (but don't become addicted again)😁

Edit the module.prop (author, description)

See where it goes when you install and where it moves upon reboot.
See what happens if you change id in the module prop, etc
I dont think you could understand, as I have never documented it here on XDA. I have developed extensive boot scripting features that goes WELL beyond the features included for Magisk; and these features are required due to scheduling scripts in the correct order and dB concurrency (i have a LOT of dB scripts that run against the same dB). Trust me, its handled, and this code has been working solid since v1.0 around JB, with very little to no changes, and the core code is surprisingly short and simple and hence very reliable, for the extensive features it provides. The includes, supporting files and the scripts themselves on the other hand... I do have the small core/entry point script sitting in service.d . It started as an init.d as the original injection point in old CM based ROM's before Magisk, and could be thought of as init.d on Russian weightlifter steroids, and has two or three lines similar to the init scripts in ROMs that used to support init.d. It is actually safe to run as a post-fs-data (it handles timing in a simple way but adding complex control/features, and is obviously non blocking parallel processing, and hence it was safe as post-fs-data when I first installed Magisk and did not understand the difference between post-fs-data and service.d; it basically ran service.d "style", but earlier in the boot sequence. And I create multiple modules as it is. My App in my sig creates them on the fly. I have the basics under my belt, and so also have a "normal" Magisk zip module published here on XDA. Thats actually what I use to build my mega host file ;)

The timing / ordering / sequence control is one of the many reasons I prefer the boot script system I have over Magisk, when it is possible. A single script is easier to maintain and install than the multiple zip files each containing multiple files, i would need to maintain if each were a magisk module. And because of technicalities such as database concurrency (as one issue), the/a/or many Magisk module would be much more work for me than the simple scripting engine I have created; ie reuse. Trust me, magisk modules for my needs would be much more maintenance work. Thanks for your thoughts, but I have that covered, and its has been successfully covered for my needs, for many years.

And about mounting files as done by Magisk modules & folder structures, one thing I *think* I saw but have never needed, thus haven't looked into, was how Vanced used to mount VYT using scripting code, and not the common folder structure. Saving to look further into that one on a very rainy day.
 

ipdev

Recognized Contributor
Feb 14, 2016
2,546
1
5,159
Google Nexus 10
Nexus 7 (2013)
<SNIP>
And about mounting files as done by Magisk modules & folder structures, one thing I *think* I saw but have never needed, thus haven't looked into, was how Vanced used to mount VYT using scripting code, and not the common folder structure. Saving to look further into that one on a very rainy day.
You can blame me for the idea. 🙃
Their root install mimicked a Magisk module.
I did not have any thing to do with their implantation of my idea.
I was invited into the Alpha testing group though.


OT for this thread but..
Since Magisk's mount overlay did not extend to userdata.
I came up with the simple idea to just use the mount command to overlay in userdata.
It started around here.
Vanced - [xda thread] - Post #16,374
Vanced - [xda thread] - Post #16,545

I had asked team Vanced for permission to release a module using Vanced.
Long story short..

Team Vanced incorporated it into their root install. 😉

You might also be interested..
Vanced - [xda thread] - Post #17,616

My current (revanced) version.
iYT - [github] - commit
iYTm - [github] - commit

---

Note:
zgfg uses the same idea of using the mount command to extend beyond Magisk's overlay.
For device (manufacture) specific partitions in his SystemlessDebloater module.
SystemlessDebloater - [github] - Link

Cheers. :cowboy:
 

zgfg

Senior Member
Oct 10, 2016
10,740
9,333
Redmi K20 / Xiaomi Mi 9T
Xiaomi Mi 11
Type the following 'address' to the Chrome address bar:
chrome://chrome-urls/

Then navigate to net-internals, DNS or use this 'address' directly:
chrome://net-internals/#dns

It shows how Chrome resolves the hostnames. Three screenshots attached: existing and not blocked, non-existing/wrong and blocked hostname

---

Btw, @PerfectSlayer, do you maybe call mount -o bind or something upon Hosts file was successfully updated or Changes applied, to immediately remount /data/adb/modules/hosts/system/etc/hosts to (/system)/etc/hosts
 

Attachments

  • IMG_20230423_082829.jpg
    IMG_20230423_082829.jpg
    156.5 KB · Views: 109
  • IMG_20230423_082900.jpg
    IMG_20230423_082900.jpg
    146.9 KB · Views: 106
  • IMG_20230423_082941.jpg
    IMG_20230423_082941.jpg
    156.5 KB · Views: 109

Relod8

Member
Mar 15, 2019
28
0
Hello, how can I get Adaway working on AndroidX86? I keep getting an error "Failed to install hosts file" , I have root enabled in developer settings and gave it su access.
 

xozaq

New member
Feb 27, 2020
4
0
Hi there, I am new to adaway (ditched blockada) and now am stuck with the problem that it seems that it blocks almost every internet connections (signal works but any other app and browsing the net is blocked). Any advice here? I feel kind of stupid not being able to get this going... Thanks in advance!
 

Nergal di Cuthah

Senior Member
Sep 20, 2013
2,754
1,990
Google Pixel 6 Pro
Hi there, I am new to adaway (ditched blockada) and now am stuck with the problem that it seems that it blocks almost every internet connections (signal works but any other app and browsing the net is blocked). Any advice here? I feel kind of stupid not being able to get this going... Thanks in advance!
Are you using it in nonroot vpn form or root hosts form
 

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    Hey guys. I have created a HOSTS file for any UK users here who use 4od, blocks all adverts, there is a short delay while the adverts skip but other than that it works perfectly. I have Adaway setup on my Chromecast w/ Google TV and it works brilliantly.

    Adaway 4od HOSTS

    I have a question, I have the Adaway default hosts enabled, I added my 4od hosts and one called GoodbyeAds but does anyone know of any HOSTS that block the freevee ads and/or the amazon prime video ads?
    You should maybe check / search for more "channel4" type hosts in https://raw.githubusercontent.com/hagezi/dns-blocklists/main/domains/pro.plus.txt

    I no longer use AdAway as my host file is waaaaaay too big. I have been lazy and haven't updated my hosts file for a many months now, but have yet to see any ads. I also use a custom DNS I have listed above. I was surprised when I used the DNS alone, ads broke through.
    1
    I use Adaway non-rooted via VPN on a xiaomi redmi note 13 pro+. It works fine, except that it does not automatically start after a reboot. Any ideas why not?

    I did:
    • Selected "Background autostart"
    • Set Battery saver to "No restrictions"
    • Set Always-on VPN in preferences
    • Set Block connections without VPN" in preferences
    Ever since I set the Always-on VPN, I get a message after reboot (before providing the unlock code for the first time): "Disconnected from always-on VPN — Change network or VPN settings".

    Adaway is supposed to start automatically after a reboot, right?

    Thanks for helping!
    Most probably an android problem. Maybe open an issue report on GitHub.
    1
    I have been using Adaway, both rooted and non root versions, for several years. My phone broke last week, and while I wait for a replacement I am using a borrowed stock Oneplus 9. It is running Android 14, with no other VPN apps. When I install Adaway, it installs the root version, so I get a systemless host error. It used to install the correct version automatically, is there any way to force it to install the non root version?
    It's always blatently (NEVER automatically )asks me on a data clear, just tried it and got
    Screenshot_20240415-164536.png
    Clear data and choose vpn if you want vpn
  • 3364
    icon.png
    AdAway

    AdAway is an open source ad blocker for Android using the hosts file.


    Google Play Store notice

    According the Google Play Developer Policy, especially the "Device and Network Abuse" section, ad blocker like AdAway violates the "Apps that block or interfere with another app displaying ads." rule and can't be distributed on distributed on the Play Store.
    As Free and Open Source Software, AdAway is available from F-Droid Store or this XDA thread :good:


    Requirements

    This application requires Android 8 or above and does no more require root.

    For older Android versions, a rooted device is required.


    Changelog

    If you don't want to read each announce post of this thread, you can:


    Downloads

    Stable versions are available on GitHub releases and F-Droid Store:
    Beta versions are available on GitHub releases only: AdAway 6.0.2b

    The app provides an in-app updater for both GitHub and F-Droid builds.
    Keep in mind beta channel is limited to GitHub builds, and F-Droid releases usually have a several days latency.


    Problem? Read this

    * If you use Chrome and still see ads on web pages, remember to disable the "data saver" or "reduced data usage" browser option.
    * Check your APN settings for any proxy, the proxy itself could be allowing ads. Disable the proxy.
    * After you install or make any change to AdAway, you must reboot for those changes to take effect.
    * If you are still having issues please read and understand all the info in the wiki before asking for help here.

    Otherwise, this is the right thread to discuss about it or file a bug report here.


    Contributors

    PerfectSlayer, Vankog, jawz101
    Source Code: https://github.com/AdAway/AdAway
    170
    Hi all,

    A new year is coming and I wish you all to have nice holidays :victory:

    Just few words about this ending year. There was about 12 releases in 2019 which brings you a new UI, a lot of bug fixes, Android 10 support, Gist and GitLab hosting support and better Magisk support.
    All of this is possible thanks to the community to help users to discover the app, learn how to use it and report any new bug and also your moral, nice words and thanks you can send to me, and financial support.
    Thanks a lot for all donators, GitHub sponsor and the Pixel 2 you sent me to test Android 10 support.

    For the next year, I hope to release the next version (V5), at least in beta to start. It's been 9 months since its first lines of code and things are working quite nicely.
    It aims to make the app simpler to use for the main use cases, support rooted and non rooted devices and remove old hacks/workaround which are no more needed on recent setups.

    But before this big next update, I still have time to fix current issue with a new release :p

    Changelog:
    • Fix GitLab hosting support (commit date parsing failed)
    • Translation update

    Thanks:

    Special thanks to @gallegonovato for its helpful bug report and @Vankog for translation update.

    Download:

    AdAway 4.3.2 on AndroidFileHost (md5: 78fde09a0e92044c45e901bb1cec8e2e)
    159
    Hi all,

    Long time no see! It's been more than two months since the last update.
    I can't say I was not active on the project as I start working on a new version (5.x.y) as a side project.
    I won't share the source code yet as it is not ready at all and I don't want to give an ETA but this new version targets the following goals:
    • 1. Revamp the UI
    • 2. Clean up old support
    • 3. Address one of the main drawback of the app

    1. The card based UI does not feel right. Welcome card takes too much space, update button / status has a lot of critic. I guess I can do better.
    I started a new simpler and lighter design which provide the most useful information on home screen and all main actions to trigger in one tap (no more burger menu).
    It is still under heavy development but I hopefully get a friend onboard, specialized in graphics and design, to help me :highfive:

    2. In order to simplify the development, I clean up the app and remove support for old features.
    I bump target SDK version so I finally get Java 8 language feature (it was released 5y ago…) and move to topjohnwu root library (instead of home made one). It means systemless support is now handled by Magisk and other root solutions will still work.

    3. Think of what prevent most of users to use AdAway? Now it's gone!
    It's not gone forever. It's still here but there will be a fallback to workaround it.
    I won't tell more until the first public beta but I guess you get the point :fingers-crossed:

    In the meanwhile, here is a new version!

    Feedback:

    Is anyone using a hosts list hosted on Gitlab? It keeps showing "Unknown update status".
    GitLab, like GitHub do not set LastModified HTTP header so update status is not supported... yet!

    Changelog:
    • Add Gist and GitLab hosting support for hosts file
    • Add option to set default IPv6 redirection
    • Improve reboot command
    • Improve UI for overlays
    • Update translations

    Thanks:

    Special thanks to @MSF Jarvis and ralayax for theirs contributions and @andy356 for its helpful bug report.

    Download:

    AdAway 4.2.5 on AndroidFileHost (md5: ab81225745afaaa7646024109de299c0)
    148
    Hi all,

    Feedback:

    Hmm, not working for me for this URL, v4.1.0 shows something like not updated in -360 days (some large negative value). Can you please see if you can reproduce?
    https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling-porn/hosts
    It works well here. I failed to reproduce as I change the HTTP client library and how I use it.
    But update date for the source you link definitely works now.

    All the F-Droid apps I know of have manual push updates to the store.

    Isn't automatic build basically for nightlies?
    Not really. You could choose a lot of different mode.
    For example, F-Droid server watches AdAway GitHub repository to find tags which match a specific versioning pattern.

    I exist still... do you know what i have to do to transfer ownership? if i edit project it doesn't let me change the primary author so i assume i have to PM some higher up to make this happen?
    Thank you so much! :highfive:

    This is now done, @PerfectSlayer is the OP of this thread.
    Thank you too!


    Changelog:
    • Add hosts source download cache
    • Add snackbar notification to update host from DNS request listing
    • Update UI from Material Design to Material Theming
    • Update gradle, plugins and dependencies
    • Fix crash parsing not defined host source last modified date
    • Fix native modules build script (required for F-Droid build server)
    • Fix Transifex issues

    Thanks:

    Special thanks to all recent donators! Your help is really appreciated :good:

    Download:

    AdAway 4.2.0 on AndroidFileHost (md5: 023169e7c345ef7297095793024f8478)
    144
    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: