Открыть сервисСервис

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 — хранилище пользовательских скриптов
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru