Private hosting for enterprises
Host the extension on your own server, for networks that can't reach the Chrome Web Store or Edge Add-ons
With an Enterprise licence, you can host the extension on your own web server, for networks that can’t reach the Chrome Web Store or Edge Add-ons, including air-gapped ones. We send you the build. This page applies to both Chrome and Edge.
For the details of hosting extensions yourself, see the official documentation for Chrome
and Edge
.
Requirements:
To host the extension, you need a web server to host the extension’s CRX and manifest.xml files.
The browsers download the files with no login, so the location must not require authentication, and every desktop that runs the extension must be able to reach it.
This page assumes you know how to set browser policies with Group Policy or the Windows Registry.
The CRX File
The CRX file is a compressed format used for extensions in browsers that are part of the Chromium family, such as Google Chrome and Edge.
We send you either the extension’s CRX file or its files in a zip. With the zip, you pack the extension yourself. See packing the extension in Chrome and Edge.
Host the CRX file on your network, at a URL the browsers can reach.
Extension ID
The extension ID is a unique identifier used to differentiate one extension from another. It is required when configuring extensions using the Windows Group Policy Editor or setting them in the registry.
We send you the build’s extension ID, or you can find it yourself. To obtain the extension ID for a custom build, drag the CRX file onto your browser’s extensions page. You can navigate there by clicking the three dots in the top-right corner of the browser and selecting Extensions. Once the extension is loaded, you can note the ID.
Manifest XML file
To self host the extension you will also need a manifest XML file. The file contains important information of the extension:
appid- The extension ID from the previous step.codebase- The download URL for the CRX file.version- The version of the extension. Can be retrieved fromchrome://extensions/,edge://extensions/or it was provided by us.
If we provided you with the manifest.xml file you can skip this step. Otherwise you can use this template to create your own:
<?xml version='1.0' encoding='UTF-8'?><gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'> <app appid='exampleid'> <updatecheck codebase='https://app.somecompany.com/extension.crx' version='1.0' /> </app></gupdate>You will need to update the appid, codebase and version attributes to ensure it works with your custom build.
The appid should be changed to the extension ID you noted previously. The codebase string should be the public URL of the extension’s CRX file.
And the version should be changed to the actual extension version.
Just like with the CRX file, you will need to host the manifest.xml file, and it should be accessible via a URL.
You will need this URL to create the policy string when configuring the extension.
Hosting the extension files
The server hosting your extension’s CRX files must employ appropriate HTTP headers to allow users to install the extension through a link. Browsers belonging to the Chromium family (such as Google Chrome and Edge) consider a file installable, if it follows conditions:
- The file has the content type
"application/x-chrome-extension". - The file suffix is .crx, and both conditions are met:
- The file is not served with the HTTP header
"X-Content-Type-Options: nosniff". - The file is served with one of the specified content types:
empty string,"text/plain","application/octet-stream","unknown/unknown","application/unknown"or"/".
- The file is not served with the HTTP header
If the browser won’t install the file, change the server’s headers, or host the .crx file on another server.
Distributing the extension
To let users install the self-hosted extension, add its extension ID to the ExtensionInstallAllowList policy
and add the URL of the location where the CRX file is hosted to the ExtensionInstallSources policy.
Alternatively, you can use group policy ExtensionInstallForceList to install the extension on your users’ devices without asking them.
For a self-hosted extension, each entry of the
ExtensionInstallForceList policy has the form extension_id;update_url where update_url points to the location of the manifest XML
file. For example:
exampleid;https://example.net/manifest.xmlTo configure the extension further, see configure the extension for enterprises.