Chrome WebExtension - частный магазин и корпоративная среда - PullRequest
0 голосов
/ 16 ноября 2018


Я пытаюсь опубликовать расширение Chrome в частном магазине и распространить его с помощью групповой политики.
Для этого я использую следующие ссылки:

Я на 100% уверен, что объект групповой политики настроен правильно (если я использую тот же объект групповой политики для распространения расширения, опубликованного в онлайн-магазине Chrome, это работает).
К сожалению, как мое личное расширение (строка в разделе Configure the list of force-installed apps and extension: [my_extension_id];[my_xml_url]), так и пример расширения (строка: bcanfnleljfidkjhhfknjjiicdonddad;https://sites.google.com/site/pushcrx/privatewebstore/2hrtimer.xml) не установлены на машине, контролируемой доменом.
У меня вопрос: я делаю что-то не так или изменились политики Google Chrome, а приведенные выше примеры устарели?
Большое спасибо,
Даниэле

1 Ответ

0 голосов
/ 19 ноября 2018

Чтобы опубликовать, развернуть и обновить расширение Chrome вне Google Chrome Store, необходимо следовать приведенному ниже руководству.

1.Архитектура
В первую очередь необходимо определить имена CRX и XML и URL-адрес, где они будут развернуты.
Что касается этого примера:

2.JSON Manifest
Как указано в , эта ссылка, update_url (где может быть найден XML для обновления) должна содержаться в манифесте JSON: для этого необходимо вставитьследующая строка в файл JSON.

{
    [...],
    "update_url": "https://my.server/resources/myXML.xml",
    [...]
}

3.Создание CRX и закрытого ключа
Создание CRX и PEM может быть выполнено в соответствии с этим руководством.
В конце процесса будут созданы два файла (CRX иPEM): после этого необходимо переименовать их в myCRX.crx и myPEM.pem соответственно.

4.Извлечение открытого ключа
Извлечение открытого ключа можно выполнить, выполнив следующую команду из папки, в которой находится PEM:

openssl.exe rsa -in myPEM.pem -pubout > myPEM_pub.pem

После этого новый файл, содержащий открытый ключ(с именем myPEM_pub.pem) будет создан.

5.Извлечение идентификатора расширения
Извлечение идентификатора расширения может быть выполнено в соответствии с этим руководством.
В частности, необходимо загрузить файл extension_id.py, скопировать его в папку, содержащуюФайл myPEM_pub.pem и выполните из этой же папки следующую команду:

python extension_id.py myPEM_pub.pem

Примечание: если вы используете Python 3, вам нужно изменить строку 94 файла extension_id.pyот

with file(first_arg) as f: 

до

with open(first_arg) as f:

Вывод команды будет следующим:

[...]
Extension ID: <myExtensionID>
[...]

6.Создание XML-файла
Чтобы правильно развернуть расширение, необходимо создать обновленный XML-файл (в данном примере с именем myXML.xml).
В этом случае его содержимое будет:

<?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
  <app appid='<myExtensionID>'>
    <updatecheck codebase='https://my.server/resources/myCRX.crx' version='<myExtensionVersion>' />
  </app>
</gupdate>

Примечание: необходимо заменить следующие записи правильными значениями

  • <myExtensionID>, вывод пункта 5
  • https://my.server/resources/myCRX.crx, определено в пункте 1
  • <myExtensionVersion>, определено в файле манифеста

7.Публикация
Для правильной настройки среды необходимо опубликовать CRX, созданный в пункте 3, и XML, созданный в пункте 6, по URL-адресам, определенным в пункте 1.

8,Развертывание
Развертывание расширения можно выполнить, следуя инструкции .
В частности, необходимо добавить в список принудительно установленных приложений и расширение следующую строку:

<myExtensionID>;https://my.server/resources/myXML.xml

Примечание: необходимо заменить следующие записи правильными значениями

9.Обновление - создание CRX
Чтобы обновить расширение, необходимо создать новый пакет CRX с обновленным номером версии (в данном примере <myNewExtensionVersion>).
Создание CRX можно выполнить следующим образом. это руководство.
Примечание: для того, чтобы этот процесс работал, необходимо выбрать ключ myPEM.pem, созданный в пункте 3.

10.Обновление - публикация
Чтобы опубликовать обновление, необходимо переименовать CRX, созданный в пункте 9, в myCRX.crx и изменить номер версии в XML, созданном в пункте 6 (см. Ниже).

<?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
  <app appid='<myExtensionID>'>
    <updatecheck codebase='https://my.server/resources/myCRX.crx' version='<myNewExtensionVersion>' />
  </app>
</gupdate>

После этого последним, что необходимо сделать для обновления, является публикация CRX и XML по URL-адресам, определенным в пункте 1.

...