Я пытаюсь разместить расширение Chrome на своем собственном сервере.У меня действительно странная проблема, когда время от времени я устанавливаю расширение, указывая мой браузер на .crx, и он устанавливает версию расширения с другим appid
, которая имеет кодовую базу, которая восходит кпару недель назад.
Я подозреваю, что у меня как-то есть 2 идентификатора расширения в игре.Тот, который представляет текущую кодовую базу, и другой, который вошел в микс некоторое время назад.
Есть ли способ, которым я могу предотвратить возникновение этой путаницы?
Более подробное описание
В самом начале процесса разработки моего расширения номер версии в моем manifest.json был некоторое время установлен на "1.0".
Как только разработка начала стабилизироваться, я сбросил номер версии на "0.0".1 "и увеличивал его с этой точки всякий раз, когда я нажимал изменения.
Всякий раз, когда я увеличивал номер версии, я упаковывал расширение и scp
на свой сервер.Ниже приведены важные части этого процесса:
Упаковка расширения:
'/Applications/Google Chrome.app/Contents/MacOS/Google Chrome' --pack-extension=<PATH TO UNPACKED EXTENSION> --pack-extension-key=<GENERATED KEY>
Это закрытый ключ .pem
, который был сгенерирован chrome при первой упаковке расширения (ядумаю, это трудно вспомнить, так как я впервые запаковал его некоторое время назад).
Копирование .crx на сервер:
scp -P <PORT> extension.crx <PATH TO SERVER>
Копирование файла update.xml на сервер:
scp -P <PORT> update.xml <PATH TO SERVER>
Файл update.xml:
Это стандартный файл update.xml.Номер версии и местоположение .crx соответствуют ожидаемым.Единственная потенциально интересная вещь - это appid
.В один момент я получил это appid
со страницы управления Chrome Extensions.
<?xml version="1.0" encoding="UTF-8"?>
<gupdate xmlns="http://www.google.com/update2/response" protocol="2.0">
<app appid="cdlhmlllfilohhmmpakbcdfaabannega">
<updatecheck codebase="<EXTENSION CRX LOCATION>" version="0.0.21"/>
</app>
</gupdate>
На этом этапе я могу зайти на свой сервер по протоколу ssh, распаковать расширение, проверить номер версии и прочитать базу кодов ивсе будет обновлено и, как и ожидалось.
Затем я укажу свой браузер на <EXTENSION CRX LOCATION>
и установлю расширение.Номер версии будет неправильным, appid
не будет совпадать с номером в update.xml
, а кодовая база будет с недель назад.