From e5a4d460e3683bb382b17e709a0b541d552c8247 Mon Sep 17 00:00:00 2001 From: Alexandre Oliveira Date: Fri, 28 Jul 2017 18:05:18 -0300 Subject: [PATCH] Jelly: add option to remove identifying headers Based off anthonycr's commit for LightningBrowser: https://github.com/anthonycr/Lightning-Browser/commit/7a0c79d11ee1f0a19ebf61b37b8ebd53eee6eb57 Change-Id: If7c5978bd7ab5cdfd766585f2d2c479c4412e63f --- app/src/main/java/org/lineageos/jelly/utils/PrefsUtils.java | 6 ++++++ app/src/main/java/org/lineageos/jelly/webview/WebViewExt.java | 7 +++++++ app/src/main/res/values/strings.xml | 4 ++++ app/src/main/res/xml/settings.xml | 6 ++++++ 4 files changed, 23 insertions(+) diff --git a/app/src/main/java/org/lineageos/jelly/utils/PrefsUtils.java b/app/src/main/java/org/lineageos/jelly/utils/PrefsUtils.java index 6b913d5..b554f30 100644 --- a/app/src/main/java/org/lineageos/jelly/utils/PrefsUtils.java +++ b/app/src/main/java/org/lineageos/jelly/utils/PrefsUtils.java @@ -32,6 +32,7 @@ private static final String KEY_DO_NOT_TRACK = "key_do_not_track"; private static final String KEY_SAVE_FORM_DATA = "key_save_form_data"; private static final String KEY_SUGGESTION_PROVIDER = "key_suggestion_provider"; + private static final String KEY_REMOVE_IDENTIFYING_HEADERS = "key_remove_identifying_headers"; public enum SuggestionProviderType { BAIDU, @@ -91,6 +92,11 @@ public static boolean getSaveFormData(Context context) { return prefs.getBoolean(KEY_SAVE_FORM_DATA, true); } + public static boolean getRemoveIdentifyingHeaders(Context context) { + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); + return prefs.getBoolean(KEY_REMOVE_IDENTIFYING_HEADERS, false); + } + public static SuggestionProviderType getSuggestionProvider(Context context) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); try { diff --git a/app/src/main/java/org/lineageos/jelly/webview/WebViewExt.java b/app/src/main/java/org/lineageos/jelly/webview/WebViewExt.java index bc88c22..ae96204 100644 --- a/app/src/main/java/org/lineageos/jelly/webview/WebViewExt.java +++ b/app/src/main/java/org/lineageos/jelly/webview/WebViewExt.java @@ -54,6 +54,8 @@ private final Map mRequestHeaders = new ArrayMap<>(); private static final String HEADER_DNT = "DNT"; + private static final String HEADER_REQUESTED_WITH = "X-Requested-With"; + private static final String HEADER_WAP_PROFILE = "X-Wap-Profile"; public WebViewExt(Context context) { super(context); @@ -145,6 +147,11 @@ public boolean onLongClick(View v) { if (PrefsUtils.getDoNotTrack(mActivity)) { mRequestHeaders.put(HEADER_DNT, "1"); } + + if (PrefsUtils.getRemoveIdentifyingHeaders(mActivity)) { + mRequestHeaders.put(HEADER_REQUESTED_WITH, ""); + mRequestHeaders.put(HEADER_WAP_PROFILE, ""); + } } public void init(WebViewExtActivity activity, EditText editText, diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 9784dc7..a325947 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -116,6 +116,10 @@ Save form data Suggestions provider + + Remove identifying headers + + Prevent some personally identifiable information from being sent to websites you visit History diff --git a/app/src/main/res/xml/settings.xml b/app/src/main/res/xml/settings.xml index 8bf0718..9bbf074 100644 --- a/app/src/main/res/xml/settings.xml +++ b/app/src/main/res/xml/settings.xml @@ -73,6 +73,12 @@ android:title="@string/pref_do_not_track_title" /> + +