TamperMonkey Classic RePack : Лёгкая "классика"
Опубликовано: Бармалей · 12.02.2014 · 00:01 ••• Обновление: 22.08.2021 · 08:32 3

TamperMonkey Classic RePack – доработанный форк самого известного менеджера скриптов. Управление пользовательскими скриптами и аддонами в виде нативно установленных скриптов. "Классический" интерфейс, редактор исходного кода, удобная установка и полный контроль над скриптами. Поддерживается облачная синхронизация скриптов и настроек по протоколу WebDAV.

Предоставляется по лицензии GPL v.3, бесплатно для частного некоммерческого использования.


В этой статье:


Общее назначение и краткая история создания

TamperMonkey Classic RePack – расширение для браузеров семейства Chromium, предназначено для комфортной работы с пользовательскими скриптами.

Основное назначение – удобное и оперативное управление любыми установленными скриптами и расширениями в виде нативно установленных скриптов. Может использоваться в качестве основного инструмента при проверке, применении, разработке и отладке скриптов.

Расширение TamperMonkey Classic RePack является доработанным модом одного из самых известных менеджеров скриптов "Tampermonkey" (далее – TM), предназначенного для удобного управления всеми установленными в клиентском браузере пользовательскими скриптами, а также для оперативной установки и отладки новых скриптов.

Форк создан на базе стабильной официальной версии TM. В отличие от своего "именитого родственника", этот аддон имеет целью сохранение лёгкости в работе и возможности использования на любых версиях браузеров, начиная с достаточно старых 20-х версий.

Зачем и почему такое "цепляние за всякое старьё" – да просто потому, что основная часть новшеств, применяемых в самых свежих версиях этого менеджера, на практике востребована достаточно редко, а гораздо больше "обычного" пользователя интересует "чтоб всё просто работало", причём, работало легко и быстро и не требовало при этом каких‑то "танцев с бубном", пусть даже за счёт отказа от некоторых* возможностей.

* Хотя, если честно, я пока ни разу не сталкивался с какими-либо серьёзными ограничениями в управлении расширениями, которые были бы связаны именно с неподдерживаемыми в "старых" браузерах функциями. К тому же – кроме самого API управления, многое зависит и от качества кода управляющего аддона, ведь один и тот же конечный результат можно получить разными способами… :)

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

Более чем через 7 лет после выпуска первой версии форка была выпущена следующая, на базе последней версии оригинала, относительно беспроблемно работающей в старых браузерах. Во втором релизе аддон получил к имени ещё и добавку Classic, подчёркивающую его гарантированную работоспособность на любых* версиях. На текущий момент расширение распространяется под этой обобщённой "торговой маркой".

* В частности, одна из целей – дать возможность работы с нормальным современным менеджером скриптов пользователям старых компьютеров и операционных систем. И хотя на сайте оригинала красуется гордая надпись про поддержку версий CR31+, в реальности ТМ давно уже не может работать на этой версии в силу применения в нём множества функций ES6. А русский форк – может. И вполне успешно и шустро… :)

Исходя из того, что исходный аддон распространялся под лицензией GPLv3, в его "неофициальном" форке допустимы любые изменения* в исходном коде, направленные на решение указанных выше задач. Кроме того, при необходимости в форке могут быть удалены каких‑либо "лишние" функции или добавлены отсутствующие.

* В частности, из комплекта поставки форка убраны все локализации, кроме русской и английской, русская локаль форка отличается от оригинала и работа именно в русской локали является основным предметом доработок в силу общей ориентированности автора на русскоязычную аудиторию пользователей.

Следует особо отметить, что в отличие от TM и многих современных аддонов, в TamperMonkey Classic RePack нет (и никогда не будет) никакой "допустимой" или скрытой рекламы, это расширение не является предметом монетизации за счёт пользователей.

Автор гарантирует отсутствие в этом расширении каких‑либо следящих, "стучащих" и иных "статистических" механизмов, а также любых других средств, направленных на "персонализацию" конечного пользователя с целью получения какой‑то коммерческой выгоды.


О лицензиях оригинала и русского форка

Во избежание обвинений в "незаконном распространении и репродуцировании" следует помнить некоторые факты.

  1. Изначально расширение Tampermonkey было выпущено в 2010 году под лицензией GNU GPLv3, об этом прямо свидетельствует наличие в ранних версиях его пакетов файла этой лицензии, сообщающего об этом (COPYING).
  2. Под этой лицензией аддон распространялся как минимум* до версии 3.6.3737.80, на базе которой в феврале 2014 года был выпущен и первый релиз TM·CR (под той же лицензией).

    * Может быть – и других, более поздних, мною не проверялось, но в данном случае это уже непринципиально.

  3. Кроме того, в репозитории автора также указано на изначально свободную лицензию аддона – проприетарным ТМ стал с сентября 2019 года, после версии 2.9 (это утверждение по версии расходится с фактом из п.2).
  4. Согласно принципам лицензии GNU GPL, нельзя* переводить полностью или какие-либо части открытого ПО под проприетарную лицензию. Соответственно – автор ТМ в этом плане не является "белым и пушистым" с точки зрения установки лицензионного запрета на деассемблирование и изменение исходников ТМ третьими лицами.

    * Кроме как переписыванием полностью всего исходного кода с нуля, что не соответствует реальным фактам, основанным на сравнительном изучении исходного кода разных версий ТМ, свободных и проприетарных.

  5. Более того, согласно лицензиям сторонних вендорных компонентов, включённых в состав ТМ, они также не могут быть частью проприетарного ПО и, соответственно, к ним также неприменима установка запрета на модификацию их кода и запрет на их использование в других разработках (в этом форке, в частности).
  6. Разработка второй версии TM·CR выполнена на основе версии ТМ от ноября 2019 года, не поддерживаемой уже автором ТМ и не размещаемой в официальных* источниках ТМ (на авторском сайте, в Chrome WebStore, а также в авторском репозитории на GitHub).

    * Может быть найдена только в сторонних архивах или в неофициальных частных коллекциях, т.е. это, фактически, теперь уже не официальная версия, а просто некий сторонний набор файлов. :)

  7. На основании вышеизложенного – мне, как автору TM·CR, пришлось изменить общую лицензию, под которой теперь публикуется и распространяется русский форк ТМ. Это не может считаться нарушением базовой лицензии, поскольку в текущих релизах TM·CR не используются компоненты кода из базовой версии репака.

Исходя из изменившихся условий (с момента выпуска базовой версии), мною принято компромиссное решение – весь пакет "TamperMonkey Classic RePack" в целом выпущен и распространяется под ограниченной копилефт-лицензией, код функций и иных изменений, написанный лично мною и включённый в состав аддона – под общей лицензией продуктов этого сайта (GNU GPLv3).

К вопросу "зачем сказаны все эти буквы" – в общем и целом вытекают ограничения, накладываемые вынужденным комбинированием лицензий – вы можете использовать TM·CR только для частного некоммерческого применения и только в ознакомительных целях, распространение и публикация вне этого сайта неавторизованных или модифицированных копий расширения запрещено.


Основные возможности и использование

Нужно понимать, что TamperMonkey Classic RePack является практически полным функциональным аналогом прототипа, общий интерфейс, принцип работы и элементы управления идентичны штатным функциям "прародителя" и не являются предметом для каких-либо особых дополнительных доработок.

Этот же подход применим и к логике работы форка, которая полностью соответствует оригиналу. Иными словами, если вы уже работали с этим аддоном, вам не придётся "переучиваться". :)

Если же вы ранее не работали с Tampermonkey или его функциональными аналогами, настоятельно рекомендуется ознакомиться с часто задаваемыми вопросами и с документацией по API этого проекта, это поможет легко и быстро научиться использовать как TamperMonkey Classic RePack, так и любой другой из аналогичных менеджеров скриптов.

Из основных бонусов TM·CR – полное отсутствие статистики и гуглоаналитики, минимальная привязка к сайту оригинала, строгий "аскетичный" интерфейс, нацеленный на продвинутую и удобную работу собственно со скриптами, а не на отрисовку различных "свистелок" и "рюшечек". :)

Имеются и другие дополнительные возможности, повышающие общую полезность аддона для конечного пользователя. Оптимизирован код, улучшено общее быстродействие менеджера, исправлены некоторые недочёты кода и "огрехи" русского перевода.

С конкретными отличиями TM·CR можно ознакомиться ниже, прочитав об изменениях в отдельных версиях.


Некоторые технические детали разработки

TM·CR имеет минимальное ограничений по версии браузера (20), рекомендуется использовать на версиях 31+.

Скрипты, входящие в состав аддона, соответствую стандартам ES5, неподдерживаемые в старых браузерах функции отсутствуют. Стили оформления TM·CR соответствуют стандартам CSS2, также не содержат операторов, не работающих и выдающих ошибки в старых браузерах (в отличие от оригинала).

В отличие от прототипа, в текущих версиях TM·CR продолжена поддержка работы с нативно установленными скриптами (в виде расширений). Полностью возвращены все функции управления нативными скриптами (установленными как расширения в вашем браузере), также доступно импортирование нативных скриптов для повышения удобства работы с ними (редактирование, автообновление и т.д.).

Язык интерфейса, сообщений, подсказок и описания – английский/русский (автовыбор по локали браузера либо принудительная ручная установка в настройках расширения).

* В TM·CR поддерживаются (оставлены) только русская и английская локали, при необходимости вы можете просто скопировать иные переводы из оригинала, вся языковая привязка изменяется только в сторону добавления опций. При отсутствии каких‑либо строк в иных локализациях, они будут выведены на английском языке.

В отличие от оригинала, текущая версия TM·CR реально работает на любых браузерах версий CR31+.
Форк предназначен для работы только в браузерах семейства Chromium, выпуск версий для иных браузеров на текущий момент автором не рассматривается.

Исходный код текущих версий частично обфусцирован (посредством плагина JSTool для Notepad++) и может быть легко развёрнут вами самостоятельно для облегчения его читаемости при исследованиях или при возможных доработках. Вообще говоря, это некритично для опенсорса, в этом я только следую принципам разработчика оригинала TM… :))


История версий TamperMonkey Classic RePack

Данные в таблице приведены в порядке хронологии выпуска релизов, текущая версия указана отдельно.
Номер каждой авторской версии соответствует формату даты её выпуска – год.месяц.день (ГГГГ.М.Д).
Ссылки в первой колонке (номер версии) ведут на страницу подробного описания изменений в этом выпуске.

Версия Краткое примечание по выпуску Установка
2021.8.17 Текущая стабильная версия расширения, для браузеров версий 31+ CRX v.2CRX v.3
2021.8.17 Исходный код текущей стабильной версии расширения (LBSC) ZIP
2014.2.12 Инженерная версия форка, на основе оригинала версии 3.6.3737.80. CRX v.2
2021.8.12 Обновлённая тестовая версия форка, на основе оригинала версии 4.9. CRX v.2CRX v.3
2021.8.17 Тестовая версия, возвращена поддержка нативно установленных скриптов. CRX v.2CRX v.3
  • Установщики в формате CRX v.2 предназначены для браузеров версий 29-72 (по умолчанию).
  • Установщики в формате CRX v.3 предназначены для браузеров версий 63+ (с более ранними несовместимы).
  • Установщики в формате ZIP или 7Z являются обычными архивами, устанавливаются в режиме разработчика.
  • Установщики в формате User.JS являются скриптами, устанавливаются нативно или через менеджеры скриптов.

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

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

Можно загрузить любую из версий TamperMonkey Classic RePack на следующих ресурсах:

Настоятельно рекомендуется использовать текущую стабильную версию расширения.
Более ранние выпуски можно устанавливать только в исследовательских целях для сравнительного анализа функций и возможностей аддона. Авторская поддержка устаревших версий не осуществляется, претензии по возможным проблемам их эксплуатации не рассматриваются.

При возникновении сложностей с установкой читаем этот совет.

Для работы в режиме "инкогнито" в блоке аддона на странице chrome://extensions включаем опцию:
[читать матчасть]

Для работы с локальными файлами в блоке аддона на странице chrome://extensions включаем опцию:

Примечание по установке "TamperMonkey Classic RePack" поверх уже имеющейся версии TM

Если ТМ у вас уже был установлен в режиме разработчика, в окне консоли нужно выполнить следующую команду:
localStorage.setItem("#storage", "sql"); window.location.reload()
чтобы сбросить настройки и привязку к предыдущей установке. [читать матчасть]



Управление скриптами Бармалей

Смотрим также:

Бармалей 12.02.2014 22.08.2021 568 0.0

Общие технические сведения о разработке
Статус разработки:Активная, поддерживается автором
Язык интерфейса:Русский, Английский
Версия браузера:20+ (рекомендуется 31+)
Протестировано в:SRWare Iron 29/31/36/49 + 360 Extreme Explorer 9/11/12/13 (CR-63/69/78/86) + Chromium 87
Технологии и API:Чистый JavaScript (ES5), API: management, webNavigation, tabs, browserAction, notifications, webRequest, storage, clipboardWrite, contentSettings, downloads

Поделиться

Всего комментариев: 3
0
3 Бармалей 22.08.2021 • 08:42
..добавил две ссылки на автоматические копии* официальной документации на этом сайте:
TamperMonkey : FAQ [En RC-2] – часто задаваемые вопросы и ответы по расширению "Tampermonkey"
TamperMonkey : GM API Doc [En RC-3] – документации по API для расширения "Tampermonkey"
* отличие от оригиналов - лёгий дизайн, оптимизированы под быстрый просмотр..)
содержимое обеих копий обновляется автоматически и полностью идентично статьям с оф.сайта ТМ..
0
2 Бармалей 16.08.2021 • 20:37
..добавил смесь "баг-трекера с факом", в следующих релизах ссылка будет заложена в самом аддоне:
TamperMonkey Classic RePack : Проблемы и решения - Опыт эксплуатации
теперь там собираем баги, иссуи и хотелки с реквестами по этому аддону..)
0
1 Бармалей 12.08.2021 • 23:12
..подновил малость материалец - под текущую версию сабжа.. и это ещё не финал..)
кто будет пробовать - обратите особое внимание на первую установку - есть какой-то плавучий глючок с первым запуском страницы настроек (вкладка "утилиты" - не всегда отображается блок "текстовое поле")..
причину я хз, пока тестил он через два на третий вылезает, второй и последующий запуски = норм..


upd:
ложная тревога, вся шняга в уровне настроек - если выставлен "новичок" = это поле не показывается..)
короче, это не баг, а фича! smile
close