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

Commit 9138bcb2 authored by Sooraj S's avatar Sooraj S 👽
Browse files

Merge branch 'master' of https://github.com/bromite/bromite

parents 2619e206 a5002555
Loading
Loading
Loading
Loading
+20 −0
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)
+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).
+3 −4
Original line number Diff line number Diff line
@@ -2,10 +2,10 @@ android_channel="stable"
blink_symbol_level=1
dcheck_always_on=false
debuggable_apks=false
dfmify_dev_ui=true
dfmify_dev_ui=false
disable_android_lint=true
disable_autofill_assistant_dfm=false
disable_tab_ui_dfm=false
disable_autofill_assistant_dfm=true
disable_tab_ui_dfm=true
enable_av1_decoder=true
enable_dav1d_decoder=true
enable_feed_in_chrome=false
@@ -29,7 +29,6 @@ is_official_build=true
rtc_build_examples=false
safe_browsing_mode=0
strip_absolute_paths_from_debug_symbols=true
strip_debug_info=true
symbol_level=1
target_os="android"
use_debug_fission=true
+5 −5
Original line number Diff line number Diff line
@@ -12,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
@@ -58,8 +57,6 @@ 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
@@ -130,7 +127,6 @@ 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
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
@@ -155,6 +151,10 @@ 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
Unified-consent-miscellanous-backport-fixes.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
+1 −2
Original line number Diff line number Diff line
Revert-Remove-pre-unified-consent-code-in-sync-and-privacy-directory.patch
Disable-unified-consent-on-Android.patch
Unified-consent-miscellanous-backport-fixes.patch
AV1-codec-support.patch
Switch-to-fstack-protector-strong.patch
Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch
Disable-password-reuse-detection-on-android.patch
Allow-building-without-feed-support.patch
Loading