Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 371c6dc6 authored by Romain Hunault's avatar Romain Hunault 💻
Browse files

Merge branch 'dev' into 'master'

[RELEASE] Sprint Freetown

See merge request e/apps/browser!17
parents 24cf89fa 7cd26839
Loading
Loading
Loading
Loading
Loading
+29 −1
Original line number Diff line number Diff line
# 79.0.3945.123
* updated User-agent version
* increase minimum DoH timeout to 400ms (fixes https://github.com/bromite/bromite/issues/437)

# 79.0.3945.111
* automatically disable video decoding acceleration on Android 10+ and arm64
* restore enable-horizontal-tab-switcher flag
* remove non-working contextual search settings
* disable QUIC by default
* remove logging for DoH timeouts

# 79.0.3945.107
* always show cookies, javascript and ads site settings (fixes https://github.com/bromite/bromite/issues/133)
* remove global ads and javascript menu options

# 79.0.3945.100
* log timeout values for DoH
* enable DFM (fixes https://github.com/bromite/bromite/issues/441)
* updated User-agent version

# 79.0.3945.94
* removed patches which do not apply anymore (Widevine version punting, always show homepage settings, network errors UMA recording)
* removed split APKs support (Play integration)
* disabled password reuse functionality (Play integration)
* re-introduced minimal headers for DoH
* removed Startpage
* disable feed support
* updated User-agent version

# 78.0.3904.130
* support user-specified subresources filter URL (fixes https://github.com/bromite/bromite/issues/2)
* revert removal of flag for disabling pull-to-refresh effect
* fix crash when entering no DoH URL (fixes https://github.com/bromite/bromite/issues/430)
* added Peter Lowe's Ad and tracking server list (fixes https://github.com/bromite/bromite/issues/423)
* removed Startpage
* enabled dav1d_decoder

# 78.0.3904.119
+38 −12
Original line number Diff line number Diff line
@@ -41,6 +41,8 @@ No.
## Is Bromite de-googled?

Yes, although this has not been verified (and hardly can be) under all situations; if you were to find connections to cloud-based services please report them via the issue tracker.
Bromite uses [ungoogled-chromium's python script](https://github.com/Eloston/ungoogled-chromium/blob/master/utils/domain_substitution.py) to disable URLs in the codebase since version `78.0.3904.93`.

Projects which follow a strict approach on this are [Iridium](https://iridiumbrowser.de/) and [Inox patchset](https://github.com/gcarq/inox-patchset).

## What is the SystemWebView?
@@ -48,6 +50,8 @@ It is the core component of Android for all web page visualizations. For example

See also [the wiki page](https://github.com/bromite/bromite/wiki/Installing-SystemWebView) for community-contributed installation instructions.

Ad-blocking was present and always enabled in the SystemWebView from version `72.0.3626.120` till version `77.0.3865.104`, when it stopped working due to [upstream NetworkService changes](https://docs.google.com/document/d/1TZEuPvr2KAbP4_TZpuuwtEEArQsyAkc2HDu68l66YwU/edit?ts=598244df#heading=h.ougoi5i6508y).

## How to enable DNS-over-HTTPS?

See [this wiki page](https://github.com/bromite/bromite/wiki/Enabling-DNS-over-HTTPS).
@@ -69,17 +73,30 @@ You can use F-Droid client to install and receive updates via [the official Brom
## Does Bromite support WebRTC?
Yes, since version 69. While the desktop version of Chromium has an option to disable it (video/audio site settings), the Android version cannot.

## Using Bromite will favour the monopoly of the Chromium/Blink engine, why do you develop and maintain Bromite?
In short, to show what a Chromium-based engine could do **for the user** if the user experience and needs were the main focus of modern browser design.

For a browser using an alternative engine see [Fennec F-Droid](https://f-droid.org/en/packages/org.mozilla.fennec_fdroid/).

# Features

* native adblock engine
* customizable adblock filters via user-provided URL
* remove click-tracking and AMP from search results
* DNS-over-HTTPS support via Google, Cloudflare, Quad9 and AdGuard 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
* DNS-over-HTTPS support with any valid IETF DoH endpoint
* always-incognito mode
* all field triels permanently disabled
* [QUIC](https://en.wikipedia.org/wiki/QUIC) disabled by default
* always-visible cookies, javascript and ads site settings
* removed Play integration binary blobs
* uses CFI on all architectures except x86
* disable media router and remoting by default
* disable dynamic module loading
* enable site-per-process isolation for all devices with memory > 1GB
* completely removed safe browsing and other privacy-unfriendly features
* anti-fingerprinting mitigations for canvas, audio, client rects, webGL and sensor APIs
* [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 available by default
* chrome flags to disable custom intents and clear session on exit
* flags to toggle anti-fingerprinting mitigations for canvas, audio, client rects, webGL and sensor APIs
* use fixed User-Agent to conceal real model and browser version
* privacy enhancement patches from [Iridium](https://iridiumbrowser.de/), [Inox patchset](https://github.com/gcarq/inox-patchset), [Brave](https://brave.com/) and [ungoogled-chromium](https://github.com/Eloston/ungoogled-chromium) projects
* security enhancement patches from [GrapheneOS](https://github.com/GrapheneOS) project
@@ -89,13 +106,25 @@ Yes, since version 69. While the desktop version of Chromium has an option to di
* allow playing videos in background tabs and disable pause on switching tabs
* all codecs included (proprietary, open H.264 etc.)
* [AV1 codec support](https://github.com/bromite/bromite/wiki/AV1-support)
* [dav1d](https://code.videolan.org/videolan/dav1d) decoder enabled by default
* built with official speed optimizations
* increased number of autocomplete matches
* allow changing default download storage location
* do not ignore save prompt for users without SD cards
* disable articles and increase number of icons on new tab page

You can inspect all functionality/privacy changes by reading the [patches](https://github.com/bromite/bromite/tree/master/build/patches) and/or the [CHANGELOG](./CHANGELOG.md).

### Flags

Flags which have been retired from upstream Chromium but are still available in Bromite.

You can inspect all functionality/privacy changes by reading the patches: https://github.com/bromite/bromite/tree/master/build/patches
* `#enable-horizontal-tab-switcher`
* `#pull-to-refresh`

# Privacy limitations

Bromite's privacy features, including anti-fingerprinting mitigations (which can be easily circumvented), **are not to be considered useful for journalists and people living in countries with freedom limitations**, please look at [Tor Browser](https://2019.www.torproject.org/projects/torbrowser.html.en) in such cases.
Bromite's privacy features, including anti-fingerprinting mitigations (which are not comprehensive), **are not to be considered useful for journalists and people living in countries with freedom limitations**, please look at [Tor Browser](https://www.torproject.org/download/) in such cases.

# Releases

@@ -118,8 +147,6 @@ arm64_ChromePublic.apk: OK
arm64_ChromeModernPublic.apk: OK
```

If you prefer an UI-based tool, you might want to look into [GtkHash](https://github.com/tristanheaven/gtkhash).

You can verify authenticity, e.g. that the author ([csagan5](https://github.com/csagan5)) released the file, by using gpg2:
```
$ gpg2 --quiet --verify brm_68.0.3440.54.sha256.txt.asc
@@ -130,8 +157,6 @@ gpg: Good signature from "csagan5 <32685696+csagan5@users.noreply.github.com>"

You can download csagan5's public GnuPG key from here: [csagan5.asc](./csagan5.asc).

**NOTE:** releases before v68 did not have published signed hashes files.

# How to build

The [Bromite main repository](https://github.com/bromite/bromite) contains tags for each corresponding Chromium release (see https://chromium.googlesource.com/chromium/src.git).
@@ -163,6 +188,7 @@ Bromite uses an unindexed filter file, which is periodically published at https:
* [EasyPrivacy](https://easylist.to/#easyprivacy)
* [uBlock Origin](https://github.com/uBlockOrigin)
* [Peter Lowe's Ad and tracking server list](https://pgl.yoyo.org/adservers/)

# License

The patches published as part of the Bromite project are released under [GNU GPL v3](./LICENSE).
+6 −5
Original line number Diff line number Diff line
@@ -2,12 +2,16 @@ android_channel="stable"
blink_symbol_level=1
dcheck_always_on=false
debuggable_apks=false
dfmify_dev_ui=false
disable_android_lint=true
enable_ac3_eac3_audio_demuxing=true enable_hevc_demuxing=true enable_iterator_debugging=false
disable_autofill_assistant_dfm=true
disable_tab_ui_dfm=true
enable_av1_decoder=true
enable_dav1d_decoder=true
enable_feed_in_chrome=false
enable_gvr_services=false
enable_hangout_services_extension=false
enable_iterator_debugging=false
enable_mdns=false
enable_mse_mpeg2ts_stream_parser=true ffmpeg_branding="Chrome" proprietary_codecs=true
enable_nacl=false
@@ -16,18 +20,15 @@ enable_remoting=false
enable_reporting=false
enable_resource_whitelist_generation=false
enable_vr=false
exclude_unwind_tables = true
fieldtrial_testing_like_official_build=true
icu_use_data_file=true
is_cfi=true
is_component_build=false
is_debug=false
is_official_build=true
remove_webcore_debug_symbols=true
rtc_build_examples=false
safe_browsing_mode=0
strip_absolute_paths_from_debug_symbols=true
strip_debug_info=true
symbol_level=0
symbol_level=1
target_os="android"
use_debug_fission=true
+22 −21
Original line number Diff line number Diff line
Disable-third-party-cookies-by-default.patch
Revert-Remove-pre-unified-consent-code-in-sync-and-privacy-directory.patch
Revert-Remove-UnifiedConsent-from-ChromeFeatureList.patch
Restore-classic-new-tab-page.patch
Always-use-new-tab-page-for-default-home-page.patch
Always-allow-partner-customisation.patch
Always-show-home-page-settings.patch
battery_status_service-disable-more-privacy-nightmares.patch
Battery-API-return-nothing.patch
google-cloud-messaging-disable-experiment-status-check.patch
@@ -14,7 +12,6 @@ Remove-EV-certificates.patch
promo-disable-Google-promotion-fetching.patch
Disable-omission-of-URL-elements-in-Omnibox.patch
Modify-default-preferences.patch
Disable-contextual-search-by-default.patch
Do-not-store-passwords-by-default.patch
Disable-NTP-remote-suggestions-by-default.patch
Disable-references-to-fonts.googleapis.com.patch
@@ -45,7 +42,6 @@ Remove-background-sync-and-translate-menu-options.patch
Hide-passwords-manager-link.patch
Disable-Omaha-update-checks.patch
Disable-update-scheduler.patch
Add-StartPage-search-engine.patch
Add-English-only-search-engine.patch
Add-DuckDuckGo-Lite-search-engine.patch
Add-Qwant-search-engine.patch
@@ -61,13 +57,10 @@ Add-flag-to-control-video-playback-resume-feature.patch
Open-YouTube-links-in-Bromite.patch
Add-exit-menu-item.patch
Remove-help-menu-item.patch
Add-menu-option-to-toggle-global-Javascript-preference.patch
Add-menu-option-to-toggle-ad-blocker.patch
User-Agent-anonymize.patch
AudioBuffer-AnalyserNode-fingerprinting-mitigations-via-IDL.patch
Multiple-fingerprinting-mitigations-for-canvas-text-and-client-rectangles.patch
Add-flags-to-disable-device-motion-and-orientation-APIs.patch
Punt-the-Widevine-version-string.patch
Disable-metrics-on-all-I-O-threads.patch
Always-respect-async-dns-flag-regardless-of-SDK-version.patch
Add-flag-to-configure-maximum-connections-per-host.patch
@@ -102,7 +95,6 @@ Remove-dependency-on-com.google.android.gms.flags-com.google.android.gms.locatio
Remove-dependency-on-com.google.android.gms.fido-com.google.android.gms.iid-com.google.android.gms.instantapps-com.google.android.gms.location.patch
Remove-dependency-on-com.google.android.gms.cast.patch
Remove-dependency-on-com.google.android.gms.common-auth-signin-dynamic-com.google.android.gms.tasks.patch
Remove-play-dependency-for-module-installer.patch
Remove-SMS-integration.patch
Allow-website-sign-in-without-account-sign-in.patch
Offer-builtin-autocomplete-for-chrome-flags.patch
@@ -113,14 +105,6 @@ Do-not-ignore-download-location-prompt-setting.patch
Disable-previews-by-default.patch
Use-4-tile-rows-never-show-logo.patch
Disable-metrics-collection-for-NTP-tiles.patch
e-set-package-name.patch
e-set-icon.patch
e-set-app-name.patch
e-set-popular-sites.patch
e-enable-donottrack.patch
e-enable-search-suggestion.patch
e-share-search-engine.patch
e_async_dns_disable.patch
Enable-site-per-process-isolation-for-devices-with-enough-memory.patch
Use-64-bit-WebView-processes.patch
Add-option-to-use-home-page-as-NTP.patch
@@ -135,12 +119,11 @@ disable-payment-support-by-default.patch
disable-background-sync-by-default.patch
disable-sensors-access-site-setting-by-default.patch
Disable-media-router-and-remoting-by-default.patch
Do-not-record-UMA-for-network-errors.patch
Disable-unified-consent-on-Android.patch
Revert-Cleanup-Search-Ready-Omnibox-flag-since-it-has-launched.patch
Disable-search-ready-omnibox-by-default.patch
disable-AdsBlockedInfoBar.patch
Bromite-AdBlockUpdaterService.patch
Add-option-to-configure-the-ad-blocker-filters-URL.patch
Revert-Merge-to-M78-Enable-AImageReader-by-default.patch
Replace-DoH-probe-domain-with-RIPE-domain.patch
Increase-number-of-autocomplete-matches-from-5-to-10.patch
@@ -148,6 +131,26 @@ Disable-HEAD-requests-for-single-word-Omnibar-searches.patch
Block-all-connection-requests-with-qjz9zk-in-the-domain-name-or-with-a-trk-scheme.patch
Disable-some-signed-exchange-features.patch
Add-flag-to-disable-WebGL.patch
Add-user-setting-for-DNS-over-HTTPS-DoH-custom-URL.patch
Reduce-HTTP-headers-in-DoH-requests-to-bare-minimum.patch
Revert-flags-remove-disable-pull-to-refresh-effect.patch
Use-dummy-DFM-installer.patch
Disable-password-reuse-detection-on-android.patch
Allow-building-without-feed-support.patch
Disable-addresses-autofill-by-default.patch
Always-show-site-settings-for-cookies-javascript-and-ads.patch
Automated-domain-substitution.patch
Do-not-enable-QUIC-by-default.patch
Restore-enable-horizontal-tab-switcher-flag.patch
Use-a-minimum-DoH-timeout-of-400ms.patch
e-set-package-name.patch
e-set-icon.patch
e-set-app-name.patch
e-set-popular-sites.patch
e-enable-donottrack.patch
e-enable-search-suggestion.patch
e-share-search-engine.patch
e_async_dns_disable.patch
e-set-search-engines.patch
e-set-informations.patch
e-disable-autofill.patch
@@ -155,6 +158,4 @@ e-rebrand-translations.patch
e-fix-settings-crash-issue.patch
e-enable-custom-tabs-by-default.patch
Fix-About-Chrome-regression.patch
Add-user-setting-for-DNS-over-HTTPS-DoH-custom-URL.patch
Revert-flags-remove-disable-pull-to-refresh-effect.patch
Add-option-to-configure-the-ad-blocker-filters-URL.patch
0001-Launcher-icon-updated.patch
+2 −3
Original line number Diff line number Diff line
Revert-Remove-pre-unified-consent-code-in-sync-and-privacy-directory.patch
Revert-Remove-UnifiedConsent-from-ChromeFeatureList.patch
AV1-codec-support.patch
Switch-to-fstack-protector-strong.patch
Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch
Disable-safe-browsing.patch
Disable-sync-services-menu-entry.patch
Disable-password-reuse-detection-on-android.patch
Allow-building-without-feed-support.patch
Loading