/
Configuring automatic install of custom, unsigned extension in Chrome

Configuring automatic install of custom, unsigned extension in Chrome

Customers who build their own extensions don’t always want to go through the hassle of supporting and signing extensions, and while you can manually add an extension from an unpacked source via the developer interface in the extensions management page, many customers want to be able to force install these extensions for their users - and update that extension without having to distribute it to users.

 Instructions

This is comprised of 3 parts,

  1. Add the zipped, unsigned extension to the workspace (or group) file mapping.

    1. Type: File Upload - select the zipped directory containing the unsigned extension NOTE: Do not select the files and zip, zip the whole directory
    2. Name: Use whatever name you want
    3. Description: Use whatever description you want
    4. Destination Path: I recommend something like, /tmp/extension/simple-chrome-extension-master.zip
    5. Writeable: False Executable: False NOTE: Does not seem to matter if these are true or false
  2. Configure the Docker Run Config Override to pass an additional “load-extension” Chrome command-line option to the startup in the workspace. (Obviously change the file path and name accordingly.)

    { "hostname": "kasm", "environment": { "APP_ARGS": "--load-extension=/tmp/extension/simple-chrome-extension-master" } }

     

  3. Configure the Docker Exec Config to unzip the loaded unsigned extension into the location for the Docker Run Config Override to force load the extension into the Chrome session. (Obviously change the file path and name accordingly.)

    { "first_launch": { "user": "root", "cmd": "bash -c 'unzip /tmp/extension/simple-chrome-extension-master.zip -d /tmp/extension/'" } }

     

Some things to be aware of:

  • There is no way to force pin these extension to the extension bar, you will have to manually pin the extension after load, but if you have persistence configured the pinning of the unsigned extension will be persisted

  • This does not interfere with other managed Chrome policies (including forcing the install and pinning of signed extensions)

  • You can only force install a single unpacked extension, there is no way to load multiple extensions via the current command-line arguments provided by Chromium

 

Here is a basic/simple unsigned extension you can use for testing


Related Docs:

  • None (we should create one probably)

 Related articles

  • None

 

Related content