Альтернативные варианты распространения расширений

Все расширения Chrome необходимо распространять либо непосредственно из Интернет-магазина Chrome, либо с помощью механизмов, описанных ниже. Несоблюдение одного из этих методов распространения представляет собой нарушение политики расширений Chrome и может привести к тому, что расширение и/или распространяющее его программное обеспечение будет помечено как нежелательное программное обеспечение .

Обычно пользователи устанавливают расширения из Интернет-магазина Chrome, но иногда вам может потребоваться установить расширение другими способами. Вот два типичных случая:

  • Расширение связано с каким-либо другим программным обеспечением, и расширение должно устанавливаться каждый раз, когда пользователь устанавливает это другое программное обеспечение.
  • Сетевой администратор хочет установить одни и те же расширения во всей своей организации.

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

  • Использование файла настроек JSON (только для Mac OS X и Linux)
  • Использование реестра Windows (только для Windows)

Оба способа поддерживают установку расширения, размещенного по update_URL . В Windows и Mac update_URL должен указывать на Интернет-магазин Chrome, где должно быть размещено расширение.

Файл настроек в Linux может указывать на ваш собственный сервер, на котором вы размещаете расширение . Файл настроек JSON также поддерживает установку расширения из файла расширения .crx на компьютере пользователя с Linux.

Прежде чем вы начнете

Сначала опубликуйте расширение в Интернет-магазине Chrome или упакуйте файл .crx и убедитесь, что оно успешно установлено.

При установке с URL-адреса обновления убедитесь, что расширение правильно размещено .

Прежде чем редактировать файл настроек или реестр, обратите внимание на следующее:

  • Предполагаемое расположение файла расширения .crx или URL-адрес обновления, с которого он обслуживается.
  • Версия расширения (из файла манифеста или страницы chrome://extensions ).
  • Идентификатор расширения (со страницы chrome://extensions при загрузке упакованного расширения)

В следующих примерах предполагается, что версия — 1.0 , а идентификатор — aaaaaaaaaabbbbbbbbbbcccccccccc .

Использование файла настроек

  1. Если вы выполняете установку из файла в Linux, сделайте файл расширения .crx доступным для компьютера, на котором вы хотите установить расширение. (Скопируйте его в локальный каталог или в сетевую папку, например, \\server\share\extension.crx или /home/share/extension.crx .)
  2. Создайте файл со следующим именем в одной из папок, перечисленных ниже: aaaaaaaaaabbbbbbbbbbcccccccccc.json , где имя файла (без расширения) соответствует идентификатору вашего расширения. Местоположение зависит от операционной системы.

    Mac OS X:

    Для конкретного пользователя: ~USERNAME/Library/Application Support/Google/Chrome/External Extensions/ Для всех пользователей: /Library/Application Support/Google/Chrome/External Extensions/

    Внешний файл расширения для всех пользователей доступен для чтения только в том случае, если каждый каталог в пути принадлежит пользователю root , имеет admin группы или wheel и не доступен для записи всем пользователям. Путь также не должен содержать символических ссылок. Эти ограничения не позволяют непривилегированному пользователю устанавливать расширения для всех пользователей. Подробности см. в разделе «Устранение неполадок» .

    Линукс:

    /opt/google/chrome/extensions/

    /usr/share/google-chrome/extensions/

    Примечание. При необходимости используйте chmod , чтобы убедиться, что файлы aaaaaaaaaabbbbbbbbbbcccccccccc.json доступны для чтения всем.

  3. Только для Linux: если вы устанавливаете из файла, укажите местоположение и версию расширения в полях с именами «external_crx» и «external_version» в файле, созданном выше.

    • Пример:
    • json { "external_crx": "/home/share/extension.crx", "external_version": "1.0" }
    • Примечание. Вам необходимо экранировать каждый \` character in the location. For example, \server\share\extension.crx would be "\\server\share\extension.crx"`.
    • Если вы выполняете установку с URL-адреса обновления, укажите URL-адрес обновления расширения с именем поля «external_update_url».
    • Пример установки из локального файла .crx (только Linux):
    • json { "external_update_url": "http://myhost.com/mytestextension/updates.xml" }
    • Пример установки из интернет-магазина Chrome (Mac и Linux):
    • json { "external_update_url": "https://clients2.google.com/service/update2/crx" }
    • Если вы хотите установить расширение только для некоторых локалей браузера, вы можете указать поддерживаемые локали в поле с именем «supported_locale». В локали может быть указан родительский локаль, например «en», в этом случае расширение будет установлено для всех английских локалей, таких как «en-US», «en-GB» и т. д. Если выбран другой локаль браузера, который не поддерживается расширением , внешние расширения будут удалены. Если список «поддерживаемые_локали» отсутствует, расширение будет установлено для любой локали.
    • Пример:
    • json { "external_update_url": "https://clients2.google.com/service/update2/crx", "supported_locales": [ "en", "fr", "de" ] }
  4. Сохраните файл JSON.

  5. Запустите Google Chrome и перейдите по адресу chrome://extensions ; вы должны увидеть расширение в списке.

Устранение проблем с разрешениями Mac OS

В Mac OS файлы внешних расширений для всех пользователей читаются только в том случае, если разрешения файловой системы не позволяют непривилегированным пользователям изменять их. Если вы не видите установленных внешних расширений при запуске Chrome, возможно, возникла проблема с разрешениями файлов настроек внешних расширений. Чтобы убедиться, что проблема в этом, выполните следующие действия:

  1. Запустите консольную программу. Вы можете найти его в разделе /Приложения/Утилиты/Консоль.
  2. Если на крайнем левом значке консоли написано «Показать список журналов», щелкните этот значок. Слева появится второй столбец.
  3. Нажмите «Консольные сообщения» на левой панели.
  4. Найдите строку. Невозможно прочитать внешние расширения . Если возникнет проблема с чтением файлов внешних расширений, вы увидите сообщение об ошибке. Найдите другое сообщение об ошибке прямо над ним, которое должно объяснить проблему. Например, если вы видите следующую ошибку: «Путь /Library/Application Support/Google/Chrome принадлежит не той группе», вам необходимо использовать chgrp или диалоговое окно «Получить информацию» Finder, чтобы изменить владельца группы каталога на группу «Администраторы». .
  5. После устранения проблемы перезапустите Chrome. Проверьте, установлено ли внешнее расширение. Вполне возможно, что одна ошибка разрешений не позволяет Chrome обнаружить вторую ошибку. Если внешнее расширение не было установлено, повторяйте эти действия до тех пор, пока не увидите ошибку в Консольном приложении.

Использование реестра Windows

  1. Найдите или создайте в реестре следующий ключ:
    • 32-разрядная версия Windows: HKEY_LOCAL_MACHINE\Software\Google\Chrome\Extensions
    • 64-битная версия Windows: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Google\Chrome\Extensions
  2. Создайте новый ключ (папку) в разделе «Расширения» с тем же именем, что и идентификатор вашего расширения (например, aaaaaaaaaabbbbbbbbbbcccccccccc ).
  3. В ключе расширения создайте свойство «update_url» и установите для него значение «https://clients2.google.com/service/update2/crx» (это указывает на crx вашего расширения в Интернет-магазине Chrome). :

    {
      "update_url": "https://clients2.google.com/service/update2/crx"
    }
    
  4. Запустите браузер и перейдите по адресу chrome://extensions ; вы должны увидеть расширение в списке.

Обновление и удаление

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

Чтобы обновить расширение до новой версии, обновите файл, а затем обновите версию в настройках или реестре.

Чтобы удалить расширение (например, если ваше программное обеспечение удалено), удалите файл настроек (aaaaaaaaaabbbbbbbbbbbcccccccccc.json) или метаданные из реестра.

Часто задаваемые вопросы

В этом разделе приведены ответы на распространенные вопросы о внешних расширениях.

Будет ли методология разрешения «предустановки» по-прежнему поддерживаться Google Chrome, начиная с M33?

Да, но только при установке из Интернет-магазина Chrome update_URL , а не по локальному пути к файлу.

Могу ли я указать URL-адрес в качестве пути к внешнему расширению?

Да, используйте файл настроек JSON для Mac OS X и Linux; реестр для Windows. Расширение должно быть размещено, как описано в разделе «Хостинг» . В файле настроек используйте свойство external_update_url, чтобы указать манифест обновления , содержащий URL-адрес вашего расширения. В реестре Windows используйте свойство update_url.

Каковы распространенные ошибки при установке с использованием файла настроек?

  • Не указывать тот же идентификатор/версию, что указан в файле .crx
  • Файл .json ( aaaaaaaaaabbbbbbbbbbcccccccccc.json ) находится в неправильном месте, или указанный идентификатор не соответствует идентификатору расширения.
  • Синтаксическая ошибка в файле JSON (забыли разделить записи запятой или где-то оставили запятую)
  • Запись файла JSON указывает на неверный путь к .crx (или указан путь, но нет имени файла)
  • Обратные косые черты в пути UNC не экранированы (например, "\\server\share\file" неверно; это должно быть "\\\\server\\share\\extension" )
  • Проблемы с разрешениями на сетевом ресурсе

Какие распространенные ошибки при установке с использованием реестра?

  • Не указан тот же идентификатор/версия, что указаны в Интернет-магазине Chrome.
  • Ключ создан в неправильном месте реестра
  • Запись реестра указывает на неправильный путь к файлу .crx в Интернет-магазине Chrome.
  • Проблемы с разрешениями на сетевом ресурсе

Как обновить встроенные двоичные файлы и расширения?

Раньше, когда поддерживались сторонние расширения, можно было синхронно обновлять собственные двоичные файлы и расширение. Однако расширения, размещенные в Интернет-магазине Chrome, обновляются с помощью механизма обновления Chrome, который разработчики не контролируют. Разработчикам расширений следует быть осторожными при обновлении расширений, которые зависят от собственного двоичного файла (например, устаревших расширений, использующих NPAPI ).

Что если пользователь удалит расширение?

Если пользователь удалит расширение через пользовательский интерфейс, оно больше не будет устанавливаться или обновляться при каждом запуске. Другими словами, внешнее расширение занесено в черный список.

Как выйти из черного списка?

Если пользователь удаляет ваше расширение, вы должны уважать это решение. Однако если вы (разработчик) случайно удалили свое расширение через пользовательский интерфейс, вы можете удалить тег черного списка, установив расширение обычным способом через пользовательский интерфейс, а затем удалив его.

,

Все расширения Chrome необходимо распространять либо непосредственно из Интернет-магазина Chrome, либо с помощью механизмов, описанных ниже. Несоблюдение одного из этих методов распространения представляет собой нарушение политики расширений Chrome и может привести к тому, что расширение и/или распространяющее его программное обеспечение будет помечено как нежелательное программное обеспечение .

Обычно пользователи устанавливают расширения из Интернет-магазина Chrome, но иногда вам может потребоваться установить расширение другими способами. Вот два типичных случая:

  • Расширение связано с каким-либо другим программным обеспечением, и расширение должно устанавливаться каждый раз, когда пользователь устанавливает это другое программное обеспечение.
  • Сетевой администратор хочет установить одни и те же расширения во всей своей организации.

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

  • Использование файла настроек JSON (только для Mac OS X и Linux)
  • Использование реестра Windows (только для Windows)

Оба способа поддерживают установку расширения, размещенного по update_URL . В Windows и Mac update_URL должен указывать на Интернет-магазин Chrome, где должно быть размещено расширение.

Файл настроек в Linux может указывать на ваш собственный сервер, на котором вы размещаете расширение . Файл настроек JSON также поддерживает установку расширения из файла расширения .crx на компьютере пользователя с Linux.

Прежде чем вы начнете

Сначала опубликуйте расширение в Интернет-магазине Chrome или упакуйте файл .crx и убедитесь, что оно успешно установлено.

При установке с URL-адреса обновления убедитесь, что расширение правильно размещено .

Прежде чем редактировать файл настроек или реестр, обратите внимание на следующее:

  • Предполагаемое расположение файла расширения .crx или URL-адрес обновления, с которого он обслуживается.
  • Версия расширения (из файла манифеста или страницы chrome://extensions ).
  • Идентификатор расширения (со страницы chrome://extensions при загрузке упакованного расширения)

В следующих примерах предполагается, что версия — 1.0 , а идентификатор — aaaaaaaaaabbbbbbbbbbcccccccccc .

Использование файла настроек

  1. Если вы выполняете установку из файла в Linux, сделайте файл расширения .crx доступным для компьютера, на котором вы хотите установить расширение. (Скопируйте его в локальный каталог или в сетевую папку, например, \\server\share\extension.crx или /home/share/extension.crx .)
  2. Создайте файл со следующим именем в одной из папок, перечисленных ниже: aaaaaaaaaabbbbbbbbbbcccccccccc.json , где имя файла (без расширения) соответствует идентификатору вашего расширения. Местоположение зависит от операционной системы.

    Mac OS X:

    Для конкретного пользователя: ~USERNAME/Library/Application Support/Google/Chrome/External Extensions/ Для всех пользователей: /Library/Application Support/Google/Chrome/External Extensions/

    Внешний файл расширения для всех пользователей доступен для чтения только в том случае, если каждый каталог в пути принадлежит пользователю root , имеет admin группы или wheel и не доступен для записи всем пользователям. Путь также не должен содержать символических ссылок. Эти ограничения не позволяют непривилегированному пользователю устанавливать расширения для всех пользователей. Подробности см. в разделе «Устранение неполадок» .

    Линукс:

    /opt/google/chrome/extensions/

    /usr/share/google-chrome/extensions/

    Примечание. При необходимости используйте chmod , чтобы убедиться, что файлы aaaaaaaaaabbbbbbbbbbcccccccccc.json доступны для чтения всем.

  3. Только для Linux: если вы устанавливаете из файла, укажите местоположение и версию расширения в полях с именами «external_crx» и «external_version» в файле, созданном выше.

    • Пример:
    • json { "external_crx": "/home/share/extension.crx", "external_version": "1.0" }
    • Примечание. Вам необходимо экранировать каждый \` character in the location. For example, \server\share\extension.crx would be "\\server\share\extension.crx"`.
    • Если вы выполняете установку с URL-адреса обновления, укажите URL-адрес обновления расширения с именем поля «external_update_url».
    • Пример установки из локального файла .crx (только Linux):
    • json { "external_update_url": "http://myhost.com/mytestextension/updates.xml" }
    • Пример установки из интернет-магазина Chrome (Mac и Linux):
    • json { "external_update_url": "https://clients2.google.com/service/update2/crx" }
    • Если вы хотите установить расширение только для некоторых локалей браузера, вы можете указать поддерживаемые локали в поле с именем «supported_locale». В локали может быть указан родительский локаль, например «en», в этом случае расширение будет установлено для всех английских локалей, таких как «en-US», «en-GB» и т. д. Если выбран другой локаль браузера, который не поддерживается расширением , внешние расширения будут удалены. Если список «поддерживаемые_локали» отсутствует, расширение будет установлено для любой локали.
    • Пример:
    • json { "external_update_url": "https://clients2.google.com/service/update2/crx", "supported_locales": [ "en", "fr", "de" ] }
  4. Сохраните файл JSON.

  5. Запустите Google Chrome и перейдите по адресу chrome://extensions ; вы должны увидеть расширение в списке.

Устранение проблем с разрешениями Mac OS

В Mac OS файлы внешних расширений для всех пользователей читаются только в том случае, если разрешения файловой системы не позволяют непривилегированным пользователям изменять их. Если вы не видите установленных внешних расширений при запуске Chrome, возможно, возникла проблема с разрешениями файлов настроек внешних расширений. Чтобы убедиться, что проблема в этом, выполните следующие действия:

  1. Запустите консольную программу. Вы можете найти его в разделе /Приложения/Утилиты/Консоль.
  2. Если на крайнем левом значке консоли написано «Показать список журналов», щелкните этот значок. Слева появится второй столбец.
  3. Нажмите «Консольные сообщения» на левой панели.
  4. Найдите строку. Невозможно прочитать внешние расширения . Если возникнет проблема с чтением файлов внешних расширений, вы увидите сообщение об ошибке. Найдите другое сообщение об ошибке прямо над ним, которое должно объяснить проблему. Например, если вы видите следующую ошибку: «Путь /Library/Application Support/Google/Chrome принадлежит не той группе», вам необходимо использовать chgrp или диалоговое окно «Получить информацию» Finder, чтобы изменить владельца группы каталога на группу «Администраторы». .
  5. После устранения проблемы перезапустите Chrome. Проверьте, установлено ли внешнее расширение. Вполне возможно, что одна ошибка разрешений не позволяет Chrome обнаружить вторую ошибку. Если внешнее расширение не было установлено, повторяйте эти действия до тех пор, пока не увидите ошибку в Консольном приложении.

Использование реестра Windows

  1. Найдите или создайте в реестре следующий ключ:
    • 32-разрядная версия Windows: HKEY_LOCAL_MACHINE\Software\Google\Chrome\Extensions
    • 64-битная версия Windows: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Google\Chrome\Extensions
  2. Создайте новый ключ (папку) в разделе «Расширения» с тем же именем, что и идентификатор вашего расширения (например, aaaaaaaaaabbbbbbbbbbcccccccccc ).
  3. В ключе расширения создайте свойство «update_url» и установите для него значение «https://clients2.google.com/service/update2/crx» (это указывает на crx вашего расширения в Интернет-магазине Chrome). :

    {
      "update_url": "https://clients2.google.com/service/update2/crx"
    }
    
  4. Запустите браузер и перейдите по адресу chrome://extensions ; вы должны увидеть расширение в списке.

Обновление и удаление

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

Чтобы обновить расширение до новой версии, обновите файл, а затем обновите версию в настройках или реестре.

Чтобы удалить расширение (например, если ваше программное обеспечение удалено), удалите файл настроек (aaaaaaaaaabbbbbbbbbbbcccccccccc.json) или метаданные из реестра.

Часто задаваемые вопросы

В этом разделе приведены ответы на распространенные вопросы о внешних расширениях.

Будет ли методология разрешения «предустановки» по-прежнему поддерживаться Google Chrome, начиная с M33?

Да, но только при установке из Интернет-магазина Chrome update_URL , а не по локальному пути к файлу.

Могу ли я указать URL-адрес в качестве пути к внешнему расширению?

Да, используйте файл настроек JSON для Mac OS X и Linux; реестр для Windows. Расширение должно быть размещено, как описано в разделе «Хостинг» . В файле настроек используйте свойство external_update_url, чтобы указать манифест обновления , содержащий URL-адрес вашего расширения. В реестре Windows используйте свойство update_url.

Каковы распространенные ошибки при установке с использованием файла настроек?

  • Не указывать тот же идентификатор/версию, что указан в файле .crx
  • Файл .json ( aaaaaaaaaabbbbbbbbbbcccccccccc.json ) находится в неправильном месте, или указанный идентификатор не соответствует идентификатору расширения.
  • Синтаксическая ошибка в файле JSON (забыли разделить записи запятой или где-то оставили запятую)
  • Запись файла JSON указывает на неверный путь к .crx (или указан путь, но нет имени файла)
  • Обратные косые черты в пути UNC не экранированы (например, "\\server\share\file" неверно; это должно быть "\\\\server\\share\\extension" )
  • Проблемы с разрешениями на сетевом ресурсе

Какие распространенные ошибки при установке с использованием реестра?

  • Не указан тот же идентификатор/версия, что указаны в Интернет-магазине Chrome.
  • Ключ создан в неправильном месте реестра
  • Запись реестра указывает на неправильный путь к файлу .crx в Интернет-магазине Chrome.
  • Проблемы с разрешениями на сетевом ресурсе

Как обновить встроенные двоичные файлы и расширения?

Раньше, когда поддерживались сторонние расширения, можно было синхронно обновлять собственные двоичные файлы и расширение. Однако расширения, размещенные в Интернет-магазине Chrome, обновляются с помощью механизма обновления Chrome, который разработчики не контролируют. Разработчикам расширений следует быть осторожными при обновлении расширений, которые зависят от собственного двоичного файла (например, устаревших расширений, использующих NPAPI ).

Что если пользователь удалит расширение?

Если пользователь удалит расширение через пользовательский интерфейс, оно больше не будет устанавливаться или обновляться при каждом запуске. Другими словами, внешнее расширение занесено в черный список.

Как выйти из черного списка?

Если пользователь удаляет ваше расширение, вы должны уважать это решение. Однако если вы (разработчик) случайно удалили свое расширение через пользовательский интерфейс, вы можете удалить тег черного списка, установив расширение обычным способом через пользовательский интерфейс, а затем удалив его.