Giter VIP home page Giter VIP logo

cromite's Introduction

current Cromite release

Build Cromite

Cromite (a Bromite fork) - Take back your browser

Bromite

Cromite is a Chromium fork based on Bromite with built-in support for ad blocking and an eye for privacy.

Cromite is available for Android arm64-v8a, arm32-v7a and x86_64, Nougat and above (Minimum v7.0, API level 24), Windows and Linux 64bit.

Goals

Cromite's goal is to

  • limit the features built into the browser that can be used as a platform for tracking users' habits, and, if it is not technically possible, disable them and leave it up to the user to choose whether to re-enable them
  • limit the close integration between the browser and its manufacturer
  • not let the excellent research work done by csagan5 with Bromite be lost

In addition, Cromite would like to promote greater integration with other non-profit, open source browsers, encouraging closer collaboration with others, and attempt to integrate them directly into Chromium once they have reached an appropriate level of maturity.

Privacy limitations

Cromite'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 in such cases. Please note that this project is not free of bugs and that changing the behaviour of a browser can be risky and not without problems.

Docs

Releases

All built versions are available as releases.

Cromite is currently built for ARM64, x86 (Android SDK version 23+) and Windows x64.

You will automatically receive notifications about new updates (and be able to install them) via the auto updater functionality (enabled by default), see related wiki page.

F-droid

Official F-droid repo url: https://www.cromite.org/fdroid/repo/?fingerprint=49F37E74DEE483DCA2B991334FB5A0200787430D0B5F9A783DD5F13695E9517B

Auto-update setup for windows

  1. Download https://github.com/henrypp/chrlauncher/releases
  2. Create a chrlauncher.ini
[chrlauncher]

# Custom Chromium update URL (string):
ChromiumUpdateUrl=https://github.com/uazo/cromite/releases/latest/download/updateurl.txt

# Command line for Chromium (string):
# note --user-data-dir= works better if path is absolute
# See here: http://peter.sh/experiments/chromium-command-line-switches/
ChromiumCommandLine=--user-data-dir="C:\Users\<my user>\AppData\Local\Chromium\User Data" --no-default-browser-check

# to enable full logging in c:\temp\log.txt (daily rotate, no automatic deletion)
# ChromiumCommandLine=--enable-logging --v=0 --log-file=C:\temp\log.txt --user-data-dir=".\User Data" --no-default-browser-check

# Chromium executable file name (string):
ChromiumBinary=chrome.exe

# Chromium binaries directory (string):
# Relative (to chrlauncher directory) or full path (env. variables supported).
ChromiumDirectory=.\bin

To prevent deletion by Microsoft Defender each time the browser is updated, check the user-data-dir folder by modifying it accordingly.

Enable network process sandbox in windows

I don't include any setups because I don't like the experience of not knowing what they do, so you must manually run this command on first installation:

cd <where_is_the_exe>
icacls . /grant "*S-1-15-2-2:(OI)(CI)(RX)"

see uazo/bromite-buildtools#51

Enable AppContainer for renderer process in windows

you can activate the 'RendererAppContainer' flag from the command line with

  --enable-features=RendererAppContainer

Making Cromite work in Ubuntu 24.04 and its derivatives (kubuntu, etc)

This happens because, starting with Ubuntu 24.04, Apparmor restricts the use of unprivileged user namespaces. To fix this, you have several options:

1. Creating an apparmor profile for cromite

Create /etc/apparmor.d/chrome, and write:

abi <abi/4.0>,
include <tunables/global>

profile cromite /home/user/cromite/chrome-lin/chrome flags=(unconfined) {
  userns,

  include if exists <local/chrome>
}

replacing the cromite binary path with where you have placed cromite.

Now, run sudo apparmor_parser -r /etc/apparmor.d/cromite to apply the changes.

2. Disabling the restriction until next reboot

sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0

3. Disabling the restriction permanently

Add kernel.apparmor_restrict_unprivileged_userns=0 to the file /etc/sysctl.d/60-apparmor-namespace.conf. Create the file if not exists.

Auto-update setup for linux

working in progress in #771

Contributing

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.

If you want to help me, here is the list of things I would need.

For any usage or development discussion please use GitHub Discussions: https://github.com/uazo/cromite/discussions

Credits

thanks to austinhuang0131 for the svg icon

License

Cromite is published under GNU GPL v3. The patches published as part of the Bromite project are released under GNU GPL v3 only. Cromite specific patches are under the GNU GPL-2+ licence. Each individual patch contains specific information on the licence used.

cromite's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cromite's Issues

(Question) Possibility/interest of making Cromite available on package managers, like Scoop.sh?

Either Scoop, Chocolatey or Winget really, just wondering if it'd be something of interest?

Specially Scoop.sh has always been by go to portable installations and other utilities, but I am positive any other package manager solution for PC would be more than enough.

Cheers and thanks for the great project so far!

Sorry for the blank issue.

Checked:
[ X ] README
[ X ] FAQ
[ X ] ISSUES

Collaboration for Bromite development

@uazo I reach you via a GitHub issue, as I was not able to find any email address.

I'm Romain Hunault, working at Murena to develop /e/OS (https://e.foundation/). Bromite is our default web browser, and we would like to discuss with you the possibility to combine our efforts on this topic. Feel free to reach me on Telegram (@rhunault) or by mail ([email protected]) to discuss the possibilities. Thank you in advance!

Crash when access `Safety check` settings option

Preliminary checklist

  • I have read the README.
  • I have searched the existing issues for my problem. This is a new ticket, NOT a duplicate or related to another open issue.
  • I have read the FAQs.
  • I have updated Bromite to the latest version. The bug is reproducible on this latest version.
  • This is a bug report about the Bromite browser; not the website nor F-Droid nor anything else.

Can the bug be reproduced with corresponding Chromium version?

Yes

Bromite version

v115.0.5790.98-c9e9512bb9a9043002d58fa28c4748ba5a16d3b7

Device architecture

arm64-v8a

Android version

13

Device model

Pixel 6

Changed flags

no flags changed

Is this bug about the SystemWebView?

No

Is this bug happening in an incognito tab?

Yes

Is this bug caused by the adblocker?

No

Is this bug a crash?

stack trace:

07-21 04:46:47.026 30564 30564 E AndroidRuntime: FATAL EXCEPTION: main
07-21 04:46:47.026 30564 30564 E AndroidRuntime: Process: HTTP://WEBADDRESS.ELIDED, PID: 30564
07-21 04:46:47.026 30564 30564 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{HTTP://WEBADDRESS.ELIDED}: b10: Unable to instantiate fragment org.chromium.chrome.browser.safety_check.SafetyCheckSettingsFragment: make sure class name exists
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3656)
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3793)
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101)
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:138)
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2314)
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:106)
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	at android.os.Looper.loopOnce(Looper.java:201)
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:288)
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:7941)
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	at com.android.internal.os.ExecInit.main(ExecInit.java:49)
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:355)
07-21 04:46:47.026 30564 30564 E AndroidRuntime: Caused by: b10: Unable to instantiate fragment org.chromium.chrome.browser.safety_check.SafetyCheckSettingsFragment: make sure class name exists
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	at w10.c(HTTP://WEBADDRESS.ELIDED-stable-579009804:30)
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	at HTTP://WEBADDRESS.ELIDED.c.Y(HTTP://WEBADDRESS.ELIDED-stable-579009804:9)
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	at org.chromium.chrome.browser.settings.SettingsActivity.onCreate(chromium-ChromePublic.apk-stable-579009804:112)
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	at android.app.Activity.performCreate(Activity.java:8389)
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	at android.app.Activity.performCreate(Activity.java:8368)
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1422)
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3637)
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	... 14 more
07-21 04:46:47.026 30564 30564 E AndroidRuntime: Caused by: java.lang.ClassNotFoundException: org.chromium.chrome.browser.safety_check.SafetyCheckSettingsFragment
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	at java.lang.Class.classForName(Native Method)
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	at java.lang.Class.forName(Class.java:454)
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	at w10.b(HTTP://WEBADDRESS.ELIDED-stable-579009804:28)
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	at w10.c(HTTP://WEBADDRESS.ELIDED-stable-579009804:3)
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	... 20 more
07-21 04:46:47.026 30564 30564 E AndroidRuntime: Caused by: java.lang.ClassNotFoundException: org.chromium.chrome.browser.safety_check.SafetyCheckSettingsFragment
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	at Wn.findClass(HTTP://WEBADDRESS.ELIDED-stable-579009804:83)
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
07-21 04:46:47.026 30564 30564 E AndroidRuntime: 	... 24 more

Describe the bug

I haven't gotten the chance to look into the code to find the root cause of this issue yet, so apologies if the details are sparse:

Accessing the Safety check item under Settings screen triggers a crash

Steps to reproduce the bug

  1. Click on hamburger menu and click Settings menu option
  2. Click on Safety check and Cromite should crash

Expected behavior

Cromite does not crash or does not provide the Safety check menu option.

Screenshots

Details

image

Secure Preferences is not really secure

currently the use of secure preferences is not the same as that used in chrome, since there is no seed in chromium.

#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
  seed = std::string(ui::ResourceBundle::GetSharedInstance().GetRawDataResource(
      IDR_PREF_HASH_SEED_BIN));
#endif

https://source.chromium.org/chromium/chromium/src/+/refs/heads/main:chrome/browser/prefs/chrome_pref_service_factory.cc;l=29

adding a seed in an open source code, however, would not serve security purposes. by the way, the method for extracting that value from the pak is already public.
In addition, there are few preferences put under control, see kTrackedPrefs list and Local State doesn't really seem to be under control.

so technically any application could modify the contents of those files

Remove the Google tabs and references

Preliminary checklist

  • I have read the README
  • I have read the FAQs.
  • I have searched existing issues for my feature request. This is a new issue (NOT a duplicate) and is not related to another issue.
  • This is a feature request for the Bromite browser; not the website nor F-Droid nor anything else.

Is your feature request related to privacy?

Yes

Is there a patch available for this feature somewhere?

I don't know.

Describe the solution you would like

Currently, the settings have a tab on the top saying something like 'You and Google' with a Google-services tab.

I'm aware that most of the options here are disabled, but I would like to have the Google section completely removed, like in the original Bromite app.

Describe alternatives you have considered

I have none

Include x86 and installer for Windows and Linux

Preliminary checklist

  • I have read the README
  • I have read the FAQs.
  • I have searched existing issues for my feature request. This is a new issue (NOT a duplicate) and is not related to another issue.
  • This is a feature request for the Cromite browser; not the website nor F-Droid nor anything else.

Is your feature request related to privacy?

No

Is there a patch available for this feature somewhere?

https://chromium.googlesource.com/chromium/src/+/refs/heads/main/chrome/installer/mini_installer/

Describe the solution you would like

Include installer like "mini_installer.exe" and recongnizes as a default browser list

and add support for Linux like ubuntu, fedora, arch in the future

Describe alternatives you have considered

N/A

cookie blocker integration

Preliminary checklist

  • I have read the README
  • I have read the FAQs.
  • I have searched existing issues for my feature request. This is a new issue (NOT a duplicate) and is not related to another issue.
  • This is a feature request for the Bromite browser; not the website nor F-Droid nor anything else.

Is your feature request related to privacy?

Yes

Is there a patch available for this feature somewhere?

No, but a addon is available for desktop browsers https://www.i-dont-care-about-cookies.eu/

Describe the solution you would like

Cromite and other browsers don't allow to use addons. But the addon 'i-dont-care-about-cookies' is very useful. So it would be great if it will be integrated in cromite. Or give Comite the ability to isntall addons

Describe alternatives you have considered

none

Disable viewport protection by default for chrome:// urls

unfortunately, a simple change is not possible.
the fact is that (quite rightly) neither the render process nor blink know that the page is a webui, and therefore the request must be forwarded to the browser.
same thing for pdf pages.

the idea then is to take advantage of the content settings (render side) and ask via mojom which will control via the siteisolation check.
I have no idea if it becomes performance heavy, in addition, adding calls via mojo is always discouraged by the chromium team due to possible security problems.

the alternative is to check whether it is ok to check the 'chrome' protocol on the blink side of the navigation url, but I have not seen any code that does this, so it is probably not safe.

the last idea, the longest to implement but probably the best, is to add a configuration in the settings of blink that deactivates the function and to be passed when blink is initialised, but the code indicating how to reuse the render process must also be revised (a bit like jit does).

found: IsPdfExtensionOrigin

Making the home page something more useful

Currently if I clear data or history all this shortcuts in the homepage also disappeared... Give us some options where we can pinned those shortcuts...

Details

Screenshot_2023-04-11-11-53-56-371_org bromite bromite dev

(SORRY MY ENGLISH IS TERRIBLE ๐Ÿ˜”)
AND THANKYOU KEEP UP THE GOOD WORK ๐Ÿ˜˜๐Ÿ™

Splitt patches for OS

Preliminary checklist

  • I have read the README
  • I have read the FAQs.
  • I have searched existing issues for my feature request. This is a new issue (NOT a duplicate) and is not related to another issue.
  • This is a feature request for the Bromite browser; not the website nor F-Droid nor anything else.

Is your feature request related to privacy?

No

Is there a patch available for this feature somewhere?

no

Describe the solution you would like

I have just tried to build cromite for Android, but around 50% of patches are failing. As I can see, the patches are for all supported OS. Is it possible to separate them ? Some are marked with WIN, but not all.

by the way, I'm not using you build instructions. I'm building the 'standard' way

Describe alternatives you have considered

none

Disable all phone-home features

currently only checking for new versions (which still doesn't work because it points to upstream bromite) and downloading rules from the old bromite adblock (which doesn't seem to work anymore), both of which can be disabled from the interface.

this issue tracks the default disabling of both calls: it must be an user's choice.

Native android autofill not working

I have set Bitwarden as android autofill. It works with Bromite and other browsers but just shows cromite app package name when used with cromite

Crash with always incognito + search suggest

Preliminary checklist

  • I have read the README.
  • I have searched the existing issues for my problem. This is a new ticket, NOT a duplicate or related to another open issue.
  • I have read the FAQs.
  • I have updated Bromite to the latest version. The bug is reproducible on this latest version.
  • This is a bug report about the Bromite browser; not the website nor F-Droid nor anything else.

Can the bug be reproduced with corresponding Chromium version?

No

Bromite version

115.0.5790.98

Device architecture

x64

Android version

9

Device model

emulator

Changed flags

n/a

Is this bug about the SystemWebView?

No

Is this bug happening in an incognito tab?

Yes

Is this bug caused by the adblocker?

No

Is this bug a crash?

Cause: null pointer dereference

  000000000cf9d070  base::ObserverList<RemoteSuggestionsService::Observer, false, true, base::internal::CheckedObserverAdapter>::begin() const  ../../base/observer_list.h:246:23
  000000000cf9cea8  RemoteSuggestionsService::StartSuggestionsRequest(TemplateURL const*, TemplateURLRef::SearchTermsArgs, SearchTermsData const&, base::OnceCallback<void (network::SimpleURLLoader const*, bool, std::__Cr::unique_ptr<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>, std::__Cr::default_delete<std::__Cr::basic_string<char, std::__Cr::char_traits<char>, std::__Cr::allocator<char>>>>)>)  ../../components/omnibox/browser/remote_suggestions_service.cc:109:27
  000000000cfa4260  SearchProvider::CreateSuggestLoader(TemplateURL const*, AutocompleteInput const&)  ../../components/omnibox/browser/search_provider.cc:944:9
  000000000cfa3f65  SearchProvider::Run(bool)                                                         ../../components/omnibox/browser/search_provider.cc:634:9
  000000000cfa1d65  SearchProvider::Start(AutocompleteInput const&, bool)                             ../../components/omnibox/browser/search_provider.cc:337:3
  000000000cf4652d  AutocompleteController::Start(AutocompleteInput const&)                           ../../components/omnibox/browser/autocomplete_controller.cc:524:15
  000000000a534bca  AutocompleteControllerAndroid::OnOmniboxFocused(_JNIEnv*, base::android::JavaParamRef<_jstring*> const&, base::android::JavaParamRef<_jstring*> const&, int, base::android::JavaParamRef<_jstring*> const&)  ../../chrome/browser/android/omnibox/autocomplete_controller_android.cc:284:29
  000000000a5347e5  Java_org_chromium_base_natives_GEN_1JNI_org_1chromium_1chrome_1browser_1omnibox_1suggestions_1AutocompleteController_1onOmniboxFocused  gen/jni_headers/chrome/browser/ui/android/omnibox/jni_headers/AutocompleteController_jni.h:136:18

Describe the bug

n/a

Steps to reproduce the bug

enable

  • always incognito
  • search suggest

Expected behavior

n/a

Screenshots

No response

115.0.5790.98: new stable cromite version

commit: c9e9512
builder: https://github.com/uazo/cromite/actions/runs/5612440052
release: https://github.com/uazo/cromite/releases/tag/v115.0.5790.98-c9e9512bb9a9043002d58fa28c4748ba5a16d3b7
docker image: uazo/cromite-build:115.0.5790.98-c9e9512bb9a9043002d58fa28c4748ba5a16d3b7

changes:

  • From this version android apk is digitally signed with my key (8e7624c)
  • #76 In the windows version, secure preferences are now hashed with an identified value of cromite, which does not limit the possibility of using it in portable mode, but allows the user to be aware of any changes to (some) preferences made outside the browser itself (f021d97)
  • #69 Compress libchrome to free up some space (d728db9)
  • #72 - Fix armv7 build (5afea1c)
  • #68 - Fix crash when opening BookmarkActivity (996ab2d)
  • #73 #73 Remove upstream share intent support (d53d081)
  • Re-enabled browser autoupdate check (c341469)

Disable legacy Bromite AdBlock by default

Preliminary checklist

  • I have read the README
  • I have read the FAQs.
  • I have searched existing issues for my feature request. This is a new issue (NOT a duplicate) and is not related to another issue.
  • This is a feature request for the Bromite browser; not the website nor F-Droid nor anything else.

Is your feature request related to privacy?

Yes

Is there a patch available for this feature somewhere?

N/A

Describe the solution you would like

I'm happy this project is back. Note to Uazo, I would still be glad to help out with documntation, I can get started with it pretty soon. Now to my request.

I find the inclusion of two different submenus for adblocking both confusing and problematic. As far as I understand they are two different engines. I did see that the old one is deprecated, but it is still enabled by default.
Is this intended/necessary?

If not, would it make sense to either merge the two menus into one, or remove the legacy engine all together? Especially for users more on the "normie" side, this could lead to disastrous outcomes, if they use both, as filter conflics and performance issues might occur.

Describe alternatives you have considered

Again, I wouldn't be asking this if there was docs about the new engine.

Wasm

For security reasons, shouldn't we disable wasm?

I suppose we can do this with flags --noexpose_wasm --no-experimental-wasm-anyref

Disable-external-intent-requests flags only works if disabled.

Preliminary checklist

  • I have read the README.
  • I have searched the existing issues for my problem. This is a new ticket, NOT a duplicate or related to another open issue.
  • I have read the FAQs.
  • I have updated Bromite to the latest version. The bug is reproducible on this latest version.
  • This is a bug report about the Bromite browser; not the website nor F-Droid nor anything else.

Can the bug be reproduced with corresponding Chromium version?

Yes

Bromite version

115.0.5790.98 (cromite)

Device architecture

arm64

Android version

12.1

Device model

OPPO A16

Changed flags

I don't think my current setting did anything to relate topic.

Is this bug about the SystemWebView?

No

Is this bug happening in an incognito tab?

No

Is this bug caused by the adblocker?

No

Is this bug a crash?

No

Describe the bug

I'm not entirely sure this is bug, tell me if i wrong.
I aware that there is flag like this.
#disable-external-intent-requests, can be used to disable opening any external app for any URL
Only if you toggle it to 'disable' the expected behaviour happen (default value is 'enabled'). I mean, browser will open any link (youtube, or app) internally/locally without triggering outside app.

Steps to reproduce the bug

  1. Search anything for example 'Funny cat youtube'
  2. Choose any video appear on search.
  3. Then youtube app would open.

Expected behavior

Cromite would open any link locally.

Screenshots

No response

[Infra] Put some files under source control

Create a repo on git with just the files:

  • *.idl
  • https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt
  • chrome/android/java/AndroidManifest.xml
  • services/network/network_context.cc
  • content/child/runtime_features.cc
  • content/public/browser/content_browser_client.cc
  • chrome/browser/ui/tab_helpers.cc
  • chrome/browser/chrome_browser_interface_binders.cc
  • chrome/renderer/chrome_content_renderer_client.cc
  • third_party/blink/renderer/core/frame/settings.json5
  • third_party/blink/renderer/core/events/event_type_names.json5
  • third_party/blink/renderer/core/css/parser/media_query_parser.cc
  • third_party/blink/renderer/core/css/media_feature_names.json5
  • third_party/blink/renderer/core/origin_trials/origin_trial_context.cc
  • third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom
  • chrome/browser/prefs/browser_prefs.cc
  • gin/v8_initializer.cc
  • media/base/video_codecs.h

check also:

  • third_party/blink/tools/list_stable_features.py

to be updated every build-images.yaml

uazo/bromite-buildtools#175

Error when building 115.0.5790.98 with docker for ARMv7.

If I try to follow the instructions here: uazo/bromite-buildtools#59 (comment)_
but with the newest version, I get an error:

Console output
[46963/63260] CXX obj/storage/browser/browser/blob_memory_controller.o
FAILED: obj/storage/browser/browser/blob_memory_controller.o 
../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/storage/browser/browser/blob_memory_controller.o.d -DIS_STORAGE_BROWSER_IMPL -DOFFICIAL_BUILD -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -DANDROID -DHAVE_SYS_UIO_H -DANDROID_NDK_VERSION_ROLL=r23_1 -DCR_CLANG_REVISION=\"llvmorg-17-init-10134-g3da83fba-2\" -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS -DCR_LIBCXX_REVISION=f8279b01085b800724f5c5629dc365b9f040dc53 -D_LIBCPP_ENABLE_ASSERTIONS=1 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DWEBP_EXTERN=extern -DUSE_EGL -DVK_USE_PLATFORM_ANDROID_KHR -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 -DU_ENABLE_TRACING=1 -DU_ENABLE_RESOURCE_TRACING=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DGOOGLE_PROTOBUF_INTERNAL_DONATE_STEAL_INLINE=0 -DHAVE_PTHREAD -DWEBRTC_ENABLE_AVX2 -DWEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0 -DWEBRTC_CHROMIUM_BUILD -DWEBRTC_POSIX -DWEBRTC_LINUX -DWEBRTC_ANDROID -DABSL_ALLOCATOR_NOTHROW=1 -DLOGGING_INSIDE_WEBRTC -DSK_CODEC_DECODES_PNG -DSK_CODEC_DECODES_WEBP -DSK_ENCODE_PNG -DSK_ENCODE_WEBP -DSK_ENABLE_SKSL -DSK_UNTIL_CRBUG_1187654_IS_FIXED -DSK_USER_CONFIG_HEADER=\"../../skia/config/SkUserConfig.h\" -DSK_WIN_FONTMGR_NO_SIMULATIONS -DSK_DISABLE_LEGACY_IMAGE_FACTORIES -DSK_DISABLE_LEGACY_MAKE_TEXTURE_IMAGE -DSK_DISABLE_LEGACY_IMAGE_FLUSH -DSK_DISABLE_LEGACY_GET_BACKEND_TEXTURE -DSK_DISABLE_LEGACY_IMAGE_ENCODE_METHODS -DSK_DISABLE_LEGACY_IMAGE_ENCODER -DSK_DISABLE_LEGACY_SKSURFACE_METHODS -DSK_DISABLE_LEGACY_GRAPHITE_IMAGE_FACTORIES -DSK_DISABLE_LEGACY_GRAPHITE_IMAGE_METHODS -DSK_CODEC_DECODES_JPEG -DSK_ENCODE_JPEG -DSK_HAS_WUFFS_LIBRARY -DSK_BUILD_FOR_ANDROID -DUSE_CHROMIUM_SKIA -DSK_GANESH -DSK_GPU_WORKAROUNDS_HEADER=\"gpu/config/gpu_driver_bug_workaround_autogen.h\" -DSK_GL -DSK_VULKAN=1 -DSK_GRAPHITE -DLEVELDB_PLATFORM_CHROMIUM=1 -DCRASHPAD_ZLIB_SOURCE_EXTERNAL -DV8_DEPRECATION_WARNINGS -DCPPGC_SLIM_WRITE_BARRIER -DSQLITE_OMIT_ANALYZE -DSQLITE_OMIT_AUTOINIT -DSQLITE_OMIT_AUTOMATIC_INDEX -DSQLITE_OMIT_AUTORESET -DSQLITE_OMIT_COMPILEOPTION_DIAGS -DSQLITE_OMIT_EXPLAIN -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_INTROSPECTION_PRAGMAS -DSQLITE_DEFAULT_LOOKASIDE=0,0 -DSQLITE_OMIT_LOOKASIDE -DSQLITE_OMIT_TCL_VARIABLE -DSQLITE_OMIT_REINDEX -DSQLITE_OMIT_TRACE -DSQLITE_OMIT_UPSERT -DSQLITE_OMIT_WINDOWFUNC -DSQLITE_ENABLE_FTS3 -DSQLITE_DISABLE_FTS3_UNICODE -DSQLITE_DISABLE_FTS4_DEFERRED -DSQLITE_ENABLE_ICU -DSQLITE_SECURE_DELETE -DSQLITE_THREADSAFE=1 -DSQLITE_MAX_WORKER_THREADS=0 -DSQLITE_MAX_MMAP_SIZE=268435456 -DSQLITE_DEFAULT_FILE_PERMISSIONS=0600 -DSQLITE_DEFAULT_LOCKING_MODE=1 -DSQLITE_DEFAULT_MEMSTATUS=1 -DSQLITE_DEFAULT_PAGE_SIZE=4096 -DSQLITE_DEFAULT_PCACHE_INITSZ=0 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_USE_ALLOCA -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_JSON -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_HAVE_ISNAN -DSQLITE_HAVE_SQLITE3R -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_BATCH_ATOMIC_WRITE -DSQLITE_TEMP_STORE=3 -DSQLITE_ENABLE_LOCKING_STYLE=0 -I../.. -Igen -I../../buildtools/third_party/libc++ -I../../third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -I../../third_party/libwebp/src/src -I../../third_party/libyuv/include -I../../third_party/jsoncpp/source/include -I../../third_party/khronos -I../../gpu -I../../third_party/vulkan-deps/vulkan-headers/src/include -Igen/third_party/dawn/include -I../../third_party/dawn/include -I../../third_party/abseil-cpp -I../../third_party/boringssl/src/include -I../../third_party/protobuf/src -Igen/protoc_out -I../../third_party/ipcz/include -I../../third_party/ced/src -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -I../../net/third_party/quiche/overrides -I../../net/third_party/quiche/src/quiche/common/platform/default -I../../net/third_party/quiche/src -Igen/net/third_party/quiche/src -I../../third_party/webrtc_overrides -I../../third_party/webrtc -Igen/third_party/webrtc -I../../third_party/skia -I../../third_party/wuffs/src/release/c -I../../third_party/vulkan/include -I../../third_party/libwebm/source -I../../third_party/mesa_headers -Igen/jni_headers -I../../third_party/leveldatabase -I../../third_party/leveldatabase/src -I../../third_party/leveldatabase/src/include -I../../third_party/crashpad/crashpad -I../../third_party/crashpad/crashpad/compat/linux -I../../third_party/crashpad/crashpad/compat/android -I../../third_party/crashpad/crashpad/compat/non_win -I../../third_party/zlib -I../../v8/include -Igen/v8/include -fprofile-sample-use=../../chrome/android/profiles/afdo.prof -fprofile-sample-accurate -Wall -Werror -Wextra -Wimplicit-fallthrough -Wextra-semi -Wunreachable-code-aggressive -Wthread-safety -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wloop-analysis -Wno-unneeded-internal-declaration -Wenum-compare-conditional -Wno-ignored-pragma-optimize -Wno-deprecated-builtins -Wno-bitfield-constant-conversion -Wno-deprecated-this-capture -Wshadow -fno-delete-null-pointer-checks -fno-ident -fno-strict-aliasing -fstack-protector-strong -fwrapv -ftrivial-auto-var-init=zero -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang -Wno-unused-command-line-argument -funwind-tables -fPIC -fcolor-diagnostics -fmerge-all-constants -fcrash-diagnostics-dir=../../tools/clang/crashreports -mllvm -instcombine-lower-dbg-declare=0 -ffp-contract=off -flto=thin -fsplit-lto-unit -fcomplete-member-pointers -ffunction-sections -fno-short-enums --target=arm-linux-androideabi24 -march=armv7-a -mfloat-abi=softfp -ffile-compilation-dir=. -no-canonical-prefixes -mfpu=neon -mthumb -Oz -fdata-sections -ffunction-sections -fno-unique-section-names -mllvm -enable-ml-inliner=release -fomit-frame-pointer -gdwarf-4 -g1 -gdwarf-aranges -fdebug-info-for-profiling -fsanitize=cfi-vcall -fsanitize-ignorelist=../../tools/cfi/ignores.txt -fsanitize=cfi-derived-cast -fsanitize=cfi-unrelated-cast -fvisibility=hidden -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang raw-ref-template-as-trivial-member -Xclang -plugin-arg-find-bad-constructs -Xclang check-stack-allocated -Xclang -plugin-arg-find-bad-constructs -Xclang check-ipc -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wexit-time-destructors -Wno-redundant-parens -DPROTOBUF_ALLOW_DEPRECATED=1 -Wno-redundant-parens -std=c++20 -Wno-trigraphs -gsimple-template-names -fno-exceptions -fno-rtti -nostdinc++ -isystem../../buildtools/third_party/libc++/trunk/include -isystem../../buildtools/third_party/libc++abi/trunk/include --sysroot=../../third_party/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot -fvisibility-inlines-hidden -c ../../storage/browser/blob/blob_memory_controller.cc -o obj/storage/browser/browser/blob_memory_controller.o
../../storage/browser/blob/blob_memory_controller.cc:55:69: error: implicit conversion from 'unsigned long long' to 'const size_t' (aka 'const unsigned int') changes value from 8589934592 to 0 [-Werror,-Wconstant-conversion]
constexpr size_t approximated_device_disk_size = 8ull * 1024 * 1024 * 1024;
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   ~~~~~~~~~~~~~~~~~~~^~~~~~
1 error generated.
[46976/63260] CXX obj/storage/browser/browser/blob_url_loader.o
ninja: build stopped: subcommand failed.

It did not happen with the previous version, but unfortunately that one has the Cloudflare issue.

App size almost doubled on 110+ releases

Hello, thank you for your work. I noticed a little issue about releases for android after 109: the installed app size almost doubled (from 183-185 MB to 307MB). The apk files are almost still for these versions (165-168MB).

Details

image
image
image

Even the last releases have app size about 300MB.

Details

image

What did it happen between 109 and 110 releases?
NB: for these test I uninstalled uazo bromite before reinstalling, but the increased size exists also for upgraded app. I'm on Lineage, Android 13.

Add scripts by link, not by file.

The feature will be very useful especially when it does auto updates like adblocking filters, I hope you'll consider my suggestion.

translation with Deepl

Preliminary checklist

  • I have read the README
  • I have read the FAQs.
  • I have searched existing issues for my feature request. This is a new issue (NOT a duplicate) and is not related to another issue.
  • This is a feature request for the Bromite browser; not the website nor F-Droid nor anything else.

Is your feature request related to privacy?

Yes

Is there a patch available for this feature somewhere?

Yes, in Brave

Describe the solution you would like

You have complete disabled translation, because it's using googel translate. Brave is using Deepl for translation. Would be great if you could implement it too.

Describe alternatives you have considered

none

Windows Defender label chrome.exe in Cromite as Trojan

Preliminary checklist

  • I have read the README.
  • I have searched the existing issues for my problem. This is a new ticket, NOT a duplicate or related to another open issue.
  • I have read the FAQs.
  • I have updated Bromite to the latest version. The bug is reproducible on this latest version.
  • This is a bug report about the Bromite browser; not the website nor F-Droid nor anything else.

Can the bug be reproduced with corresponding Chromium version?

No

Bromite version

v115.0.5790.98

Device architecture

x64

Android version

12.1

Device model

PC, Windows 11

Changed flags

no flags changed

Is this bug about the SystemWebView?

No

Is this bug happening in an incognito tab?

No

Is this bug caused by the adblocker?

No

Is this bug a crash?

No

Describe the bug

Windows Defender recognize the chrome.exe in Cromite as Trojan:Script/Wacatac.B!ml

Steps to reproduce the bug

Attempt to open the Cromite installation folder and Windows Defender will instantly trigger.

Expected behavior

Able to run Cromite normally.

Screenshots

No response

UserScripts

Preliminary checklist

  • I have read the README
  • I have read the FAQs.
  • I have searched existing issues for my feature request. This is a new issue (NOT a duplicate) and is not related to another issue.
  • This is a feature request for the Cromite browser; not the website nor F-Droid nor anything else.

Is your feature request related to privacy?

Yes

Is there a patch available for this feature somewhere?

idk

Describe the solution you would like

Tampermonkey Greasemonkey Scripts Not Working Properly Please Fix

Describe alternatives you have considered

Bring UserScript direct Integration like Via Browser

Make F-Droid repo

Preliminary checklist

  • I have read the README
  • I have read the FAQs.
  • I have searched existing issues for my feature request. This is a new issue (NOT a duplicate) and is not related to another issue.
  • This is a feature request for the Bromite browser; not the website nor F-Droid nor anything else.

Is your feature request related to privacy?

Yes

Is there a patch available for this feature somewhere?

No

Describe the solution you would like

Publish in F-Droid repo (again)

Describe alternatives you have considered

own F-Droid Repo

Autofill does not work properly.

I use Bitwarden, when I try to use autofill it does not detect the website's url, instead it detects the app itself (org.cromite.cromite) and treats it like any other app not like a browser, this will cause a problem because everytime I try to login I will have to search for the right credentials.

Note: I enabled everything in chrome://policy but nothing worked.

Google Chrome Extension support

Preliminary checklist

  • I have read the README
  • I have read the FAQs.
  • I have searched existing issues for my feature request. This is a new issue (NOT a duplicate) and is not related to another issue.
  • This is a feature request for the Cromite browser; not the website nor F-Droid nor anything else.

Is your feature request related to privacy?

Yes

Is there a patch available for this feature somewhere?

It is available in Kiwi browser

Describe the solution you would like

Google chrome extension support

Describe alternatives you have considered

Kiwi browser

Move all static resources requests to Codeberg

Since codeberg's privacy policy better reflects my thinking and what I do (I do not have any kind of log in this browser), I decided to move all external resources required by this browser by default to a static repo:

https://codeberg.org/uazo/cromite-static/src/branch/pages aka https://static.cromite.org/@pages

to-do lists:

Bookmark favicons are pixelated

Version:
v115.0.5790.98-30d36db90516e651c2cd676a677268b3ea7cf75b (current latest)

Issue:
Bookmark favicons are oversized, hence they look pixelated

Details:
I use my mobile bookmarks url as homepage:
chrome-native://bookmarks/folder/3

With the current latest version the favicons look oversized an pixelated.
In the previous release they were fine.

Screenshot:

Details

Screenshot_20230719-091527_crDroid Home

They're supposed to look like this instead:

Details

Screenshot_20230719-093608_crDroid Home

Publish symbols for every release

the current action does not release:

  • out/bromite/symbols
    • dump_syms
    • minidump_stackwalk
    • libchrome.so folder

remember: to extract the crashlog

./minidump_stackwalk <path_to_crash_file> <path_to_symbols>

Page does not load when shared from another app

Occurs if following settings is enabled
Clear browsing data at startup is enabled and all options checked.

Steps to reproduce:

  1. The browser is actually closed
  2. Share a link to the browser.
  3. It opens about:blank page instead of the shared link.

Enabling Always open the context menu in the link.

Preliminary checklist

  • I have read the README.
  • I have searched the existing issues for my problem. This is a new ticket, NOT a duplicate or related to another open issue.
  • I have read the FAQs.
  • I have updated Bromite to the latest version. The bug is reproducible on this latest version.
  • This is a bug report about the Bromite browser; not the website nor F-Droid nor anything else.

Can the bug be reproduced with corresponding Chromium version?

No

Bromite version

Cromite v115.0.5790.98

Device architecture

arm64-v8a

Android version

12.1

Device model

Sony Xperia 1 III

Changed flags

No flags changed.

Is this bug about the SystemWebView?

No

Is this bug happening in an incognito tab?

No

Is this bug caused by the adblocker?

No

Is this bug a crash?

adf8ed9a-d401-435c-812a-64f0f0ada118.zip

Describe the bug

I try enabling Always open the context menu in the link option in settings of Cromite and it just crashes settings or app.

Steps to reproduce the bug

  1. Open settings in Cromite.
  2. Go to accessibility section.
  3. Enable Always open the context menu in the link.

Expected behavior

The context menu should open if you press a link and long pressing open link.

Screenshots

No response

APK name and transferring data from Chromium to Cromite.

Is it possible to transfer data of Chromium to Cromite?

Could the APK name be changed to cromite_115.0.5790.98_Arm64.apk since I have to rename any APKs with name similar to arm64_ChromePublic.apk, so they do get overwritten.

I think it would be good idea to change it to this name because then the user will know it is Cromite, which version and for which devices.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.