Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add "Stealth Mode" to AG for Android settings #2094

Closed
ameshkov opened this issue Aug 29, 2018 · 10 comments

Comments

Projects
None yet
4 participants
@ameshkov
Copy link
Member

commented Aug 29, 2018

Stealth Mode features are implemented (almost) in the CoreLibs so it's time to add this module to AdGuard for Android.

Add a new section to the Settings screen (right under the "Ad Blocking"):

Name=Stealth Mode
Description=Advanced tracking protection

Stealth Mode activity layout

  1. ON/OFF switch just like we have in the DNS filtering settings.

  2. Stealth Mode description block (again, just like we have in the DNS settings).

    • Description: Stealth Mode module protects your identity and sensitive personal information from thousands of online trackers.
    • LEARN MORE button leads to a knowledge base article (we need to create one (!)).
  3. Settings sections (checked ones are enabled by default)

General

  • Hide your search queries

    When you proceed to the website from Google, Yahoo or any other search engine, this option hides the search query you used to find it.

  • Send Do-Not-Track header

    Sends a Do-Not-Track (DNT) HTTP header to queried websites that requires web apps to disable tracking of your activity.

Tracking methods

  • Self-destructing third-party cookies

    Put a time period (in minutes) by the end of which all third-party cookies will be destroyed. Set the timer to 0 in order to block them completely.

    Tap on this item opens a dialog window where you can configure the time period (30 by default).

  • Self-destructing first-party cookies

    Put a time period (in minutes) by the end of which all cookies will be destroyed. Set the timer to 0 in order to block them completely.

    Tap on this item opens a dialog window where you can configure the time period (2880 by default).

    We do not recommend enabling this option as it may severely interfere with the work of certain sites.

  • Disable cache for third-party requests

    When the browser addresses a page, the server assigns it an ETag, which the browser then uses to cache the contents. Upon subsequent requests it sends the ETag to the corresponding server, thus letting it learn the visitor’s identity. While the site files are cached, the ETag is sent every time your browser addresses this site. If the site has content embedded from another server (e.g., an image or iframe), that server will also be able to track your activities without your knowing it.

Browser API

  • Block WebRTC

    WebRTC (Real Time Communications) is a technology that allows streaming of data directly between browsers and apps. It can let others know your real IP address even if you use a proxy or VPN.
    Enabling this option can disrupt the work of certain browser applications, such as messengers, chats, cinemas, or games.

  • Block Push API

    Push API enables servers to send messages to web applications regardless of browser status. This means you may see notifications from varous websites even if your browser is hidden to tray or not launched. Enable this option to block browser Push API completely.

  • Block Location API

    Enabling this option will prohibit the browser from sending GPS data that could be used to find your location and modify your search results or otherwise influence your web experience.

  • Remove X-Client-Data header

    Forbids Google Chrome to send its version and modifications information with requests to Google domains (including Double Click and Google Analytics).

Miscellaneous

  • Hide Referer from third-paries

    Referer is one of HTTP headers for browser-to-server request. It contains the URL of request source. If you advance from one page to another, Referer will save the URL of the initial page. The server is often equipped with software that analyzes Referer and extracts various information from it. Enabling this option hides the current website from third-party sites by changing the HTTP header.
    You can also set Referer of your choice by typing it into the Setup Referer field. Leave the field empty to use the default Referer.

    Tap on this item opens a dialog window where you can configure a custom Referer.

  • Hide your User-Agent

    When you visit a website, your browser send the server its information. It looks like a text line that is a part of HTTP request beginning with “User-Agent:”. It usually includes the name and version of the browser, operating system, and language settings. We always replace your operating system with Linux as we consider *nix system users as less interesting for advertisers.

    You can also set Referer of your choice by typing it into the Setup Referer field. Leave the field empty to use the default Referer.

    Tap on this item opens a dialog window where you can configure a custom user-agent.

  • Hide your IP address

    Stealth Mode cannot hide your IP address. However, we can conceal it so that websites you visit will take you for a proxy server. Sometimes, it helps, and websites ignore your real IP.
    You can set a random IP that you would like to be perceived as yours by simply typing it into the corresponding field. Leave the field empty to use the default IP address.

@ameshkov ameshkov added this to the 3.0 milestone Aug 29, 2018

@ameshkov ameshkov changed the title Add "Stealth Mode" to AdGuard settings Add "Stealth Mode" to AG for Android settings Aug 29, 2018

@TPS

This comment has been minimized.

Copy link
Contributor

commented Oct 22, 2018

#249?

@TPS

This comment has been minimized.

Copy link
Contributor

commented Nov 11, 2018

So, how's the best way to test this? Fingerprint-testing sites like https://panopticlick.eff.org/ still fail this portion.…

@zzebrum

This comment has been minimized.

Copy link
Contributor

commented Nov 12, 2018

@TPS a lot of stealth mode options can be checked here for example.

@TPS

This comment has been minimized.

Copy link
Contributor

commented Nov 12, 2018

What browsers did y'all test w/ this? None of my Oreo/8.1 browsers (Ff Focus, LastPass Browser, &c) seem to pass either BrowserLeaks or Panopticlick (which actually uses BrowserLeaks' detections, in part).

@zzebrum

This comment has been minimized.

Copy link
Contributor

commented Nov 13, 2018

@TPS regular ones, like chrome, ff, opera, etc 😀

@TPS

This comment has been minimized.

Copy link
Contributor

commented Nov 14, 2018

That's really not useful to me, so I'd hope that this could be resolved quite generically (i.e., all Webview-based) & specifically for all other browsers. To that end, how do y'all wish for me to report the browsers that don't work?

  • Report here?
  • Report in 1 issue & list all browsers that don't work there?
  • Report each browser in an individual issue?
@zzebrum

This comment has been minimized.

Copy link
Contributor

commented Nov 14, 2018

I would say that we have our own number different testcases and it doesn't matter in what browser we check. Most of the options in Stealth mode are working but still they can be buggy.

@TPS

This comment has been minimized.

Copy link
Contributor

commented Nov 15, 2018

Ok, but how to get those browsers y'all didn't test to work?

@TPS

This comment has been minimized.

Copy link
Contributor

commented Dec 8, 2018

Since last ηightly or 2, it looks like y'all now have HTTPS-filtering working for LastPass & FfFocus (y'all already had it enabled for Edge), so thanks! 🙇

Still, Stealth mode doesn't work any better. What next? 🤔

@ameshkov

This comment has been minimized.

Copy link
Member Author

commented Dec 10, 2018

Still, Stealth mode doesn't work any better. What next? 🤔

What do you mean?

@zzebrum zzebrum closed this Feb 14, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.