Actually, I just realised a question I overlooked.
Did you have the similar issue of the host file being ignored, which was then corrected by using the system prop file? or is that change for other reasons? Or to put it another way, if you remove the system prop file, does it revert to ignoring the host file while on mobile data?
Btw, I tested also (reported earlier but in another thread) with nsswitch.conf file (attached and zipped)
I added the file to:
/data/adb/modules/hosts/system/etc
Upon rebooting, Magisk mounts the file to /etc/nsswitch.conf
I don't have a Linux to test but accordinglt to what I found by googling, that nsswitch.conf file is used on Linux systems and the line inside: hosts: files dns
should enforce that the /etc/hosts file has a precedence over the DNS server
I tested on my phone on that dmFree WLAN where hosts file was ignored but it did not help - ads were still showing in Chrome as that ad sites were not blocked, ie not redirected to 0.0.0.0 (I tested also with 127.0.0.1 in the hosts file, and using also the corresponding IPv6 redirections) as in the hosts file generated by AdAway
Btw, I tested also (reported earlier but in another thread) with nsswitch.conf file (attached and zipped)
I added the file to:
/data/adb/modules/hosts/system/etc
Upon rebooting, Magisk mounts the file to /etc/nsswitch.conf
I don't have a Linux to test but accordinglt to what I found by googling, that nsswitch.conf file is used on Linux systems and the line inside: hosts: files dns
should enforce that the /etc/hosts file has a precedence over the DNS server
I tested on my phone on that dmFree WLAN where hosts file was ignored but it did not help - ads were still showing in Chrome as that ad sites were not blocked, ie not redirected to 0.0.0.0 (I tested also with 127.0.0.1 in the hosts file, and using also the corresponding IPv6 redirections) as in the hosts file generated by AdAway
Looking into the nsswitch.conf file I also came across another file "resolve.conf"
Code:
# /etc/resolv.conf
# Generated by NetworkManager
search domainname.local
nameserver 1.1.1.1
Neither already existed on my A11 ROM. I added them in and they got mounted, and then dutifully ignored.
Reading the contents of the nsswitch.conf you found, really gave me hope as the location where it can be explicitly forced. The only thing that made me weary was that I was getting different behavior's on WiFI to mobile data, and there was no structure to act differently on the different networks (as I typed that I realised it would not support having different name servers on different WiFi networks, which can be done using the GUI). But I was hoping that explicitly declaring it to check the host and then the DNS would override any funky behavior's. Sadly, not.
ooooo... I just hit something that may get Android to read and thereby use the resolve.conf file.
Code:
1|sunfish:/ # dnsmasq -d
dnsmasq: started, version 2.51 cachesize 150
dnsmasq: compile time options: IPv6 GNU-getopt no-I18N DHCP no-scripts
dnsmasq: failed to access /etc/resolv.conf: No such file or directory
Its getting late now, so it is something to test later for me (ie remount the file, run the dnsmasq app and check again), unless someone else has a chance sooner.
It also logged the following
Code:
...snip...
dnsmasq: bad address at /etc/hosts line 1
dnsmasq: bad address at /etc/hosts line 2
dnsmasq: bad address at /etc/hosts line 3
dnsmasq: bad address at /etc/hosts line 4
dnsmasq: bad address at /etc/hosts line 5
dnsmasq: bad address at /etc/hosts line 6
...snip...
so I checked my first 6 lines, and i realised my host file was not right. Near the top it is suppose to have the host sources listed as comments (I dont use adaway to build it), but the comment character was missing. oooops... Something else for me to check/fix. That was painful to check, as when I copied it to windows 11, with all the malware blocks I have, Win11 security deletes the file pretty darn quickly.
Looking into the nsswitch.conf file I also came across another file "resolve.conf"
Code:
# /etc/resolv.conf
# Generated by NetworkManager
search domainname.local
nameserver 1.1.1.1
Neither already existed on my A11 ROM. I added them in and they got mounted, and then dutifully ignored.
Reading the contents of the nsswitch.conf you found, really gave me hope as the location where it can be explicitly forced. The only thing that made me weary was that I was getting different behavior's on WiFI to mobile data, and there was no structure to act differently on the different networks (as I typed that I realised it would not support having different name servers on different WiFi networks, which can be done using the GUI). But I was hoping that explicitly declaring it to check the host and then the DNS would override any funky behavior's. Sadly, not.
Good point about resolv.conf but please make sure how you name the file (not resolve.conf).
Also, domainname.local is placeholder for your domain, and you can IMO better omit (comment it out), hence I tried with this resolv.conf:
Code:
## Systemless Hosts must be enabled in Magisk
## Put this file as /data/adb/modules/hosts/system/etc/resolv.conf
## Reboot and Magisk will mount to /etc/resolv.conf
# domain my.domain.local
# search my.domain.local
# Use Quad9 DNS servers
nameserver 9.9.9.9
nameserver 149.112.112.112
# Enable DNS debugging
options RES_DEBUG
nsswitch.conf:
Code:
## Systemless Hosts must be enabled in Magisk
## Put this file as /data/adb/modules/hosts/system/etc/nsswitch.conf
## Reboot and Magisk will mount to /etc/nsswitch.conf
# Use local /etc/hosts file first, then DNS service
hosts: files dns
and system.prop:
Code:
## Systemless Hosts must be enabled in Magisk
## Put this file as /data/adb/modules/hosts/system.prop
## Reboot and Magisk will mount the properties
# Quad9 DNS servers
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
rebooted, checked and both conf files were mounted together with the properties changed by system.prop but still all that together did not help -
again, on the WLAN network where DHCP pushes the DNS server 8.8.8.8 that server was still used, causing my Chrome to ignore /etc/hosts file and to pop-up ads
Btw, since my hosts file is generated by AdAway, it is syntactically correct, all metadata (date, time, hosts sources used, etc) at the top are properly commented out:
Code:
## Systemless Hosts must be enabled in Magisk
## This file will be generated by AdAway in root mode as /data/adb/modules/hosts/system/etc/hosts
## Reboot and Magisk will mount to /etc/hosts
# This hosts file has been generated by AdAway on: 2023-04-19 08:27:35
# Please do not modify it directly, it will be overwritten when AdAway is applied again.
# This file is generated from the following sources:
# - myAllowedList local:content://com.android.externalstorage.documents/document/primary%3AXiaomi%20Mi%2011%20Lite%205g%20NE%20(Lisa)%2FBackup%2FAdAway%2FmyAllowedList.txt
# - myBlockedList local:content://com.android.externalstorage.documents/document/primary%3AXiaomi%20Mi%2011%20Lite%205g%20NE%20(Lisa)%2FBackup%2FAdAway%2FmyBlockedList.txt
# - AdAway official hosts:https://adaway.org/hosts.txt
# - Pete Lowe blocklist hosts:https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=0&mimetype=plaintext
# - FadeMind hosts:https://raw.githubusercontent.com/FadeMind/hosts.extras/master/add.2o7Net/hosts
# - PolishFiltersTeam KADhosts:https://raw.githubusercontent.com/PolishFiltersTeam/KADhosts/master/KADhosts.txt
# - StevenBlack Alternate hosts:https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling-porn/hosts
# - StevenBlack Unified hosts:https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
# - GoodbyeAds Xiaomi extension:https://raw.githubusercontent.com/jerryn70/GoodbyeAds/master/Extension/GoodbyeAds-Xiaomi-Extension.txt
# - AdGuard DNS:https://raw.githubusercontent.com/r-a-y/mobile-hosts/master/AdguardDNS.txt
# - 4PDA Hosts:https://schakal.ru/hosts/hosts.txt
# - Someonewhocares hosts:https://someonewhocares.org/hosts/hosts
# - Winhelp2002 hosts:https://winhelp2002.mvps.org/hosts.txt
# - Hostsfile.org hosts:https://www.hostsfile.org/Downloads/hosts.txt
127.0.0.1 localhost
::1 localhost
0.0.0.0 0-0-stagemn.net.daraz.com
:: 0-0-stagemn.net.daraz.com
0.0.0.0 0-000.store
:: 0-000.store
# Etc, etc (additional 319 K blocked sites)
And dnsmasq -d now correctly processes the resolv.conf and hosts files:
Code:
dnsmasq: started, version 2.51 cachesize 150
dnsmasq: compile time options: IPv6 GNU-getopt no-I18N DHCP no-scripts
dnsmasq: reading /etc/resolv.conf
dnsmasq: using nameserver 9.9.9.9
dnsmasq: using nameserver 149.112.112.112
dnsmasq: read /etc/hosts - 637204 addresses
Originally, both my Xiaomi phones with A11 and A12 come without nsswitch.conf and resolv.conf files (and now when provided and mounted, the files are ignored)
EDIT:
Later, by properly retesting with restarting Chrome I found that for me the Cloudeflare DNS servers 1.1.1.1 and 1 0.0.1 act like Google DNS servers 8.8.8.8 and 8.8.4.4 - all of them cause my Chrome to ignore the local hosts file (hence, there is no blocking/redirection and Chrome pops-out ads)
Instead, I have to choose from the following DNS servers (for any of them the local hosts file with blocking/redirection keeps the precedence):
Good point about resolv.conf but please make sure how you name the file (not resolve.conf).
Also, domainname.local is placeholder for your domain, and you can IMO better omit (comment it out), hence I tried with this resolv.conf:
## Systemless Hosts must be enabled in Magisk
## Put this file as /data/adb/modules/hosts/system.prop
## Reboot and Magisk will mount the properties
# Use Cloudflare DNS servers
net.rmnet0.dns1=1.1.1.1
net.rmnet0.dns2=1.0.0.1
net.rmnet1.dns1=1.1.1.1
...snip...
rebooted, checked and both conf files were mounted together with the properties changed by system.prop but still all that together did not help -
again, on the WLAN network where DHCP pushes the DNS server 8.8.8.8 that server was still used, causing my Chrome to ignore /etc/hosts file and to pop-up ads
Btw, since my hosts file is generated by AdAway, it is syntactically correct, all metadata (date, time, hosts sources used, etc) at the top are properly commented out:
...snip...[/Code]
PS: Originally, both my Xiaomi phones with A11 and A12 come without nsswitch.conf and resolv.conf files (and now when provided and mounted, the files are ignored)
As for my host file uncommented section, I build a large host file using a script I created, and must of accidently deleted the comment character on my last fix. Should be a 1 char fix in the script.
If I am understanding you correctly, the long and short of what you are saying is that it didn't make a difference?
I did see on the web pages I came across the above, that the dnsmsq logs the DNS requests, which I also hope to check to see if it is running and maybe understand why its skipping the host file.
The other thing I wish to check, is when I had a RW system partition, I put the DNS servers in the build.prop and not the system.prop. Not certain about the interplay between these two files.
Yeah, that was simply a typo as I manually keyed it into the thread post. My Bad, my typo, I used the file names I downloaded from your posts.
As for my host file uncommented section, I build a large host file using a script I created, and must of accidently deleted the comment character on my last fix. Should be a 1 char fix in the script.
If I am understanding you correctly, the long and short of what you are saying is that it didn't make a difference?
I did see on the web pages I came across the above, that the dnsmsq logs the DNS requests, which I also hope to check to see if it is running and maybe understand why its skipping the host file.
The other thing I wish to check, is when I had a RW system partition, I put the DNS servers in the build.prop and not the system.prop. Not certain about the interplay between these two files.
Please read about system.prop file on TJW Magisk GitHub site, Magisk Doc, Dev guide, Modules
system.prop is just an easier way to do: resetprop -n ...
for the listed props
Go to /data/adb/modules and you will find system.prop in many modules folders - open the system.prop files and inspect which props they change.
Magisk collects and mounts all of them together
Also, open Terminal emulator (I had screenshot in my previous posts), run su
getprop | grep .dns1
getprop | grep .dns2
to see if the props from system.prop were applied or not
Run once without system.prop and next time with system.prop (always reboot, Magisk mounts only on reboot)
Hello,
lately adaway is blocking Google podcast images , I have tried with DNS log, but I have allowed anything and still images are not displayed. Can you help me to pinpoint what I need to allow ?
@DiamondJohn please be aware that I had to edit my previous post #17364
In short, Cloudflare DNS servers 1.1.1.1 and 1.0.0.1 are not good for my Chrome just like the Google DNS servers 8.8.8.8 or 8.8.4.4 (for each of them, my local hosts file generated by AdAway is ignored, hence the advertising sites are no more blocked and Chrome pops-out the ads elsewhere)
Instead, I have to use any of the following (for each of them the local hosts file has a correct precedence, making it able to properly block the ads)
@DiamondJohn please be aware that I had to edit my previous post #17364
In short, Cloudflare DNS servers 1.1.1.1 and 1.0.0.1 are not good for my Chrome just like the Google DNS servers 8.8.8.8 or 8.8.4.4 (for each of them, my local hosts file generated by AdAway is ignored, hence the advertising sites are no more blocked and Chrome pops-out the ads elsewhere)
Instead, I have to use any of the following (for each of them the local hosts file has a correct precedence, making it able to properly block the ads)
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.
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.
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.
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):
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
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.
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 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.
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 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 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.
I found these commands to add/remove proxy using ADB: #To Add Proxy adb shell settings put global http_proxy 192.168.1.252:8080 #To Remove Proxy adb shell settings put global http_proxy :0 Is pos...
stackoverflow.com
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.
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.
I found these commands to add/remove proxy using ADB: #To Add Proxy adb shell settings put global http_proxy 192.168.1.252:8080 #To Remove Proxy adb shell settings put global http_proxy :0 Is pos...
stackoverflow.com
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.
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...
Not sure what app you are using. It might be related to said app than Google/Facebook.
I am not aware of blocked domains for Google.
As for Facebook.
AdAway (wiki) - [github] - Problematic Apps (Facebook) - Link
---
To find out what domains are being called when running the app, use the DNS dump option in AdAway.
AdAway (wiki) - [github] - How to Log DNS Requests - Link
You can then add them to you allow (white) list and restart.
Then see if you can log in, if you can go back and remove them one at a time from the allow list until you can not log in again.
You should be left with just one or a few domains that need to be allowed.
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:
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.
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
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.
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:
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.
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?
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