Чтобы опубликовать, развернуть и обновить расширение 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>
Примечание: необходимо заменить следующие записи правильными значениями
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.