-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Desktop] Unable to install self-signed or third-party CRX extensions #2457
Comments
Yup, that's me on Reddit :) |
Just to add to this, Brave Browser keeps rejecting the installation of Roboform which is listed on the Chrome Web Store. It flagged it as not being on the Brave web store as well. |
@thisisespria — that sounds like a separate issue, which I'm not able to reproduce. Can you file a new issue with screenshots of what you're experiencing, and more detail? |
It was a temporary problem, it looks like. After the extension updated, for some reason it began conflicting with Brave browser and kept getting marked as not tested by Brave and not being in the Brave web store. I was able to get around it by using developer mode and sideloading the extension but I've uninstalled and reinstalled from the web store and it works fine now. |
I guess this behavior is intentional according to this support document (Learn More). The support document is very unclear about how a Developer should reupload their extension. I also find this decision to be problematic for developers who may want to test their own extensions out, and even for regular users using extensions that can't be added to the Chrome Web Store. |
Hope they will allow us to enable non web store extension, as long as they display a message to discourage the average user from doing it |
Is there any work around to this problem? |
Ran into this issue after updating to the latest version of brave. As far as I can tell the only way to fix this for effected users would be to patch install_verifier.cc or extension_service.cc to remove the nonstore checks. There used to be a flag you could pass to sideload however according to google forums that no longer exists |
I recently started getting used to Brave and I really like it but it seems like non-chrome webstore extensions cannot be enabled, is this true? I downloaded the dev channel version as I do with chrome in order to be able to whitelist homemade extensions in the Windows registry. This would be a deal-breaker unfortunately so please tell me there is a way?? |
I hope this gets fixed. |
Another +1 for this. Had to download Chrome again because a tool I'm using is distributed as a .crx :'( |
@damendo exactly same situation here. I have to use a tool distributed as .crx |
+1 Can anybody from team comment on whether this is intentional or a bug and whether there are plans to fix this or not? |
I used to circumvent this issue by white listing/forceinstall listing my extensions via policies in the registry ( Now even that doesn't work... |
Relinking my earlier comment on this issue: |
This punishes using any FOSS extensions that aren't on the chrome store since the only other option is to get the source and load it as a dev extension but that causes an annoying popup that the devs seem to think is wanted (#5063). This includes anything google disagree with, such as blocking paywalls (See the example OP supplied) |
Tried with |
It's really horrendous how they say that brave "begins with giving you back power." |
There are certain ad blocking extensions that Google doesn't allow on their store that have to be loaded this way and (for some reason) Brave refuses to give the user the choice to do so. I switched to another browser until this is fixed, but I won't hold my breath. |
I was looking for a way to make a self-signed crx extension work in Brave. It looks like @aetonsi is right. I am able to get my extension working with GPO white-listing. I'm posting this here in case others are trying to run a custom 3rd party .crx extension that's not from the chrome webstore and getting the above error when sideloading. You need to add the following registry key(datatype are all
Setup I tested this on, Win7 64-bit with Brave 1.3.113 Chromium: 80.0.3987.87 32-bit. This is actually Brave-portable. |
Hey, I'm using Brave Stable build on Win10 and the specific registry path is absent in my case. any idea on this? |
The reason why sideloaded, non-store extensions are blocked seems to be this flag set at compile time: Like with Google Chrome you can actually work around this restriction by creating a policy file like it is described in this tutorial from Google. For Debian/Ubuntu users the steps are as follows:
After creating and saving the json file, the only thing you have to do is to start Brave, visit |
Recently google erased ClearUrls from Chrome Web Store and I can't install the crx. This was an important extension for me and other users. Why Brave doesn't allow us to install other extensions? |
Hi folks - I can definitely understand being upset. The solution for this issue would be to:
cc: @diracdeltas @karenkliu as there is a security implication of making a change here. I'm not sure what the preferred behavior would look like? The problem isn't installing unpacked extensions, the problem is signed extensions (outside of the Chrome Web Store) |
The work-around I would recommend for now would be to use the group policy. For example on Windows, the key: The registry keys won't exist by default - you'll have to either create those in RegEdit or double click a
More info about the group policy here: https://chromeenterprise.google/policies/#ExtensionInstallAllowlist Group policy should work on other platforms too - although I have never used it outside of Windows. Kudos to @esjarc and @shivashranz above for sharing the details 😄 |
Hi Brian, thanks for the update on this issue. I'm curious why extensions work on Arch Linux Chromium. The chromium package doesn't deviate much from upstream either. Yet it is able to run extensions that are installed by package manager such as browserpass. |
@bsclifton Your explanation sadly does not add up. First of all Chromium does not block any third party extension for me. This is only a problem on brave.
This directly contradicts Brave's official support article, where this is explained to have been done on purpose: https://support.brave.com/hc/en-us/articles/360017914832-Why-am-I-seeing-the-message-extensions-disabled-by-Brave Moreover my issue #10018 does not seem to trigger any interest from brave devs. Pretty sad that brave seems to go the censoring route, just like big tech. |
@bsclifton IIUC there's two separate issues here:
are users still seeing some kind of warning whenever developer mode is enabled? i have had an extension i made (that's not in CWS) installed for months without issue. |
@bsclifton Are you sure that Brave is not disabling this on purpose? If I am right with my assumption that the command line switch
Other Chromium-based browsers like Chromium (from the Debian repository), Vivaldi and Kiwi Browser don't disable sideloaded extensions and I have only ever experienced this issue with Brave. EDIT: The |
edit: wiki update was backed out after finding we are matching Chrome behavior |
@diracdeltas would the ideal fix be to ignore the enforcement if developer mode is enabled (in brave://extensions)?
The warning is not enabled by default anymore. It was only showing before when we were using the TEST config. After we put the proper config in place the issue went away and #5063 was logged in case we did want to show a warning |
@bsclifton yes, if my understanding is correct, the current behavior was an unintentional side effect of brave/brave-core#2471 and should be reverted to the behavior prior to 0.68.x |
edit: looks like it was already modified to be Will review with @jumde and report back |
Exciting to see this make progress after 2 years. |
@rushilsrivastava happy to help move things along 😄 I'm not able to get this working in Chrome. Maybe folks can help me double check I did this right?
It does look like we are matching what Chrome is doing, which is consistent with the comments here: Here's a link to the Chromium code for where #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
experiment_value = VerifyInfo::Mode::ENFORCE_STRICT;
#else
experiment_value = VerifyInfo::Mode::NONE;
#endif Here's a link to the Chromium code for where if (!InstallSigner::GetForcedNotFromWebstore().empty())
return VerifyStatus::ENFORCE;
Because you can see a difference above (Chrome using It seems I'm back to square one. I was originally sharing that we are doing the same as Chromium (which is what I honestly believed) and after verifying right now, it does appear this is the case. I am on Windows 10 x64 (20H2) for what it's worth. Is there something I'm missing? If you have gotten this working on official builds of Chrome/Chrome Canary/Chromium did you have to do anything special? |
@bsclifton I can't reproduce your results. One possible explanation I could come up with: When you drag the extension into the browser window you have to wait until a grey overlay appears (if it doesn't try to move your mouse around a bit). Once the overlay is displayed you can drop the extension into the browser and the installation dialog appears. If you don't wait for the overlay, the browser treats the extension as a file and downloads it instead and that could be what happened to you? I have now tested the following browsers on Ubuntu 20.04 (could this have something to do with differences between builds for different operating systems?): Brave 1.22.70, Chromium 91.0.4460, Google Chrome 89.0.4389 and Vivaldi 3.7.2218 and both extensions (chromium-cleaner, Chromium Web Store) are working fine under Chromium, Chrome and Vivaldi. The only browser blocking these is Brave. All browsers were tested with an active internet connection and with a clean profile. I did the following: Install the browser, open each browser, go to The results under Windows are actually quite a bit different: Google Chrome and Microsoft Edge disable the sideloaded extensions, but Chromium and Vivaldi leave them activated. |
@esjarc thanks for the detailed information - it must be platform specific. I tried on Ubuntu 18 and confirmed Brave doesn't load (doesn't matter if in dev mode or not). Chrome however DOES work in dev mode. I can look at solving this problem- looks like we unintentionally are not matching Chrome for some reason on Linux |
Quick update - I created a separate issue for how we're not matching Chrome/Chromium on Linux: Thanks @esjarc for helping ID the bug there 😄 That issue aside, we should be matching Chrome/Chromium and not doing anything intentional. I have a pull request open solving the Linux issue (see brave/brave-core#8392) which is going through security review. I also raised this overall issue (being able to install signed CRX which are not in store) with the team too - they're going to evaluate the ask in this issue too. We usually try to match Chromium - but this will become a larger issue when manifest v3 comes into play (which we aren't going to do, as far as I know). Stay tuned for comments from security folks |
@bsclifton Good to see progress on this issue, thank you for taking the time to review this issue and its comments here and creating a fix for this regression! Personally I would like to see a switch (e. g. a flag in |
Curious if folks would be able to get this working with the steps shared in https://developer.chrome.com/docs/extensions/mv3/external_extensions/ (the path would be different for Brave; edit: just now saw above in post by @esjarc that it does indeed work! Sorry I had missed that |
OK folks - thanks for your patience on this 😄 I reviewed this issue with security/privacy folks here at Brave we agreed on the following plan:
Given the above plan, we agreed to close this issue (offering an in-app way to bypass the security check; ex: feature flag) as
I know this isn't the solution everybody wants - I championed the best I could. However, I am glad we:
|
I have sufficiently checked the issues tracker and checked the Reddit group regarding my issue.
Description
It is impossible to install third-party CRX files. Installing self-signed CRX files is vital for testing while creating extensions. When trying to adding a
.crx
file after enabling Developer Mode, Brave tells the user it is not listed on the "Brave Web Store" (which I assume is the Chrome Web Store). A lot of extensions cannot be listed on the Chrome Web Store (i.e. doesn't meet TOS), and Developers who are testing extensions cannot develop on Brave.Steps to Reproduce
brave://extensions
.brave://extensions
.Actual result:
Expected result:
The extension should be allowed to enable, even if it isn't on the Chrome Web Store.
Reproduces how often:
Easily repeatable.
Brave version (brave://version info)
Reproducible on current release:
Website problems only:
Additional Information
Extension being tested: https://github.com/rushilsrivastava/OpenNews/releases
The text was updated successfully, but these errors were encountered: