Get CRX RU : Micro Plus : Context Menu Mod : 2021.4.25
Опубликовано: Бармалей · 25.04.2021 · 00:01 ••• Обновление: 11.06.2021 · 20:33 2

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

Изменено значение части параметров по умолчанию (большинство теперь выключено).

Полноценная поддержка загрузки любых дополнений из всех репозиториев AMO.

Добавлена возможность загрузки скриптов и библиотек с сайта GreasyFork.org.*

Добавлена возможность загрузки скриптов и библиотек с сайта OpenUserJS.org.*

* Функции работы с репозиториями скриптов добавлены "по просьбам трудящихся"
…за что им (точнее – ему) решпекты и пивас…) впрочем, мне и самому было интересно это поковырять… :))

Оптимизирован код, исправлено несколько потенциальных проблем с получением описания с сайтов.

Проверка работоспособности: SRWare Iron 31/49, 360 Extreme Explorer 9/11/12/13 (CR63/69/78/86) и Chromium 87.

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

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


При использовании расширенных опций на версиях браузера 81+ возможны проблемы с загрузкой!
Причины и некоторые способы решение этих проблем приведены в этом разделе документации.


Основные изменения:
  • изменено значение по умолчанию* для части настроек;
    по умолчанию теперь включены только наиболее важные и частоиспользуемые опции:
    • "Версия CRX-файла от разработчика" (только для загрузок из CWS);
    • "Создавать описание для загрузки";
    • "Загружать текст описания с сайта";
    • "Использовать быструю выгрузку";
    • "Удалять загруженное из списка";
    • "Загрузка по ссылкам на любом сайте";
    • "Автопереход в архив удалённых";
    • "Автоисправление ошибок в адресе";

      * Eсли вы изменяли какую-либо опцию, она останется в прежнем состоянии, если нет – во избежание "непонятных сюрпризов" следует внимательно проверить Настройки после установки этой версии (путём обновления поверх старой) на предмет соответствия опций вашим требованиям: большинство из них при установке будет выключено!

  • добавлена поддержка загрузки скриптов и библиотек с сайта GreasyFork.org (GFK) (и для ссылок на них),
    как и при работе с другими репозиториями, для этих загрузок доступны следующие функции:
    • загрузка JS-файлов – со всеми соответствующими общими настройками (и меню) для других репозиториев;
    • загрузка по любым ссылкам на подстраницы скрипта или библиотеки, в том числе – по прямым на JS-файлы;
    • авторазделение загрузок по соответствующим типам (скрипты *.USER.JS или библиотеки *.JS);

      Класс загружаемого файла определяется автоматически. В качестве расширения файлов в случае библиотек указывается *.JS, для пользовательских скриптов указывается стандартное двойное расширение *.User.JS.

    • добавлен парсер текста для автосоздания полноценного описания для загрузок с этого сайта;
    • онлайн просмотр исходного кода (открытие в новой вкладке соответствующей страницы сайта);
    • доступно ручное переключение через меню языка текущей страницы описания скрипта (RUS/ENG);
    • добавлена специфичная настройка для загрузки файлов скриптов с этого сайта:


      • опция добавления к имени файла текст "_(GF-(LIB)-ID)" (настройка "Добавлять _(GF-ID) к имени файла");

      Эта настройка включает динамическое формирование имени файла. Кроме GF- добавляется признак библиотеки (LIB-), а в конце дописывается идентификатор скрипта на сайте (номер статьи описания). Это позволяет достаточно ясно идентифицировать и искать скрипты в вашей коллекции (и/или на самом сайте), даже если для них не создано текстовое описание.

    • как и в других репозиториях, меню настроек отображается только на страницах скриптов на сайте;

      Меню настроек для страниц сайта содержит только общие опции и те, которые можно использовать только с загрузками с этого сайта. Специфичные опции НЕ отображаются в меню настроек (игнорируются) на страницах аддонов в других репозиториях (магазины CWS/OAS/AMO/MEA/OJS).

  • добавлена поддержка загрузки скриптов и библиотек с сайта OpenUserJS.org (OJS) (и для ссылок на них),
    как и при работе с другими репозиториями, для этих загрузок доступны следующие функции:
    • загрузка JS-файлов – со всеми соответствующими общими настройками (и меню) для других репозиториев;
    • загрузка по любым ссылкам на подстраницы скрипта или библиотеки, в том числе – по прямым на JS-файлы;
    • авторазделение загрузок по соответствующим типам (скрипты *.USER.JS или библиотеки *.JS);

      Класс загружаемого файла определяется автоматически. В качестве расширения файлов в случае библиотек указывается *.JS, для пользовательских скриптов указывается стандартное двойное расширение *.User.JS.

    • добавлен парсер текста для автосоздания полноценного описания для загрузок с этого сайта;
    • онлайн просмотр исходного кода (открытие в новой вкладке соответствующей страницы сайта);
    • переключение языка страниц на этом сайте недоступно в принципе, поэтому пункт в меню отсутствует;
    • добавлены две специфичные настройки для загрузки файлов скриптов с этого сайта:


      • опция добавления к имени файла маркер "_(OJS-(LIB))" (настройка "Добавлять _(OJS) к имени файла");

      Эта настройка включает динамическое формирование имени файла. Кроме OJS- добавляется признак библиотеки (LIB). Это позволяет достаточно ясно идентифицировать и искать скрипты в вашей коллекции, даже если для них не создано текстовое описание.

      • опциональная загрузка минифицированных версий (настройка "Загружать сжатую версию скрипта");

      Эта настройка включает динамически меняемый фрагмент имени конечного файла: перед *(.USER).JS добавляется маркер минифицированного файла (.MIN). Это позволяет хранить и различать в вашей коллекции обе версии скрипта, полную и сжатую, даже если для них не создано текстовое описание.

      Принудительная загрузка сжатых версий может выполняться всегда (если настройка ВКЛючена) или производиться разово, путём загрузки по прямым ссылкам (есть на самом сайте) на соответствующие минифицированные файлы. Независимо о состояния этой настройки, при загрузке по прямой ссылке на файл скрипта (например, при вызове загрузчика на кнопке установки), будет загружена именно версия по этой ссылке. В любом случае при этом также работает автоматическое получение полноценного описания со страницы соответствующего скрипта или библиотеки.

    • как и в других репозиториях, меню настроек отображается только на страницах скриптов на сайте;

      Меню настроек для страниц сайта содержит только общие опции и те, которые можно использовать только с загрузками с этого сайта. Специфичные опции НЕ отображаются в меню настроек (игнорируются) на страницах аддонов в других репозиториях (магазины CWS/OAS/AMO/MEA/GFK).

  • для обоих вышеуказанных сайтов (GreasyFork.org и OpenUserJS.org) можно использовать и общую настройку:

    • опциональная* добавка к имени файла даты загрузки (пункт "Вставить дату если нет версии файла");

    * Принципиально работает в тех же случаях, что и для репозитория MS Edge Addons (MEA). При формировании имён файлов загружаемых скриптов, номер версии файла НЕ может быть получен, если вы НЕ запрашиваете текст описания с сайта, т.е. этот номер может быть корректно установлен только при включении двух опций: "Создавать описание для загрузки" И "Загружать текст описания с сайта", в противном случае номер в имени файла будет отсутствовать! Кроме того, авторы некоторых скриптов и библиотек НЕ указывают их номер в описании, в этом случае номер версии НЕ может быть получен ни при каких настройках.

  • доработана поддержка работы и загрузки дополнений из всех репозиториев AMO:
    • сделано по "наказам торудящихся", теперь сняты все ограничения на загрузки с сайтов AMO;
    • в Настройках добавлена опция, отображаемая только на сайтах репозиториев AMO (любых):


      • опция получения прямого URL для XPI-файлов (настройка "Запрашивать прямую ссылку на файл");

      Эта настройка включает принудительный запрос на поиск прямой ссылки на XPI-файл файл непосредственно со страницы дополнения в репозитории, что позволяет скачать или просмотреть в онлайн-вьювере любые дополнения.

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

    • дополнительным бонусом этой настройки является возможность онлайн-просмотра исходного кода расширений из репозитория ThunderBirdпредыдущей версии была сделана только частичная поддержка просмотра, теперь никаких ограничений на загрузку и работу с просмотрщиком нет);

      Онлайн-просмотр исходного кода производится в RobWu-crx-viewer (на браузерах версий до 49 работает некорректно).

    • доработана функция переключения* языка текущей страницы (RUS/ENG) для отдельных репозиториев AMO;

      * Причина – в отличие от других сайтов, в репозитории ThunderBird/SeaMonkey корректное переключение языка обеспечивается только регистрозависимыми шаблонами URL.

  • добавлены расширенные опции управления допустимыми символами в именах файлов:
    • причина – встречаются имена дополнений в виде иероглифов и/или со спецсимволами;
    • в некоторых системах из-за отсутствия подходящих шрифтов такие имена состоят из "квадратиков";

      Последней "каплей" для введения этих ограничений стала работа с репозиториями скриптов – вот где настоящий "рассадник китайчатины" не только (и не столько) в описаниях, но и в самих именах загружаемых файлов… %@)

    • в Настройках добавлены две опции, управляющие допустимыми символами в именах:


      • "Только латиница и русский в имени" – максимально жёсткие ограничения, разрешены [а-яa-z0-9_];
      • "Разрешить спецсимволы в имени" – разрешены все символы кроме: [:"*\/|<>\u2013-];
      • Обе опции работают во всех репозиториях при автоформировании имён загружаемых файлов.

    • первая опция имеет бо́льший приоритет и при включении перекрывает (игнорирует) вторую;
    • при включении только второй опции будут допустимы знаки препинания [!,.;=@#[](){}] и юникод;
    • символ "+" при включении первой опции или при выключении второй преобразуется в "Plus";

      Такой "особый" статус этого символа связан с его частым использованием в названиях аддонов и скриптов.

    • символ "&" при включении первой опции или при выключении второй преобразуется в "And";

      Такой "особый" статус этого символа также связан с его частым использованием в названиях дополнений.

    • в любом случае, по желанию, вы всегда можете вручную изменить имя в диалоге сохранения… :)
  • доработан код функций, связанных с загрузками из репозитория Chrome webStore (CWS):
    • изменён шаблон версии файла от разработчика – как выяснилось, она может содержать не только цифры;
    • добавлен автосброс этого параметра перед каждой последующей загрузкой;

      Иначе в принципе были не исключены ошибки, если НЕ используется опция "быстрой выгрузки" из памяти.

  • доработан код функций, связанных с загрузками из репозитория MS Edge Addons (MEA):
    • по аналогии с CWS в меню добавлены прямые переключатели языка страницы сразу на нужный (RUS/ENG);
    • при отсутствии номера версии файла И при включеной опции "Вставить дату если нет версии файла" дата теперь вставляется в квадратных скобках (для наглядности) и в ней присутствуют нули: [2021.04.25];

      Помните, что этот параметр теперь работает и для репозиториев GreasyFork и OpenUserJS (общая настройка).

  • доработан код функций получения и формирования имён и текстовых описаний со страниц репозиториев:
    • доработан и упрощён код текстового парсера в целом, изменена и упрощена логика его работы;
    • оптимизирован и упрощён парсер страниц CWS, улучшена читаемость получаемого описания;
    • кроме базового URL теперь в описании добавляется нормализованная "читабельная" ссылка;
    • в текст описания также вставляется прямая ссылка на загруженный файл и штамп даты/времени загрузки;
    • добавлена защита от ошибок парсера (часто встречалась на полупустых страницах описаний в GFK/OJS);
    • добавлена отдельная функция форматтера даты/времени (с "застрелом" на будущее…))
Прочие изменения:
  • для всех вновь введённых параметров добавлены соответствующие ключи в localStoradge аддона;;
  • улучшена функция проверки корректности и формирования конечного имени файла загрузки;

    Теперь вместо оценки расширения и шаблона имени проверяется mime-тип загружаемого файла.

  • доработана логика изменения разделителей слов в имени и символов между именем и версией файла:
    • теперь изменения настроек "Разделитель слов в имени файла" и "Разделитель имени и версии файла" применяются сразу же, "на лету", и не требуют перезапуска аддона;

      Иначе в принципе были не исключены ошибки, если НЕ используется опция "быстрой выгрузки" из памяти.

  • лёгкая "косметика" меню и настроек (по существу выполняемых функций):
    • опция "Cкачать CRX по этой ссылке..." переименована в "Cкачать файл по этой ссылке...";
    • опция "Имя файла по заголовку вкладки" переименована в "Имя файла по заголовку страницы";
    • логика работы обеих переименованных опций оставлена без изменений;
  • код отдельных функций в целом упрощён, улучшен и оптимизирован по скорости выполнения;
  • из кода удалён застарелый мусор, оставшийся после зачистки функций для архива crx.dam.io… :)

Скриншоты:

Добавленные пункты защиты от мусора и "кракозябров" в именах файлов:

Пункты меню настроек, отображаемые на страницах сайта GreasyFork.org:

Пункты меню настроек, отображаемые на страницах сайта OpenUserJS.org:


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

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

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

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

Официальные версии Документация
Бармалей 25.04.2021 11.06.2021 281 5.0

Поделиться

Всего комментариев: 2
0
1 script0l0g 26.04.2021 • 15:54
Ну что могу сказать, работает оно, лисьи расширения тащит на "ура"! biggrin 
Я ещё несколько разных от seamonkey попробовал забрать, тоже всё качает.
0
2 Бармалей 27.04.2021 • 06:39
ну ещё бы ему не качать, ссылки же прямые теперь, чуть дольше запрос, но зато стопудово возьмёт..)
close