Get CRX RU : Micro Plus : Context Menu Mod : 2020.6.20
Опубликовано: Бармалей · 20.06.2020 · 00:01 ••• Обновление: 10.07.2020 · 05:39 0

Важные изменения и доработка линейки Micro Plus : Context Menu Mod с расширенным функционалом.
Билд ветки только с контекстным меню страницы (без функций кнопок в омнибоксе и/или на тулбаре).
Вызов только из контекстного меню, другие методы не используются.

Часть текущих изменений сделана в соответствии с "роадмапом", часть – на основе фидбэка пользователей.
Добавленные функции проверены и отлажены, однако, не исключаются и всевозможные "нюансики".)

Проверка работоспособности: SRWare Iron 49 и 360 Extreme Explorer 12 (CR78).

Версия может конфликтовать с другими менеджерами загрузок.

Эта версия предназначена для браузеров версий 31+, на более старых корректно работать НЕ будет!


Основные изменения:
  • из кода и меню удалена вся привязка к неработающему с мая 2020 года архиву расширений CWS crx.dam.io:
    • удалены пункты для просмотра исходника со страниц CWS и по ссылкам на них;
    • удалены пункты перехода на страницы архивных копий расширений из CWS и по ссылкам на них;
    • функция автопересылки в архив со страниц выпиленных из CWS аддонов теперь перебрасывает в архив crx4chrome – шанс найти там необходимую версию меньше, но уж что есть…
    • из меню удалена опция настроек "Просмотр изходного кода в архиве", также она удалена* из localStorage;
      * если настройка была установлена, она автоматически удаляется при обновлении предыдущей версии.
    • примечание: если этот архив снова "оживёт", все "выпиленные" функции можно будет вернуть обратно…
  • добавлена функция просмотра исходного кода по любым прямым ссылкам:
    • работает с любыми прямыми ссылками на файлы расширений (оканчивающиеся на *.crx, *.oex, *.nex, *.xpi);
      • на всякий случай – просмотрщик также поддерживает формат *.zip, но "в нашем случае" его применение неоправданно в силу слишком большой вероятности "неправильного" восприятия произвольных архивов как расширений;
    • в контекстном меню (ПКМ) таких (прямых) ссылок появляется пункт "Смотреть исходный код файла";
    • при выборе пункта эти файлы открываются в отдельной вкладке в он-лайн просмотрщике RobWu-CRX-viewer;
      На браузерах версий старше 49 просмотрщик работает не всегда корректно – связано с отдельными функциями скриптов этого ресурса, неподдерживаемыми в "старых арбузах";
  • добавлен новый пункт меню настроек "Формат CRX по версии браузера":
    • работает только для загрузок из гуглозина (со страниц и по ссылкам);
    • опция работает как переключатель, по умолчанию – ВКЛючено;
    • при включённой опции в строку запроса подставляется текущая мажорная версия браузера;
    • если отключено – как и в предыдущих билдах, в запросе указывается "&prodversion=100";
    • эта опция имеет более высокий приоритет, чем настройка "Формат CRXv2 (для версий до CR63)" (см. ниже), при её выборе в строке запроса НЕ указывается в принципе никакого конкретного формата CRX – так же, как это и было в предыдущих билдах при установке опции "Совместимый формат CRX (v2+v3)";
    • при ВКЛючении этой настройки (чисто теоретически) гуглозин должен автоматически "отдавать" CRX-файл именно в том формате, который поддерживается текущим клиентом, но при этом нет, однако, никакой гарантиии, что это будет работать на любых хромоклонах…)
      В частности:
      • на SRware Iron 49 при включённом автоопределении всегда скачивается CRXv2 (как и положено);
      • на 360 Extreme Explorer 12 (CR78) при включённом автоопределении также всегда скачивается CRXv2; :)
      • в обоих случаях – при отсутствии в гуглозине файла в формате CRXv2 выдаётся сообщение об ошибке и последующий запрос на принудительную загрузку файла в CRXv3;
      С чем именно связаны такие "неопределённости" – пока неясно, просто принимаем как факт.
  • пункт меню "Совместимый формат CRX (v2+v3)" переименован в "Формат CRXv2 (для версий до CR63)":
    • изменённая опция так же, как и предыдущая, работает только для гуглозина;
    • эта опция, так же, как и её "предок", работает как переключатель, по умолчанию – ВЫКЛючено;
    • при обновлении с предыдущей версии настройка "выпиленной" опции (если её меняли вручную) автоматически "передаётся по наследству", а соответствующий ключ в localStorage автоматически заменяется на новый;
    • эта опция недоступна и не влияет на запрос формата CRX-файла, если включена более приоритетная настройка "Формат CRX по версии браузера" (см. выше);
    • если эта опция ВЫКЛючена И также ВЫКЛючена опция "Формат CRX по версии браузера" – строка запроса файла содержит параметр "&acceptformat=crx3";
    • при включении этой опции теперь принудительно* запрашивается файл в формате CRXv2:
      строка запроса содержит конкретное указание единственного формата – "&acceptformat=crx2"
      * Раньше загружался "совместимый" v2+v3, но теперь эта фича, похоже, по-тихому выпилена из гуглозина;
      Ранее используемый параметр "&acceptformat=crx2,crx3" (загрузка совместимого переходного формата) больше не используется ни при каких настройках – проверено на разных комбинациях, не работает он теперь, только путаницу вносит – при его указании с любыми другими параметрами строки запроса из гуглозина устойчиво загружается CRXv3
  • суммируя – чтобы однозначно запросить и скачать CRX-файл нужного формата, следует:
    • для загрузки CRXv2: ВКЛючить опцию "Формат CRXv2 (для версий до CR63)" и ВЫКЛючить опцию "Формат CRX по версии браузера";
    • для загрузки CRXv3: ВЫКЛючить обе опции "Формат CRXv2 (для версий до CR63)" и "Формат CRX по версии браузера";
    • при всех остальных комбинациях определение формата загрузжаемого файла зависит от погоды на луне происходит автоматически, но опция "Формат CRX по версии браузера" всегда имеет более высокий приоритет;
    • в любом случае – помним, что "неисповедимы пути" гуглозина и всегда есть шанс "нарваться" на ошибку загрузки, для обхода которой предназначена следующая функция…
  • для обработки возможных ошибок загрузки файлов из CWS в формате CRXv2, отсутствующих для отдельных новых расширений (пример такого аддона), добавлена функция принудительной загрузки аддона в формате CRXv3:
    • работает только для загрузок из гуглозина (и по ссылкам на него);
    • ошибка (предположительно) связана с изменение текущей политики гуглозина в части планомерного "гнобления" достаточно старых версий браузеров;
    • косвенным признаком возможного появления ошибки загрузки файла в формате CRXv2 может служить соответствующая надпись на кнопке установки расширения на странице CWS – "Не поддерживается" ("Not compatible");
    • вызывается при подтверждении в диалоге сообщения об ошибке при попытке скачать файл в CRXv2;
    • при этом, независимо от текущих настроек "воровайки", всегда запрашивается файл в CRXv3;
    • в некоторых случаях функция может не срабатывать – например, если для загрузки требуется вход в аккаунт Google, нужно будет сначала залогиниться на гуглозине в таком аккаунте (если он у вас есть). В таких случаях выдаётся другое диалоговое окно (как и было в предыдущих билдах).
  • по "просьбам трудящихся" добавлен пункт меню "Не добавлять CRXv* к имени файла":
    • работает только для загрузок из гуглозина (и по ссылкам на него);
    • опция работает как переключатель, по умолчанию – ВЫКЛючено (признак версии добавляется);
    • при включении опции добавки к имени как для CRXv2, так и для CRXv3 будут отсутствовать, в имени файла останется только имя и номер версии;
    • если отключено – в конец имени файла, перед расширением, будет автоматически добавляться _(CRXv2) для файлов старого формата, и, соответственно _(CRXv3) для нового;
    • какой именно из форматов прописывается – пока определяется упрощённо, по настройкам:
      • v2 добавляется автоматически, для всех загружаемых файлов, если ВКЛючена опция "Формат CRXv2 (для версий до CR63)", в противном случае – с учётом текущей версии браузера при ВКЛюченной опции "Формат CRX по версии браузера" – для версий до 63 автоматически, для всех загружаемых файлов;
      • во всех остальных случаях автоматически ставится v3, опция "Формат CRX по версии браузера" при этом имеет более высокий приоритет;
  • также по "просьбам трудящихся" добавлены пункты меню, отвечающие за формирование имени конечного файла:
    • "Разделитель слов в имени файла" позволяет при формировании имени конечного файла "расклеить" отдельные слова (взятые по названию аддона) любым желаемым способом, в том числе – пробелом;
    • "Разделитель имени и версии файла" позволяет изменить символ-разделитель (по умолчанию – символ подчёркивания) на любую желаемую последовательность, в том числе – на пробел;
    • оба пункта работают глобально, влияют на формирование имён файлов из любого репозитория;
    • оба пункта имеют в меню отображение текущих символов разделителей, заданных пользователем;
    • в обоих пунктах есть ограничения на ряд символов, запрещённых регуляркой:
      /[:,;"\*\\/\u2122\u00AE\|<>='\u2013-]/g
      Это сделано во избежание ошибок из-за создания некорректных имён файлов при сохранении, при вводе таких символов они будут автоматически удалены (для разделителя имени) или преобразованы в одиночный символ подчёркивания (для разделителя имени и версии);
    • во избежание "непоняток":
      • символ дефиса запретен, так как это напрямую связано с общей регуляркой преобразования исходного имени файла в "человеческий" вид;
      • вопросительный знак в последовательность не включён в силу того, что его запрет вполне очевиден и без этого, но если "к нам поступят жалобы" – добавим…)
      • желающие могут самостоятельно исправить регулярку (строка 44 в текущей версии get_crx_file.js), либо аргументированно доказать автору её неправильность в комментариях…)
Прочие изменения:
  • в манифесте изменён адрес авторского сайта с форума Ru-Board на этот сайт
  • немного оптимизирован код отдельных функций, вроде, ничего не поломал при этом…))

Скриншоты:

Общий вид Настроек для текущей версии:

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

Пример меню для просмотра исходника по прямой ссылке на расширение:

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

Диалог принудительной загрузки файла расширения в формате CRXv3:

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

Диалог возможной причины ошибки загрузки файла расширения из CWS без авторизации:

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

Диалог изменения разделителя слов в имени загружаемого файла:

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

Диалог изменения разделителя имени и номера версии загружаемого файла:

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


История и обсуждение

Общие технические сведения
  • Технологии и API:
    Чистый JavaScript (ES5), API: contextMenus, downloads, clipboardRead
  • Запрашиваемые разрешения:
    [ "activeTab", "contextMenus", "downloads", "clipboardRead", "" ]

Загрузка и установка

Дополнительно

Официальные версии Документация
Бармалей 20.06.2020 10.07.2020 326 0.0

Поделиться

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