Loading CHANGELOG.md +5 −0 Original line number Diff line number Diff line # 71.0.3578.88 * add proxy configuration page (see https://github.com/bromite/bromite/wiki/ProxyConfiguration) * use more recent versions in User-Agent (fixes https://github.com/bromite/bromite/issues/156) # 71.0.3578.85 * fix blurry adaptive icon (fixes https://github.com/bromite/bromite/issues/197) # 71.0.3578.76 Loading README.md +1 −0 Original line number Diff line number Diff line Loading @@ -76,6 +76,7 @@ Yes, since version 69. While the desktop version of Chromium has an option to di * baked-in adblock engine with filters from EasyList, EasyPrivacy and others * remove click-tracking and AMP from search results * DNS-over-HTTPS support via Google, Cloudflare and Quad9 servers * [proxy configuration page](https://github.com/bromite/bromite/wiki/ProxyConfiguration) with PAC and custom proxy lists support * [StartPage](https://startpage.com/), [DuckDuckGo](https://duckduckgo.com/) and [Qwant](https://www.qwant.com/) search engines * chrome flags to disable custom intents and clear session on exit * always-incognito mode Loading filters/adblock_entries.h +699 −118 File changed.File size exceeds preview limit. View original file View changed file patches/BRM052_Bromite-adblock-engine.patch +39 −6 Original line number Diff line number Diff line Loading @@ -18,12 +18,12 @@ New mechanism for adblocking based on Brave's adblocking hook .../browser/appmenu/AppMenuPropertiesDelegate.java | 38 +++ .../CustomTabAppMenuPropertiesDelegate.java | 2 + .../java/strings/android_chrome_strings.grd | 11 + chrome/browser/net/chrome_network_delegate.cc | 83 ++++-- chrome/browser/net/chrome_network_delegate.cc | 83 +++-- .../subresource_filter_content_settings_manager.cc | 1 + net/BUILD.gn | 7 + net/url_request/adblock_intercept.cc | 325 +++++++++++++++++++++ net/url_request/adblock_intercept.h | 24 ++ 12 files changed, 510 insertions(+), 20 deletions(-) net/url_request/adblock_intercept.cc | 341 +++++++++++++++++++++ net/url_request/adblock_intercept.h | 41 +++ 12 files changed, 543 insertions(+), 20 deletions(-) create mode 100644 net/url_request/adblock_intercept.cc create mode 100644 net/url_request/adblock_intercept.h Loading Loading @@ -341,7 +341,23 @@ diff --git a/net/url_request/adblock_intercept.cc b/net/url_request/adblock_inte new file mode 100644 --- /dev/null +++ b/net/url_request/adblock_intercept.cc @@ -0,0 +1,325 @@ @@ -0,0 +1,341 @@ +/* + This file is part of Bromite. + + Bromite is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Bromite is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Bromite. If not, see <https://www.gnu.org/licenses/>. +*/ +#include "url/gurl.h" + +#ifdef ADB_TESTER Loading Loading @@ -671,7 +687,24 @@ diff --git a/net/url_request/adblock_intercept.h b/net/url_request/adblock_inter new file mode 100644 --- /dev/null +++ b/net/url_request/adblock_intercept.h @@ -0,0 +1,24 @@ @@ -0,0 +1,41 @@ +/* + This file is part of Bromite. + + Bromite is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Bromite is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Bromite. If not, see <https://www.gnu.org/licenses/>. +*/ + +#ifndef NET_URL_REQUEST_ADBLOCK_INTERCEPT_H_ +#define NET_URL_REQUEST_ADBLOCK_INTERCEPT_H_ + Loading patches/BRM053_User-Agent-anonymize.patch +24 −28 Original line number Diff line number Diff line Loading @@ -2,16 +2,17 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com> Date: Wed, 21 Mar 2018 14:15:28 +0100 Subject: User Agent: anonymize Use a fixed device name and Chrome product version. Use a fixed device name and Chrome product version with the goal of not disclosing the specific build of Bromite. --- components/version_info/version_info.cc | 17 +++++++- content/common/user_agent.cc | 73 +++++++++++++++++++++------------ 2 files changed, 62 insertions(+), 28 deletions(-) components/version_info/version_info.cc | 13 +++++- content/common/user_agent.cc | 72 ++++++++++++++++++++------------- 2 files changed, 57 insertions(+), 28 deletions(-) diff --git a/components/version_info/version_info.cc b/components/version_info/version_info.cc --- a/components/version_info/version_info.cc +++ b/components/version_info/version_info.cc @@ -7,13 +7,28 @@ @@ -7,13 +7,24 @@ #include "base/logging.h" #include "base/no_destructor.h" #include "base/version.h" Loading @@ -28,16 +29,12 @@ diff --git a/components/version_info/version_info.cc b/components/version_info/v + &minor, + &bugfix); + switch (major) { + case 7: + return "Chrome/63.0.3239.111"; + case 6: + return "Chrome/63.0.3239.83"; + case 5: + case 4: + return "Chrome/62.0.3202.84"; + return "Chrome/69.0.3497.100"; + } + // version 8 and above + return "Chrome/67.0.3396.87"; + + // version 5 and above + return "Chrome/70.0.3538.80"; } std::string GetProductName() { Loading @@ -56,7 +53,7 @@ diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc std::string GetWebKitVersion() { return base::StringPrintf("%d.%d (%s)", WEBKIT_VERSION_MAJOR, @@ -66,7 +61,33 @@ std::string BuildOSCpuInfo(bool include_android_build_number) { @@ -66,7 +61,32 @@ std::string BuildOSCpuInfo(bool include_android_build_number) { } #elif defined(OS_ANDROID) std::string android_version_str = base::SysInfo::OperatingSystemVersion(); Loading @@ -66,24 +63,23 @@ diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc + // Send information about the device and build ID. + // Use a common device/build ID based on Android major version. + switch (os_major_version) { + default: // version 9 and above + android_info_str = "ONEPLUS A6000"; + break; + case 8: + android_info_str = "FIG-LX3"; + break; + case 7: + // Chrome/63.0.3239.111 + android_info_str = "SM-J730GM Build/NRD90M"; + android_info_str = "SM-G610M"; + break; + case 6: + // Chrome/63.0.3239.83 + android_info_str = "SM-G532G Build/MMB29T"; + android_info_str = "SM-J700M"; + break; + case 5: + // Chrome/62.0.3202.84 + android_info_str = "A37fw Build/LMY47V"; + android_info_str = "XT1033"; + break; + case 4: + // Chrome/62.0.3202.84 + android_info_str = "SM-G7102 Build/KOT49H"; + break; + default: // version 8 and above + android_info_str = "SM-G950U Build/R16NW"; + android_info_str = "ZTE Blade C370 Build/KOT49H"; + break; + } + Loading @@ -91,7 +87,7 @@ diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc #elif (defined(OS_POSIX) && !defined(OS_MACOSX)) || defined(OS_FUCHSIA) // Should work on any Posix system. struct utsname unixinfo; @@ -102,7 +123,7 @@ std::string BuildOSCpuInfo(bool include_android_build_number) { @@ -102,7 +122,7 @@ std::string BuildOSCpuInfo(bool include_android_build_number) { os_minor_version, os_bugfix_version #elif defined(OS_ANDROID) Loading @@ -100,7 +96,7 @@ diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc android_version_str.c_str(), android_info_str.c_str() #elif defined(OS_POSIX) || defined(OS_FUCHSIA) @@ -137,18 +158,6 @@ std::string BuildUserAgentFromProduct(const std::string& product) { @@ -137,18 +157,6 @@ std::string BuildUserAgentFromProduct(const std::string& product) { return BuildUserAgentFromOSAndProduct(os_info, product); } Loading @@ -119,7 +115,7 @@ diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc std::string GetAndroidOSInfo(bool include_android_build_number) { std::string android_info_str; @@ -162,18 +171,28 @@ std::string GetAndroidOSInfo(bool include_android_build_number) { @@ -162,18 +170,28 @@ std::string GetAndroidOSInfo(bool include_android_build_number) { } // Append the build ID. Loading Loading
CHANGELOG.md +5 −0 Original line number Diff line number Diff line # 71.0.3578.88 * add proxy configuration page (see https://github.com/bromite/bromite/wiki/ProxyConfiguration) * use more recent versions in User-Agent (fixes https://github.com/bromite/bromite/issues/156) # 71.0.3578.85 * fix blurry adaptive icon (fixes https://github.com/bromite/bromite/issues/197) # 71.0.3578.76 Loading
README.md +1 −0 Original line number Diff line number Diff line Loading @@ -76,6 +76,7 @@ Yes, since version 69. While the desktop version of Chromium has an option to di * baked-in adblock engine with filters from EasyList, EasyPrivacy and others * remove click-tracking and AMP from search results * DNS-over-HTTPS support via Google, Cloudflare and Quad9 servers * [proxy configuration page](https://github.com/bromite/bromite/wiki/ProxyConfiguration) with PAC and custom proxy lists support * [StartPage](https://startpage.com/), [DuckDuckGo](https://duckduckgo.com/) and [Qwant](https://www.qwant.com/) search engines * chrome flags to disable custom intents and clear session on exit * always-incognito mode Loading
filters/adblock_entries.h +699 −118 File changed.File size exceeds preview limit. View original file View changed file
patches/BRM052_Bromite-adblock-engine.patch +39 −6 Original line number Diff line number Diff line Loading @@ -18,12 +18,12 @@ New mechanism for adblocking based on Brave's adblocking hook .../browser/appmenu/AppMenuPropertiesDelegate.java | 38 +++ .../CustomTabAppMenuPropertiesDelegate.java | 2 + .../java/strings/android_chrome_strings.grd | 11 + chrome/browser/net/chrome_network_delegate.cc | 83 ++++-- chrome/browser/net/chrome_network_delegate.cc | 83 +++-- .../subresource_filter_content_settings_manager.cc | 1 + net/BUILD.gn | 7 + net/url_request/adblock_intercept.cc | 325 +++++++++++++++++++++ net/url_request/adblock_intercept.h | 24 ++ 12 files changed, 510 insertions(+), 20 deletions(-) net/url_request/adblock_intercept.cc | 341 +++++++++++++++++++++ net/url_request/adblock_intercept.h | 41 +++ 12 files changed, 543 insertions(+), 20 deletions(-) create mode 100644 net/url_request/adblock_intercept.cc create mode 100644 net/url_request/adblock_intercept.h Loading Loading @@ -341,7 +341,23 @@ diff --git a/net/url_request/adblock_intercept.cc b/net/url_request/adblock_inte new file mode 100644 --- /dev/null +++ b/net/url_request/adblock_intercept.cc @@ -0,0 +1,325 @@ @@ -0,0 +1,341 @@ +/* + This file is part of Bromite. + + Bromite is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Bromite is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Bromite. If not, see <https://www.gnu.org/licenses/>. +*/ +#include "url/gurl.h" + +#ifdef ADB_TESTER Loading Loading @@ -671,7 +687,24 @@ diff --git a/net/url_request/adblock_intercept.h b/net/url_request/adblock_inter new file mode 100644 --- /dev/null +++ b/net/url_request/adblock_intercept.h @@ -0,0 +1,24 @@ @@ -0,0 +1,41 @@ +/* + This file is part of Bromite. + + Bromite is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Bromite is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Bromite. If not, see <https://www.gnu.org/licenses/>. +*/ + +#ifndef NET_URL_REQUEST_ADBLOCK_INTERCEPT_H_ +#define NET_URL_REQUEST_ADBLOCK_INTERCEPT_H_ + Loading
patches/BRM053_User-Agent-anonymize.patch +24 −28 Original line number Diff line number Diff line Loading @@ -2,16 +2,17 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com> Date: Wed, 21 Mar 2018 14:15:28 +0100 Subject: User Agent: anonymize Use a fixed device name and Chrome product version. Use a fixed device name and Chrome product version with the goal of not disclosing the specific build of Bromite. --- components/version_info/version_info.cc | 17 +++++++- content/common/user_agent.cc | 73 +++++++++++++++++++++------------ 2 files changed, 62 insertions(+), 28 deletions(-) components/version_info/version_info.cc | 13 +++++- content/common/user_agent.cc | 72 ++++++++++++++++++++------------- 2 files changed, 57 insertions(+), 28 deletions(-) diff --git a/components/version_info/version_info.cc b/components/version_info/version_info.cc --- a/components/version_info/version_info.cc +++ b/components/version_info/version_info.cc @@ -7,13 +7,28 @@ @@ -7,13 +7,24 @@ #include "base/logging.h" #include "base/no_destructor.h" #include "base/version.h" Loading @@ -28,16 +29,12 @@ diff --git a/components/version_info/version_info.cc b/components/version_info/v + &minor, + &bugfix); + switch (major) { + case 7: + return "Chrome/63.0.3239.111"; + case 6: + return "Chrome/63.0.3239.83"; + case 5: + case 4: + return "Chrome/62.0.3202.84"; + return "Chrome/69.0.3497.100"; + } + // version 8 and above + return "Chrome/67.0.3396.87"; + + // version 5 and above + return "Chrome/70.0.3538.80"; } std::string GetProductName() { Loading @@ -56,7 +53,7 @@ diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc std::string GetWebKitVersion() { return base::StringPrintf("%d.%d (%s)", WEBKIT_VERSION_MAJOR, @@ -66,7 +61,33 @@ std::string BuildOSCpuInfo(bool include_android_build_number) { @@ -66,7 +61,32 @@ std::string BuildOSCpuInfo(bool include_android_build_number) { } #elif defined(OS_ANDROID) std::string android_version_str = base::SysInfo::OperatingSystemVersion(); Loading @@ -66,24 +63,23 @@ diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc + // Send information about the device and build ID. + // Use a common device/build ID based on Android major version. + switch (os_major_version) { + default: // version 9 and above + android_info_str = "ONEPLUS A6000"; + break; + case 8: + android_info_str = "FIG-LX3"; + break; + case 7: + // Chrome/63.0.3239.111 + android_info_str = "SM-J730GM Build/NRD90M"; + android_info_str = "SM-G610M"; + break; + case 6: + // Chrome/63.0.3239.83 + android_info_str = "SM-G532G Build/MMB29T"; + android_info_str = "SM-J700M"; + break; + case 5: + // Chrome/62.0.3202.84 + android_info_str = "A37fw Build/LMY47V"; + android_info_str = "XT1033"; + break; + case 4: + // Chrome/62.0.3202.84 + android_info_str = "SM-G7102 Build/KOT49H"; + break; + default: // version 8 and above + android_info_str = "SM-G950U Build/R16NW"; + android_info_str = "ZTE Blade C370 Build/KOT49H"; + break; + } + Loading @@ -91,7 +87,7 @@ diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc #elif (defined(OS_POSIX) && !defined(OS_MACOSX)) || defined(OS_FUCHSIA) // Should work on any Posix system. struct utsname unixinfo; @@ -102,7 +123,7 @@ std::string BuildOSCpuInfo(bool include_android_build_number) { @@ -102,7 +122,7 @@ std::string BuildOSCpuInfo(bool include_android_build_number) { os_minor_version, os_bugfix_version #elif defined(OS_ANDROID) Loading @@ -100,7 +96,7 @@ diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc android_version_str.c_str(), android_info_str.c_str() #elif defined(OS_POSIX) || defined(OS_FUCHSIA) @@ -137,18 +158,6 @@ std::string BuildUserAgentFromProduct(const std::string& product) { @@ -137,18 +157,6 @@ std::string BuildUserAgentFromProduct(const std::string& product) { return BuildUserAgentFromOSAndProduct(os_info, product); } Loading @@ -119,7 +115,7 @@ diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc std::string GetAndroidOSInfo(bool include_android_build_number) { std::string android_info_str; @@ -162,18 +171,28 @@ std::string GetAndroidOSInfo(bool include_android_build_number) { @@ -162,18 +170,28 @@ std::string GetAndroidOSInfo(bool include_android_build_number) { } // Append the build ID. Loading