NetGuard/ADBLOCKING.md

92 lines
4.6 KiB
Markdown
Raw Normal View History

Ad Blocking with NetGuard
-------------------------
2016-03-20 10:32:07 +00:00
2016-04-10 16:34:54 +00:00
Instructions:
2016-03-21 09:00:20 +00:00
* Download/install the latest NetGuard version [from GitHub](https://github.com/M66B/NetGuard/releases)
* Enable the setting *'Filter traffic'* in the Advanced options (three dot menu > Settings > Advanced options > Filter traffic; default is disabled except always enabled in Android 5.0 and earlier)
* Enable the setting *'Block domain names'* in the Advanced options (three dot menu > Settings > Advanced options > Block domain names; default is enabled)
* Import or download [a hosts file](https://en.wikipedia.org/wiki/Hosts_(file)) using the NetGuard backup settings (three dot menu > Settings > Backup > Download hosts file)
2017-06-11 11:24:31 +00:00
* Disable browser compression (in Chrome: three dot menu > Settings > Data Saver > Off)
* Wait at least 10 minutes to let the Android DNS cache time out
* Test to see if ad blocking works by opening [this page](http://www.netguard.me/test)
* Enjoy ad blocking, but don't forget to support application developers and website authors in other ways
2016-03-20 10:32:07 +00:00
2016-09-26 07:41:14 +00:00
<br />
2016-09-26 07:38:17 +00:00
2017-06-21 20:25:06 +00:00
Troubleshooting:
Some devices/Android versions require:
* the advanced option *Manage system applications* to be enabled and/or
* two (not one) custom DNS server addresses to be set in the advanced options
<br />
2016-04-10 16:34:54 +00:00
Note that:
* applications, like web browsers, may cache data, so you may need to clear caches
* applications, browsers mostly, that have a *"data saver"*-like feature that proxies requests through their servers (eg. Opera w/ Turbo, Opera Max, Puffin, Chrome w/ data saver, UC Browser, Yandex w/ Turbo, Apus Browser, KK Browser, Onavo Extend, Maxthon) will not have ads blocked as NetGuard cannot see those domain requests
* YouTube ads are not domain-based, and thus cannot be blocked with NetGuard
* NetGuard ignores the IP addresses in the hosts file, because it does not route blocked domains to localhost
2016-09-27 04:36:48 +00:00
* NetGuard does not concatenate hosts files, so you will have to use a source which does this for you or do it yourself
* When NetGuard imports the hosts file, it automatically discards any duplicates entries, so duplicate entries are not a problem and have no performance impact after the file is imported
* you can check the number of hosts (domains) imported by pulling the NetGuard notification down using two fingers if your version of Android supports that functionality
2017-01-08 10:14:50 +00:00
* wildcards are not supported due to performance and battery usage reasons
2017-04-10 16:46:52 +00:00
* **ad blocking is provided as-is**, see also [here](https://forum.xda-developers.com/showpost.php?p=71805655&postcount=4668)
* **ad blocking is not available when NetGuard was installed from the Google Play store!** (disable automatic updates of NetGuard in the Play store application)
2016-03-20 13:58:22 +00:00
2016-09-26 07:41:14 +00:00
<br />
2016-09-26 07:38:17 +00:00
2016-04-22 05:50:03 +00:00
The NetGuard version from GitHub:
* is signed with the same signature as the version from the Google Play store, so any purchases will be restored
* will automatically notify you if there are updates available via GitHub (this can be switched off in NetGuard's settings)
2016-04-22 05:50:03 +00:00
2016-09-26 07:41:14 +00:00
<br />
2016-09-26 07:38:17 +00:00
Which hosts (ad servers) will be blocked depends on the hosts file being used.
NetGuard provides the [StevenBlack hosts file](https://github.com/StevenBlack/hosts) download with the following additions:
* reports.crashlytics.com
* settings.crashlytics.com
* e.crashlytics.com
* test.netguard.me
<br />
2016-09-27 04:36:48 +00:00
Automation:
2016-09-26 07:38:17 +00:00
2016-09-27 04:36:48 +00:00
You can automatically download a hosts file by sending this service intent with your favorite automation tool, like Tasker:
2016-09-26 07:38:17 +00:00
2016-09-27 04:36:48 +00:00
`eu.faircode.netguard.DOWNLOAD_HOSTS_FILE`
2016-09-26 07:38:17 +00:00
2016-09-27 04:36:48 +00:00
For example using [adb](https://developer.android.com/studio/command-line/adb.html) from the command line:
2016-03-20 13:58:22 +00:00
2016-09-27 04:36:48 +00:00
`adb shell am startservice -a eu.faircode.netguard.DOWNLOAD_HOSTS_FILE`
2016-08-28 08:35:41 +00:00
2016-09-26 07:41:14 +00:00
<br />
2016-08-28 08:35:41 +00:00
Apart from using a hosts file, you can block most in-app ads by blocking this address for Google Play services:
*googleads.g.doubleclick.net/443*
2016-09-16 12:21:57 +00:00
2016-09-26 07:41:14 +00:00
<br />
2016-09-26 07:38:17 +00:00
2016-10-12 16:12:56 +00:00
An alternate way to block advertisements is by using special DNS servers, like these:
2017-06-03 21:33:53 +00:00
* [AdGuard DNS](https://adguard.com/en/adguard-dns/overview.html) - Free
* [Alternate DNS](https://alternate-dns.com/) - 14 day free trial
* [NoAd](https://noad.zone/) - Not working as of 2017 June 03
2016-10-12 16:12:56 +00:00
Be sure to read the privacy policies of these services as they might log your DNS requests.
You can set DNS server addresses for all connection types in NetGuard's *Advanced options*.
Note that when you set two DNS server addresses, the default (operating system/network provider) DNS servers will not be used anymore.
2016-10-12 16:12:56 +00:00
Feel free to let me know about other servers or request to add them in alphabetic order by doing a pull request.
<br />
2017-06-11 11:24:31 +00:00
**Please do not mention this feature in Google Play store comments, since Google does not allow ad blocking applications in the Google Play store.**