How to Locate Update URLs for Chrome Extensions in Group Policy Deployment


2 views

When configuring force-installed extensions via Group Policy, you need both the extension ID and update URL. The extension ID can be found in chrome://extensions, but the update URL requires deeper inspection.

Google Chrome extensions use the following update URL format:

https://clients2.google.com/service/update2/crx

This is the universal update URL for all extensions in the Chrome Web Store.

For extensions like AdBlock or Google Mail Checker, you can extract the update URL:

  1. Visit the extension's Chrome Web Store page
  2. View page source (Ctrl+U)
  3. Search for "update_url" in the source code

Here's a sample registry entry for forcing extension installation:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\ExtensionInstallForcelist]
"1"="cjpalhdlnbpafiamejdnhcphjbkeiagm;https://clients2.google.com/service/update2/crx"

For enterprise-deployed extensions not in the Web Store, you can host your own update manifest:

{
  "name": "MyExtension",
  "version": "1.0",
  "update_url": "https://yourdomain.com/update.xml"
}
  • Ensure the extension ID is exactly 32 characters
  • The update URL must use HTTPS protocol
  • Group Policy updates may take several minutes to apply

When configuring Chrome extensions through Group Policy for enterprise deployment, you'll need two critical pieces of information for each extension:

  1. The extension ID (32-character string)
  2. The extension update URL

The update URL for Chrome extensions follows a standard format:

https://clients2.google.com/service/update2/crx?response=redirect&acceptformat=crx2,crx3&x=id%3D[EXTENSION_ID]%26uc

For example, for AdBlock (extension ID: gighmmpiobklfepjocnamgkkbiglidom), the update URL would be:

https://clients2.google.com/service/update2/crx?response=redirect&acceptformat=crx2,crx3&x=id%3Dgighmmpiobklfepjocnamgkkbiglidom%26uc

Here's a Python function to automatically generate update URLs:

def generate_chrome_update_url(extension_id):
    base_url = "https://clients2.google.com/service/update2/crx"
    params = {
        'response': 'redirect',
        'acceptformat': 'crx2,crx3',
        'x': f"id%3D{extension_id}%26uc"
    }
    query_string = '&'.join(f"{k}={v}" for k, v in params.items())
    return f"{base_url}?{query_string}"

# Example usage:
adblock_id = "gighmmpiobklfepjocnamgkkbiglidom"
print(generate_chrome_update_url(adblock_id))

For the Group Policy setting "Configure the list of force-installed extensions", you'll need to specify entries in this format:

{
  "extension_id1": "update_url1",
  "extension_id2": "update_url2"
}

Here's a complete example configuration for two popular extensions:

{
  "gighmmpiobklfepjocnamgkkbiglidom": "https://clients2.google.com/...gighmmpiobklfepjocnamgkkbiglidom%26uc",
  "pjkljhegncpnkpknbcohdijeoejaedia": "https://clients2.google.com/...pjkljhegncpnkpknbcohdijeoejaedia%26uc"
}

After deployment, verify the extensions are properly installed by:

  1. Navigating to chrome://extensions
  2. Checking for the "Installed by enterprise policy" label
  3. Confirming the extension version matches the latest available in Chrome Web Store