Can I install extensions or themes from the Chrome Webstore? Yes, but not via the Chrome Webstore interface. Instead, the URL used by the Webstore to download CRX files (Chrome/Chromium extension packages, used by all extensions in the Chrome Webstore) can be used. If you want a comprehensive solution that handles installation and updates, see the chromium-web-store extension. The following sections describe a method using built-in functionality. Downloading the CRX file CRX files are downloaded using the following template CRX URL: https://clients2.google.com/service/update2/crx?response=redirect&acceptformat=crx2,crx3&prodversion=[VERSION]&x=id%3D[EXTENSION_ID]%26installsource%3Dondemand%26uc[/color] Where: [EXTENSION_ID] is the extension ID from the Chrome Webstore. This can be retrieved from the Chrome Webstore URL for that extension, which has the form https://chrome.google.com/webstore/detail/[...]/[EXTENSION_ID] [VERSION] is the Chromium browser version. For example, cjpalhdlnbpafiamejdnhcphjbkeiagm is the extension id of uBlock Origin, and 69.0 is for the 69.0.x.x browser versions. This URL can be accessed directly by CLI utilities like curl and wget, but it can also be accessed in two other ways: Custom search engine: Create a new entry in chrome://settings/searchEngines, using the template CRX URL as the search URL above after replacing [EXTENSION_ID] with %s. Then, set chrome://flags/#extension-mime-request-handling to Download as regular file. Bookmarklet (proposed in Issue #869): Go to chrome://bookmarks/ Right click anywhere to select ‘Add new Bookmark. Copy the following into the URL field: javascript:location.href='https://clients2.google.com/service/update2/crx?response=redirect&acceptformat=crx2,crx3&prodversion='+(navigator.appVersion.match(/Chrome\/(\S+)/)[1])+'&x=id%'+'3D'+(document.querySelector('a[href^="./detail"][href$="/report"]').pathname.match(/([^\/]+)\/report$/)[1])+'%'+'26installsource%'+'3Dondemand%'+'26uc'; Then, go to the extension page in the Chrome Web Store and click on the bookmark. Installing the CRX file There are several methods to install CRX file: Always install extension MIME type requests Change the flag chrome://flags/#extension-mime-request-handling to Always prompt for install. Then when using the CRX URL from the omnibox, the custom search engine, or the Bookmarklet, the browser will prompt for installation. The file:// URI scheme Launch ungoogled-chromium with the path to the CRX file as a command-line argument (this creates and navigates to a file:// URL automatically). Invoking an “open with” command (or equivalent name) on the CRX file should have the same effect. Alternatively, navigate to the URL file://PATH_TO_CRX in the Omnibox, where PATH_TO_CRX is the absolute path to the CRX file using forward slashes. On Windows, you will need to add the drive letter. For examples and more details, see file URI scheme on Wikipedia. Drag and drop NOTE: There are certain circumstances where this method fails on KDE Plasma. NOTE for Chromium 67 and newer: If the Material Design page is used (which has been default before 67), “Developer mode” of chrome://extensions/ (a switch at the top right corner) must be enabled for drag and drop to function. (Discovered in #423) Steps: Have the CRX downloaded to your file system Open chrome://extensions. Refresh if you just enabled Developer Mode. Drag-and-drop the CRX from a file browser into the page of the extensions tab. While dragging over the page, it should state to drop the file to install. External Extension Descriptor (Linux systems only) This example assumes the CRX is downloaded as /home/share/extension_1_0_0.crx. Modify the path as necessary. To install an extension with ID aaaaaaaaaabbbbbbbbbbcccccccccc, create the file /usr/share/chromium/extensions/aaaaaaaaaabbbbbbbbbbcccccccccc.json with following content: { "external_crx": "/home/share/extension_1_0_0.crx", "external_version": "1.0.0" } After restarting the browser, the extension should be loaded automatically. |