Создайте файл .CRX (расширение chrome/webapp) по запросу, используя PHP

Мне нужно создать файл CRX на лету. Это для моей серверной части CMS, так что это будет только для аутентифицированных пользователей, которые могут установить серверную часть CMS как веб-приложение и предоставить дополнительные привилегии веб-приложению. Проблема в том, что бэкэнд используется для многих доменов, поэтому создание CRX-файла для каждого из них — довольно сложная задача. Поэтому я решил, что будет проще просто создать файл CRX по запросу, который будет генерироваться PHP с использованием собственного домена и, возможно, пользовательского значка.


person Frodik    schedule 30.01.2011    source источник
comment
Каков ваш точный вопрос? Исходя из ASP.NET, я бы решил эту проблему, просто создав строку с необходимым содержимым и транслировать его в браузер, используя правильный тип MIME. (например, используя значение content-disposition и другие вещи)   -  person Uwe Keim    schedule 30.01.2011
comment
Да, это не проблема, я могу это сделать. Мой вопрос в том, есть ли у кого-то класс PHP или какой-то фрагмент кода, используемый для создания файлов CRX. CRX на самом деле переименован в ZIP-файл с некоторой заданной файловой структурой. Я мог бы пойти и проанализировать файл CRX и попытаться создать его, я просто подумал, что кто-то уже делал это раньше, хотя я не нашел ничего подходящего, погуглив   -  person Frodik    schedule 30.01.2011


Ответы (3)


На странице документации они объясняют формат пакета CRX. Есть много сторонних библиотек, которые реализовали этот формат. На следующей странице вы можете изучить формат и либо загрузить сценарий Ruby/Bash (вы также можете найти другие в Интернете), и если вы хотите реализовать свой собственный упаковщик, вы можете следовать описанному там формату.

https://developer.chrome.com/extensions/crx

Если вы действительно не хотите следовать формату, вы можете позволить своему PHP-скрипту выполнить одно из следующих действий:

  1. Использовать двоичный файл Chrome chrome.exe --pack-extension=c:\myext --pack-extension-key=c:\myext.pem
  2. Используйте скрипт Ruby или Bash из PHP (можно вызывать системные команды)

Надеюсь, это поможет!

person Mohamed Mansour    schedule 30.01.2011

Кроме того, для тех, кто все еще ищет способ создать CTX в PHP, посмотрите на этот вопрос: Создать файл Google Chrome Crx с помощью PHP

person tutuDajuju    schedule 28.11.2011

Похоже, я нашел именно то, что искал. Команда разработчиков Chrome ввела этот параметр для создания веб-приложений без CRX, просто с помощью простого файла манифеста.

Гораздо проще создать собственное веб-приложение и опубликовать его на веб-сайте для установки. И это также решает мою проблему, когда у меня много веб-сайтов с большим количеством доменов, и мне не нужно создавать собственный файл CRX для каждого домена. Я просто создаю небольшой PHP-скрипт, который на лету создает файлы манифеста для каждого домена.

person Frodik    schedule 04.02.2011
comment
И я забыл упомянуть, что эта функция является экспериментальной, поэтому вы должны включить ее на странице about:flags. Однако я надеюсь, что он попадет в стабильную версию Chrome, поскольку это действительно хорошая идея, как легко создавать устанавливаемые веб-приложения с параметрами привилегий. - person Frodik; 04.02.2011