Tampermonkey — менеджер пользовательских скриптов¶
Tampermonkey — это расширение для браузеров (и приложение для Android), предназначенное для управления пользовательскими скриптами — небольшими программами на JavaScript, которые изменяют поведение и внешний вид веб-страниц. Расширение выполняет роль менеджера скриптов: обеспечивает их установку, обновление, запуск в изолированном окружении и управление правами доступа. Tampermonkey является самым распространённым инструментом такого рода: по данным разработчика, на 2024 год у расширения свыше 10 миллионов пользователей в Chrome Web Store.
¶История
Tampermonkey был создан немецким разработчиком Йенсом Бекером (Jan Biniok) и впервые опубликован в 2010 году как расширение для Google Chrome. Первоначально проект назывался Tampermonkey и позиционировался как «менеджер скриптов для Chrome», который восполнял отсутствие в этом браузере нативной поддержки пользовательских скриптов — в отличие от Firefox, где аналогичную роль долгое время играло расширение Greasemonkey.
Позднее поддержка была распространена на другие браузеры на движке Chromium (Opera, Microsoft Edge, Yandex Браузер, Vivaldi и др.), а также на Firefox (версия для Firefox основана на совместимом API WebExtensions). Для браузера Safari существует отдельная платформенная версия. В 2018 году разработчик представил Tampermonkey для Android, работающий в составе приложения-оболочки с поддержкой встроенных браузеров.
¶Принцип работы
Tampermonkey управляет скриптами, написанными в формате, восходящем к стандарту Greasemonkey (UserScript). Каждый скрипт снабжается специальным блоком метаданных в начале файла, определяющим, на каких сайтах он должен выполняться:
`` // ==UserScript== // @name Пример скрипта // @namespace http://tampermonkey.net // @version 1.0 // @description Описание скрипта // @match https://example.com/ // @grant none // ==/UserScript== ``
Ключевые директивы метаданных:
@name— название скрипта;@match/@include/@exclude— правила определения страниц, на которых скрипт активен;@grant— список API, к которым скрипту разрешён доступ (например,GM_xmlhttpRequestдля запросов в обход CORS);@require— подключение внешних библиотек;@run-at— момент запуска (например, до или после загрузки DOM).
При загрузке страницы Tampermonkey проверяет её URL по заданным правилам и, при совпадении, выполняет соответствующий скрипт. Скрипты работают в изолированном окружении с доступом к дополнительным API (функциям Greasemonkey), которые расширяют возможности стандартного JavaScript на странице — например, позволяют делать сетевые запросы, читать и записывать данные в локальное хранилище, управлять уведомлениями.
¶Возможности
- Установка скриптов одним нажатием с сайтов-хранилищ, таких как OpenUserJS и Greasy Fork, либо вручную через встроенный редактор.
- Автоматическое обновление скриптов: расширение периодически проверяет наличие новых версий по указанному в метаданных адресу.
- Встроенный редактор с подсветкой синтаксиса, отладкой и синхронизацией скриптов через облако Tampermonkey (доступно в платной версии Premium).
- Импорт и экспорт скриптов в формате JSON, а также резервное копирование.
- Управление разрешениями: для каждого скрипта можно задать, на каких сайтах он может работать, и какие API ему доступны.
- Режимы запуска: в обычном окне, в приватном режиме, на конкретных доменах.
¶Применение
Пользовательские скрипты через Tampermonkey применяются для самых разных задач:
- изменение интерфейса отдельных сайтов (удаление рекламы, изменение компоновки, тёмная тема);
- автоматизация рутинных действий (заполнение форм, массовые операции);
- добавление функций, отсутствующих на сайте (подсчёт, экспорт данных, горячие клавиши);
- обход некоторых ограничений сайтов, например, принудительное включение плееров или раскрытие скрытых элементов.
Наиболее популярные скрипты, устанавливаемые через Tampermonkey, имеют миллионы установок — например, скрипты для улучшения интерфейса YouTube, ВКонтакте, Reddit и других крупных площадок.
¶Безопасность
Поскольку пользовательские скрипты получают расширенные права на страницах, Tampermonkey предоставляет средства контроля: список разрешённых API для каждого скрипта, журнал выполнения, возможность отключить скрипт на конкретном сайте. Разработчики рекомендуют устанавливать скрипты только из доверенных источников и проверять их исходный код. В 2017 году в Greasy Fork — крупнейшем хранилище скриптов — действует система автоматической проверки скриптов на потенциально опасные конструкции.
¶См. также
- Greasemonkey
- UserScript
- Расширение браузера
- AdBlock
¶Источники
- Официальный сайт Tampermonkey
- Chrome Web Store — карточка расширения Tampermonkey
- Документация Tampermonkey (tampermonkey.net/documentation)
- Greasy Fork — хранилище пользовательских скриптов
