Пользовательские скрипты

Введение

Давайте для начала разберёмся, что же такое в принципе пользовательские скрипты (мы также иногда называем их "расширениями"). Пользовательский скрипт — это, по сути, мини-программа, написанная на языке Javascript и модифицирующая или расширяющая функциональность одного или нескольких сайтов. Пользователям AdGuard уже наверняка знакомы такие расширения, как Помощник AdGuard, Блокировщик всплывающей рекламы и AdGuard Extra.

Поддерживаемые продукты

AdGuard может значительно расширять функциональность веб-сайтов, работая как менеджер пользовательских скриптов. Добавлять собственные скрипты или управлять существующими вы можете в трёх наших продуктах: AdGuard для Windows, AdGuard для Android и AdGuard для Mac.

Пользовательские скрипты от AdGuard

ВНИМАНИЕ

Эти скрипты были разработаны непосредственно нами, поэтому мы можем ручаться за их эффективность и безопасность. Имейте в виду, что скачивая новый скрипт из незнакомого источника, вы рискуете, ведь скрипты могут также и навредить вашему устройству. Старайтесь скачивать новые расширения только из проверенных источников, которым вы доверяете на 100%. Примеры популярных сайтов приведены ниже.

  • AdGuard Extra - расширение, блокирующее рекламу в сложных случаях, когда привычного подхода с правилами фильтрации недостаточно.

  • Блокировщик всплывающей рекламы - скрипт, блокирующий один из самых раздражающих типов рекламы - всплывающие окна.

  • Помощник AdGuard (старая версия) - расширение, предназначенное для управления фильтрацией прямо со страницы браузера (ручная блокировка, занесение сайта в исключения и т.д.).

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

  • Отключить AMP - это скрипт, предустановленный только в AdGuard для Android, который отключает AMP (Accelerated Mobile Pages) на результатах поиска Google.

Где взять пользовательские скрипты

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

Мы опишем несколько популярных каталогов пользовательских скриптов:

Stylish (userstyles.org)

Userstyles.org - это каталог пользовательских стилей, но при этом он позволяет выгружать их в виде скриптов. Таким образом, любой пользовательский стиль может быть установлен посредством AdGuard. Будьте осторожны, скачивая малопопулярный стиль - он может нести угрозу.

Greasy Fork

Greasy Fork - каталог пользовательских скриптов от автора Stylish. Однако, в отличие от userstyles.org, скрипты в этом каталоге проходят модерацию, так что доверие к ним намного выше.

OpenUserJS.org

OpenUserJS.org - каталог пользовательских скриптов с открытым кодом, написанный на nodeJS. Здесь также нет модерации, так что следует соблюдать осторожность.

Сообщество

Если вы хотите персонализировать браузер при помощи пользовательских скриптов, и у вас есть какие-либо вопросы на эту тему, задать их можно на любом из этих сайтов:

Разработка

Запросить лицензию

Если вы разрабатываете свой пользовательский скрипт и хотите протестировать его работу с AdGuard, запросите бета-лицензию на приложение.

Для этого отправьте нам сообщение devteam@adguard.com со следующей информацией:

Тема: Запрос лицензии для автора пользовательского скрипта

Текст письма: Расскажите о пользовательском скрипте, над которым вы работаете.

Совместимость

Блок метаданных

Поддерживаемые свойства
@name
@namespace
@description
@version
@match
@include
@exclude
@grant
@connect
@require
@resource
@downloadURL
@updateURL
@supportURL
@homepageURL
@homepage
@website
@source
@run-at
@noframes
@icon
@iconURL
@defaulticon
@icon64
@icon64URL
Неподдерживаемые свойства

AdGuard проигнорирует эти свойства.

@unwrap

Поддерживаемые функции GM

AdGuard поддерживает как старые функции GM_, так и новый API GM4, использующий объект GM.

Значения

Обратите внимание, что все перечисленные функции GM_ устарели, но всё ещё поддерживаются.

GM.info / GM_info
GM.setValue / GM_setValue
GM.getValue / GM_getValue
GM.listValues / GM_listValues
GM.deleteValue / GM_deleteValue
GM.getResourceUrl / GM_getResourceURL
GM.setClipboard / GM_setClipboard
GM.xmlHttpRequest / GM_xmlhttpRequest
GM.openInTab / GM_openInTab
GM.notification
unsafeWindow
GM_getResourceText 
GM_addStyle 
GM_log 

Здесь вы найдёте развёрнутую информацию о Greasemonkey API.

Примеры

// ==UserScript==
// @name            Name as shown to the user when locale is english or unknown
// @name:ru         Name as shown to the user when locale is russian
// @description     Description as shown to the user when locale is english or unknown
// @description:ru  Description as shown to the user when locale is russian
// @icon            https://myhomepage.com/myuserscript.png
// @version         1.0.0.0
// @downloadURL     https://dl.myhomepage.org/myuserscript.user.js
// @updateURL       https://dl.myhomepage.org/myuserscript.meta.js
// @homepageURL     https://myhomepage.com/myuserscript
// @include         *
// @exclude         *://website.com/*
// @resource        https://myhomepage.com/myuserscript.css
// @require         https://myhomepage.com/mylibrary.js
// @grant           property:settings
// @grant           GM_getValue
// @grant           GM_setValue
// @grant           GM_deleteValue
// @grant           GM_listValues
// @grant           GM_getResourceText
// @grant           GM_getResourceURL
// @grant           GM_addStyle
// @grant           GM_log
// @grant           GM_setClipboard
// @grant           GM_xmlhttpRequest
// @grant           unsafeWindow
// @grant           GM_info
// @grant           GM_openInTab
// @grant           GM_registerMenuCommand
// @run-at document-start
// ==/UserScript==

!function(){(
    console.log("I am loaded!");
)}();