Обход ограничений на установку аддонов из CWS
Опубликовано: Бармалей · 10.06.2014 · 01:00 ••• Обновление: 27.10.2020 · 02:59 0

Обход ограничений на установку расширений из WebStore

Особенно актуально для любых хром-браузеров старых версий (до 32) и для гугло-хрома до 31-й версии. Также может быть полезно в случаях использования "экзотических" браузеров, не умеющих "договариваться" с магазином Chrome WebStore и не позволяющих установить расширения из CWS штатным способом.


Суть проблемы

По причине изменения политики Google, с начала июня 2014 года при посещении любой страницы Chrome Web Store в любом хром-браузере, отличном от Google Chrome, выдаётся примерно такое сообщение:

Your Chrome version is not supported by the Web Store.
Download the latest Google Chrome

и, соответственно, кнопка установки меняется на "Доступно в Chrome" ("Available in Chrome"), что не позволяет установить нужное вам расширение "штатным" способом (со страницы в гуглозине). Проблема, в частности, подтверждена для браузеров SRWare Iron и Comodo Dragon и, скорее всего, имеется и в других хромо-клонах – Yandex-Browser, Coolnovo/Cowoon и других.

Данная проблема напрямую связана с проверкой параметров строки User-Agent'a (далее – UA) браузера. Так как любые расширения, позволяющие изменить эту строку, не будут работать на страницах гуглозина (по причине "анальной огороженности" Google и благодаря заложенным в хром-браузеры ограничениям), то вариантов решения остаётся не так уж много.

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


Способы решения

Самые простые методы – это подмена UA для не-гугло-браузеров или загрузка и установка расширений вручную.

План А: Изменение строки идентификации браузера (UA)

При этом возможны "системные" (с помощью стандартных инструментов любых хром-браузеров) и чисто браузерные (зависящие от реализации настроек UA в конкретных хромо-клонах) варианты решений. Разницы в конечном счёте нет никакой, поэтому решение о выборе конкретного метода вы должны принять самостоятельно, исходя только из ваших конкретных предпочтений.

Но в любом случае необходимо помнить, что:

  1. Для решения нашей задачи важно, чтобы в строке UA обязательно присутствовало упоминание о Google Chrome!
    Чтобы не изобретать велосипед и не ошибиться при ручном вводе, подходящие правильные строки UA можно посмотреть здесь.
  2. Для решения "нашей" задачи следует указать мажорную версию гугло-хрома не ниже 31!
    Более ранние версии в принципе ограничиваются гуглозином и установка расширений в таких случаях недоступна.
    Для версий 32+ ограничения отсутствуют при упоминании в строке UA соответствующей версии гугло-хрома.
  3. Подмена строки UA на идентификатор гугло-хрома также может помочь решить некоторые проблемы и на других сайтах.
    В качестве примера – см. официальный "хак" для сервиса Netflix в SRWare Iron.

Итак, перейдём непосредственно к методам замены.


0. Системный подход – использование ключа --user-agent="...".

Применимо к любому браузеру на базе Chromium и основано на использование командной строки запуска с ключом
--user-agent="<значение>",
в котором прописываются нужные значения UA (для "нашей" ситуации подтверждено камрадом VVL99).

Пример ключа с работающей строкой UA:

chrome.exe --user-agent="Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36"

Примечание:

  • Этот метод снимает ограничения на установку расширений, но не позволяет скачать свежие* версии аддонов в виде CRX-файла.
    * обновлённых после 01.06.2014 (см. здесь, п.5)

1. Системный подход – использование инструмента разработчика.

"Системный" вариант применим к любому браузеру на базе Chromium и основан на изменении строки UA с помощью встроенных средств разработчика.

Ниже приведена пошаговая инструкция для SRWare Iron v.34, на других хромоногах делаем по аналогии:


[Копия скриншота]

  1. видим "радующую глаз" надпись (1)…
  2. открываем консоль разработчика, нажав F12 или Ctrl+Shift+I или Ctrl+Shift+J
  3. в правой части заголовка (меню консоли) нажимаем кнопку >= (показать консоль) (2)…
  4. выбираем вкладку Emulation (3) и пункт в меню слева User Agent (4)…
  5. включаем галку Spoof user agent (5) и выбираем в списке ниже что-то похожее на гугло-хром (6)…
  6. убеждаемся, что в строке отдаваемого UA присутствует именно оно (7)…
  7. перезагружаем страницу и видим отсутствие ахтунгов и нормальные кнопки установки расширений. =))

Также при желании можно задать любую произвольную* строку UA, выбрав в шаге 5 в выпадающем меню Other (6) и вручную введя нужную строку идентификации (7), как показано на рисунке ниже:


[Копия скриншота]

* Такая потребность может быть вызвана тем, что авторы некоторых расширений выставляют в файле манифеста искусственно завышенные требования по версии браузера, хотя эти расширения вполне нормально работают и на старых версиях браузера. Ещё вариант – специфицеские сервисы, требующие дополнительных элементов в строке UA для корректной работы. Пример сервиса – Яндекс-Диск, который позволяет скачивать без ввода капчи, если в строке UA присутствует что-то типа YB/3.5.3 (надстройка Яндекс-бар).

Примечания:

  1. В отдельных хромо-клонах (версиях) есть также возможность временной* подмены UA при открытой консоли разработчика.
    * При этом используется дополнительная настройка "Enable on DevTools startup".
    Для примера ниже показан скриншот для SRWare Iron v.30):

    [Копия скриншота]
  2. В отдельных хромо-клонах (версиях) подмена UA работает только при открытой консоли разработчика.
  3. Метод снимает ограничения на установку, но не позволяет скачать свежие** версии аддонов в виде CRX-файла.
    ** Обновлённых в мае-июне 2014 (подробнее читаем здесь, п.5)

2. Настройки конкретного браузера.

В некоторых хром-браузерах имеются дополнительные штатные настройки, позволяющие изменить строку UA. Поэтому всё сказанное выше для ручного ввода идентификатора справедливо и для таких настроек.

В частности, в SRWare Iron для этого можно использовать:


Способ 1. Текстовый файл UA.INI, лежащий* в папке установки браузера.

* Если его там нет – создаём вручную, напр., в Блокноте.

Для решения нашей задачи в этот файл нужно прописать строку идентификации, что-то вроде такой:

Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36

Данный способ не работает в версиях 35+, в них эта фича выпилена и наличие/содержимое файла игнорируется!


Способ 2. Только в portable-версиях – текстовый файл IRONPORTABLE.INI, лежащий* в папке браузера.

* Файл должен лежать рядом с IRONPORTABLE.EXE, если его там нет – создаём вручную, напр., в Блокноте.

Для решения нашей задачи в этот файл нужно добавить ключ запуска вместе с требуемой строкой UA, например:

--user-agent="Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36"

Не забываем про кавычки, обрамляющие саму строку UA!


3. Дополнительные меры.

Указание последней версии гугло-хрома также снижает вероятность "отлупов" при установке расширений (подробнее читаем здесь, п.5).

Если используется Windows XP, также не помешает в строке UA указать более новую версию ОС (лучше – не ниже Windows 7).

В итоге строка "нового" UA может выглядеть примерно вот так:

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36

Это поможет избежать "навязчивых" сообщений о "неподдерживаемой" версии браузера/ОС.


4. Хардкор или "Наш ответ Чемберлену гуглозину".

Иными словами – "не мытьём, так катаньем", но скачать расширения можно и более сложными методами, связанными с правкой кода браузера или установкой свежей версии (портативного) гугло-хрома/хромиума чисто в качестве "качалки"* расширений для вашего основного браузера.

* По сути, этот метод уже "плавно" переходит в "план Б"… =)


Ручная* правка chrome.dll – замена строки ProductVersion на нужную.

* Например, с помощью утилиты Resource Hacker или подобной.

Это позволяет устанавливать любые* расширения из гуглозина (предложил и опробовал камрад Tilks).

* Если в них нет ограничений, связанных с реальной версией вашего браузера!

См.также: Обновляем User-Agent [прямая ссылка] – иллюстрированная инструкция по правке dll-файлов с заменой UA от Viktor_Kisel.


Использование "чужого" UA.

Достаточно очевидное и простое, хотя и "некошерное" решение – параллельная установка свежей портабельной версии хромиума (или одной из сборок) только для временной установки аддонов из гуглозина с последующей их упаковкой в рабочий CRX-файл.

При этом, в отличие от загрузки в виде ZIP-файла (подробнее читаем здесь, п.5), на выходе сразу имеем готовый к применению установочный файл расширения (в основном рабочем браузере можно ставить драг-дропом). Однако следует помнить, что "родное" ID расширения при этом не сохраняется (со всеми вытекающими плюсами и минусами).


План Б: Скачивание и установка расширений вручную

Этот вариант известен давно, приведу лишь общие ссылки для самостоятельного изучения:


Что в итоге?

При смене UA по любому из способов в плане А – после недолгих танцев с бубном нормализуется вид страницы гуглозина, т.е не будет "тонких намёков" на установку гугло-хрома и будут нормально работать кнопки установки расширений (кнопка "Free" на скриншоте ниже).


[Копия скриншота]
Если же "родной" UA вашего браузера вам "дорог как память" и ручная установка не напрягает – используем "план Б".)


Удачи вам!
..в борьбе с "Корпорацией Добра".. 

Общие принципы Бармалей
Бармалей 10.06.2014 27.10.2020 341 0.0

Поделиться

Всего комментариев: 0
close