- Notifications
You must be signed in to change notification settings - Fork414
Bromite is a Chromium fork with ad blocking and privacy enhancements; take back your browser!
License
bromite/bromite
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Bromite is aChromium fork with support for ad blocking and enhanced privacy.
Bromite is only available for Android Marshmallow (v6.0, API level 23) and above.
For the Frequently Asked Questions seeF.A.Q..
For documentation see thewiki.
Bromite aims at providing a no-clutter browsing experience without privacy-invasive features and with the addition of a fast ad-blocking engine.Minimal UI changes are applied to help curbing the idea of "browser as an advertisement platform".
Please donate to support development of Bromite and the costs for the build system.
Patreon:https://www.patreon.com/csagan5
BTC donations address:bc1qlx7h0lj9z88g2xfeuwsrtfs77sxuhrxf2t28sw
ETH donations address:0x5d392F8FBf3465afe05B1Adc575e248D33B891F6
- customizable adblock filters via user-provided URL (seehttps://www.bromite.org/custom-filters)
- automatically updated adblock filters
- remove click-tracking and AMP from search results
- DNS-over-HTTPS support with any valid IETF DoH endpoint
- always-incognito mode
- disable all field trials permanently
- disable smart search by default, allow web search from incognito mode
- always-visible cookies, javascript and ads site settings from address bar popup
- remove Play integration binary blobs
- useCFI on all architectures except x86
- enable trivial auto var init
- disable media router and remoting by default
- disable dynamic module loading
- show warnings for TLSv1.0/TLSv1.1 pages
- enable site-per-process isolation for all devices with memory > 1GB
- completely remove safe browsing and other privacy-unfriendly features
- proxy configuration page with PAC and custom proxy lists support
- settings to disable custom intents and clear session on exit
- flags to toggle anti-fingerprinting mitigations for canvas, audio, client rects, webGL and sensor APIs (see full list below for all the new flags)
- use frozen User-Agent to conceal real model and browser version
- privacy enhancement patches fromIridium,Inox patchset,Brave andungoogled-chromium projects
- security enhancement patches fromGrapheneOS project
- disable scroll-to-text-fragment
- reduced referer granularity
- block gateway attacks via websockets (partial fix, seethis upstream issue)
- use 64-bit ABI for webview processes
- make all favicon requests on-demand (supercookie mitigation)
- enable all network isolation features (
PartitionConnectionsByNetworkIsolationKey
,PartitionHttpServerPropertiesByNetworkIsolationKey
,SplitHostCacheByNetworkIsolationKey
,AppendFrameOriginToNetworkIsolationKey
,SplitCacheByNetworkIsolationKey
,UseRegistrableDomainInNetworkIsolationKey
,PartitionSSLSessionsByNetworkIsolationKey
,PartitionExpectCTStateByNetworkIsolationKey
,PartitionDomainReliabilityByNetworkIsolationKey
) - ignore enterprise policies that disallow secure DNS
- ask permission to play protected media
- disable the DIAL repeating discovery
- disable RTCGetCurrentBrowsingContextMedia by default
- disable FLoC and privacy sandbox by default
- disable feeds
- disable reporting of certificate errors
- use pre-defined phone model for client hints and Javascript
- allow forcing external links to open in incognito
- disable AGSA by default
- flag to enable Certificate Transparency
- allow adding search engines from incognito mode
- disable predictors
- disable supervised users
- disable safety check
- disable capability to block
view-source:
URLs - disable
SegmentationPlatformFeature
,OptimizationHints
, client hint headers - disable
AsyncDNS
by default - customize history expiration threshold
- disable idle detection
- HTTPS-only mode enabled by default
- disable TLS resumption by default
- partition DoH requests by top-frame NIK
- strict site isolation and strict origin isolation
- browser automatic updates, enabled by default
- native Android autofill support
- import/export bookmarks
- bookmark all tabs from tabs regroup menu
- allow playing videos in background tabs and disable pause on switching tabs
- all codecs included (proprietary, open H.264 etc.)
- AV1 codec support
- dav1d decoder enabled by default
- built with official speed optimizations
- increase number of autocomplete matches from 5 to 10
- 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
- adding an URL as bookmark will clear its blocked status for the NTP tiles
- history support in incognito mode
- view source of pages
- sticky desktop mode setting
- mobile/desktop user agent customization
- accessibility preference to force tablet UI
- use Alt+D to focus address bar
- allow sharing to Bromite
- UI for crash information collection
- allow OpenSearch search engine detection in incognito
- allow OpenSearch search engine detection with paths
- keyboard dictionary hints in address bar
- always allow
view-source:
URLs - allow moving navigation bar to bottom
- add option to use home page as NTP
You can inspect all functionality/privacy changes by reading thepatches and/or theCHANGELOG.
Flags which have been retired from upstream Chromium but are still available in Bromite.
#pull-to-refresh
#enable-search-ready-omnibox
#darken-websites-checkbox-in-themes-setting
#simplified-ntp
, enabled by default#enable-text-fragment-anchor
, disabled by default#num-raster-threads
#enable-image-reader
, enabled by default#enable-tab-groups
and#enable-tab-groups-ui-improvements
#offline-indicator-v2
New flags:
#fingerprinting-canvas-image-data-noise
,#fingerprinting-client-rects-noise
and#fingerprinting-canvas-measuretext-noise
, enabled by default#incognito-screenshot
, disabled by default#max-connections-per-host
#resume-background-video
#ipv6-probing
#enable-device-motion
and#enable-device-orientation
#show-legacy-tls-warnings
#save-data-header
, disabled by default#export-bookmarks-use-saf
, disabled by default#allow-user-certificates
, disabled by default#cleartext-permitted
, enabled by default, can be used to disable all cleartext-HTTP traffic#omnibox-autocomplete-filtering
, can be used to restrict omnibox autocomplete results#disable-external-intent-requests
, can be used to disable opening any external app for any URL#enable-userscripts-log
, seehttps://github.com/bromite/bromite/wiki/UserScripts#flags#certificate-transparency-enabled
, enabled by default; seehttps://chromium.googlesource.com/chromium/src/+/master/net/docs/certificate-transparency.md#move-top-toolbar-to-bottom
, disabled by default#site-engagement
, enabled by default#offline-pages-auto-save
, disabled by default, allows auto-saving of pages when device goes offline#adaptive-button-in-top-toolbar-customization
, disabled by default, allows having a new tab or share button on the address bar
- webGL, disabled by default
- images, enabled by default
- Javascript JIT, disabled by default
- timezone customization override
- autoplay, disabled by default
- webRTC, disabled by default
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 atTor Browser in such cases.
All built versions are available asreleases; theofficial website points to those releases and - when browsing via Android - it will automatically highlight the one apt for your device (or none otherwise).
Each tag corresponds to a Chromium Stable release tag.
Bromite is currently built for ARM, ARM64 and x86 and for the Android SDK version 23+;Bromite SystemWebView is provided as well (SDK23+).For every Bromite build you can always find a matchingvanilla Chromium build which is used for example to verify which issues are specific to Bromite or not.
You will automatically receive notifications about new updates (and be able to install them) via the auto updater functionality (enabled by default), seerelated wiki page.
All official releases are also available through theofficial third-party F-Droid repository.
You can verify the integrity of a downloaded APK file from this project with anysha256sum
-compatible tool by downloading the correspondingbrm_X.Y.Z.sha256.txt
orchr_X.Y.Z.sha256.txt
file, where X.Y.Z is the release version number. Example:
$ sha256sum --check brm_68.0.3440.54.sha256.txtarm64_SystemWebView.apk: OKarm64_ChromePublic.apk: OKarm64_ChromeModernPublic.apk: OK
You can verify authenticity, e.g. that the author (csagan5) released the file, by using gpg2:
$ gpg2 --quiet --verify brm_68.0.3440.54.sha256.txt.ascgpg: assuming signed data in 'brm_68.0.3440.54.sha256.txt'gpg: Signature made Sun 08 Jul 2018 04:22:52 PM CEST using RSA key ID D85DC0C5gpg: Good signature from "csagan5 <32685696+csagan5@users.noreply.github.com>"
You can download csagan5's public GnuPG key from here:csagan5.asc.
TheBromite main repository contains tags for each corresponding Chromium release (seehttps://chromium.googlesource.com/chromium/src.git).
Please refer toofficial Chromium build documentation to get started on how to build Chromium; if you can build Chromium for Android, you can build Bromite.
The Chromium version tag used as base for the patches is available here:RELEASE; this is always corresponding to the git tag for every release.The GN args used to build Bromite are available here:bromite.gn_args.The patches are to be applied second the order specified in thebromite_patches_list.txt
file (you can usegit am
).
NOTE: no official support is provided for builds.
See upstream documentation:https://github.com/chromium/chromium/blob/master/components/subresource_filter/FILTER_LIST_GENERATION.md
Bromite uses an unindexed filter file, which is periodically published athttps://github.com/bromite/filters
Please submit issues following the issue template; beware that GitHub does not display the templates from mobile.
Patches are welcome and accepted if they match the project goals.
For any usage or development discussion please use GitHub Discussions:https://github.com/bromite/bromite/discussions
- Chromium project and developers
- Iridium project for some patches
- ungoogled-chromium for some patches
- ungoogled-chromium-android for some patches
- GrapheneOS for some security patches
- Inox patchset for some patches (via ungoogled-chromium)
- Brave Browser for some patches
- Vadim Pleshkov for Bromite's logo
The URLs of the lists used are available at:https://github.com/bromite/filters/blob/master/lists.txt
The patches published as part of the Bromite project are released underGNU GPL v3.
About
Bromite is a Chromium fork with ad blocking and privacy enhancements; take back your browser!