Factsheet
Chrome Web Store any good?
How to download a Chrome extension that's no longer on the Web Store?
Custom Chrome Extension for internal distribution without Chrome Web Store
Install Chrome extension form outside the Chrome Web Store - Stack Overflow
Videos
The direct link to your Chrome Web Store item should be like this: https://chrome.google.com/webstore/detail/extension_id - just replace the extension_id with actual id.
In August 2021, this seems to work:
https://chrome.google.com/webstore/search/extension_id?hl=en-US
Or you can just type the extension id in the search box on the Chrome web store, it should work even if they change the URL in the future.
I talked to hundreds of developers this week and came to realise that it just takes weeks or often many days to get an extension approved.
Most permissions aren't even required in that case.
I felt the same problem when launching my own extension which took 5 days.
My simple question would be if there had been a better place or platform to put out your extensions where it gets improved in minutes... and your users can try it within minutes.
Would any of you consider a switch?
Does anyone know if it is possible to download a Chrome extension you have installed but is no longer on the Web Store into a CRX or ZIP file? On Windows I can use "pack" in developer mode in the Chrome browser, but I'm not sure I can access the file path without putting the Chromebook in developer mode, which I know factory resets your Chromebook. Would I still have my extensions after switching to developer mode if they're not on the Web Store any more? I am hoping there might be an extension that lets me download the installed ones as a CRX file. So far the only CRX downloader extensions I have found require going to the Web Store page, which doesn't work with the ones I want to download since they aren't available there any more. Thanks for any suggestions!
Update: So I haven't found a good way to pack or download extensions (maybe in developer mode on Chrome OS, but then that will probably clear the extensions). However, I found two sites that are great repositories of past Chrome extensions: https://chrome-stats.com/ (very thorough but pricey if you need past versions) and https://www.crx4chrome.com/ (less thorough but completely free even for past versions). So if you need to backup an extension that isn't on the Web Store any more and you're on a Chromebook (with all the file limitations that presents making packing extensions difficult), I'd recommend searching for your extension on those two sites and hopefully you can find it and download it!
Chrome currently offers two primary enterprise-friendly, non-Web Store distribution methods for Manifest V3 extensions.
1.Enterprise Policy Deployment (the clean, no-warning way)
Distribute the extension via Chrome's enterprise policies (managed configuration), typically via the ExtensionInstallForcelist or ExtensionSettings policy.
Advantages
No "Developer mode" warning
Seamless background installation
Updates handled via your own update URL or local network share
Supports Windows, Mac, and Linux (with appropriate policy deployment tools)
How it works
Package your extension as a .crx and sign it
Host it internally (HTTP/S server or file share)
Use enterprise policies (via Group Policy on Windows, plist config profiles on Mac, or JSON policy files on Linux)
Example (Windows Group Policy Registry key)
[HKEY_LOCAL_MACHINE\Software\Policies\Google\Chrome\ExtensionInstallForcelist]
"1"="your-extension-id;https://your-internal-server.com/extension.crx"
Or via JSON policy (Linux / Mac / Chrome Cloud Management)
{
"ExtensionInstallForcelist": [
"your-extension-id;https://your-internal-server.com/extension.crx"
]
}
This is the recommended and only "official" way to avoid warnings.
Resources
Chrome Enterprise Policy List
ExtensionInstallForcelist docs
2. Chrome Web Store Private Listing (if cloud-managed users only)
Main issue is methods will still trigger the Developer Mode warning (like Developer Mode extensions (via chrome://extensions → Load unpacked) → Warning on every restart) & need to upload on Web Store as unlisted or private.
You can host an update.xml manifest on your internal server and let Chrome handle updates, just like the Web Store does.
<?xml version="1.0" encoding="UTF-8"?>
<gupdate xmlns="http://www.google.com/update2/response" protocol="2.0">
<app appid="your-extension-id">
<updatecheck codebase="https://your-server.com/extension.crx" version="1.2.3"/>
</app>
</gupdate>
Maybe it depends on functions used in plugin scripts which actions and permissions not described properly in manifest. I have plugin for analyzing ad blocks on pages. It has background script, config page/script, and it injects js into pages and shows there div with statistics, but it starts only manualy from browser plugins panel. And my plugins in developer mode. It never show any popup when browser starts.
Here is my manifest if it can be helpful:
{
"manifest_version": 3,
"name": "XXX",
"description": "XXX extension shows statistics",
"version": "3.1.7",
"icons": {
"16": "f1_16.png",
"48": "f1_48.png",
"128": "f1_128.png"
},
"action": {
"default_icon": {
"16": "f1_16_grey.png"
},
"default_title": "XXX",
"default_popup": "popup.html"
},
"options_ui": {
"page": "options.html"
},
"background": {
"service_worker":"bg.js"
},
"content_scripts": [
{
"matches": ["https://*/*", "http://*/*"],
"js": ["s_lib.js", "content.js"],
"css": ["content.css"],
"run_at": "document_start",
"all_frames": true,
"match_about_blank": true
}
],
"web_accessible_resources": [
{
"resources": [ "s_lib.js", "content.js", "inject_content.js", "f1_48.png" ],
"matches": [ "https://*/*", "http://*/*" ]
}
],
"permissions": [
"tabs",
"activeTab",
"storage",
"webNavigation",
"webRequest"
]
}
For regular Windows users who are not skilled with computers, it is practically not possible to install and use extensions from outside the Chrome Web Store.
Users of other operating systems (Linux, Mac, Chrome OS) can easily install unpacked extensions (in developer mode).
Windows users can also load an unpacked extension, but they will always see an information bubble with "Disable developer mode extensions" when they start Chrome or open a new incognito window, which is really annoying. The only way for Windows users to use unpacked extensions without such dialogs is to switch to Chrome on the developer channel, by installing https://www.google.com/chrome/browser/index.html?extra=devchannel#eula.
Extensions can be loaded in unpacked mode by following the following steps:
- Visit
chrome://extensions(via omnibox or menu -> Tools -> Extensions). - Enable Developer mode by ticking the checkbox in the upper-right corner.
- Click on the "Load unpacked extension..." button.
- Select the directory containing your unpacked extension.
If you have a crx file, then it needs to be extracted first. CRX files are zip files with a different header. Any capable zip program should be able to open it. If you don't have such a program, I recommend 7-zip.
These steps will work for almost every extension, except extensions that rely on their extension ID. If you use the previous method, you will get an extension with a random extension ID. If it is important to preserve the extension ID, then you need to know the public key of your CRX file and insert this in your manifest.json. I have previously given a detailed explanation on how to get and use this key at https://stackoverflow.com/a/21500707.
For Windows, you can also whitelist your extension through Windows policies. The full steps are details in this answer, but there are quicker steps:
- Create the registry key
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\ExtensionInstallAllowlist. - For each extension you want to whitelist, add a string value whose name should be a sequence number (starting at 1) and value is the extension ID.
For instance, in order to whitelist 2 extensions with ID aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa and bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb, create a string value with name 1 and value aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, and a second value with name 2 and value bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb. This can be sum up by this registry file:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome]
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\ExtensionInstallAllowlist]
"1"="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
"2"="bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
EDIT: actually, Chromium docs also indicate how to do it for other OS.
EDIT (06/05/2022): ExtensionInstallWhitelist is deprecated since Chrome 100, it has been renamed to ExtensionInstallAllowlist (answer updated)
For context, I’m a full-stack web developer, and we control our servers. We decide what goes in there and when to roll out an update or fix a bug.
Recently, I worked on an extension for GPT to help me organize my chats by creating folderz, bookmarking important chats and searching through my pile of chats to quickly find what I'm looking for & stop wasting time looking for an amazing chats I've had.
Then I decided to publish it but when you want to publish your extension on the Chrome Web Store, you have to submit it for review. So, in my first submission, I shipped a bug, a user found it & reported it to me, and it took me literally 10 minutes to fix it. However, the problem is that even for the smallest updates and fixes, you have to resubmit for a review. So, I did—and it took Google two freaking days to approve it.
I was like… f*king hell! But then, a few days later, I wanted to ship a new feature. I zipped the code, submitted it. This time it took Google a full 5 days to approve it! Idk what you think but this experience is killing me and makes me love the web even more. But also makes me wonder, how's it to develop for IOS store?
Anyone here have similar experience ?