Давайте для начала разберёмся, что же такое в принципе пользовательские скрипты (мы также иногда называем их "расширениями"). Пользовательский скрипт — это, по сути, мини-программа, написанная на языке Javascript и модифицирующая или расширяющая функциональность одного или нескольких сайтов. Пользователям AdGuard уже наверняка знакомы такие расширения, как Помощник AdGuard, Блокировщик всплывающей рекламы и AdGuard Extra.
AdGuard может значительно расширять функциональность веб-сайтов, работая как менеджер пользовательских скриптов. Добавлять собственные скрипты или управлять существующими вы можете в трёх наших продуктах: AdGuard для Windows, AdGuard для Android и AdGuard для Mac.
ВНИМАНИЕ
Эти скрипты были разработаны непосредственно нами, поэтому мы можем ручаться за их эффективность и безопасность. Имейте в виду, что скачивая новый скрипт из незнакомого источника, вы рискуете, ведь скрипты могут также и навредить вашему устройству. Старайтесь скачивать новые расширения только из проверенных источников, которым вы доверяете на 100%. Примеры популярных сайтов приведены ниже.
AdGuard Extra - расширение, блокирующее рекламу в сложных случаях, когда привычного подхода с правилами фильтрации недостаточно.
Блокировщик всплывающей рекламы - скрипт, блокирующий один из самых раздражающих типов рекламы - всплывающие окна.
Помощник AdGuard (старая версия) - расширение, предназначенное для управления фильтрацией прямо со страницы браузера (ручная блокировка, занесение сайта в исключения и т.д.).
Обратите внимание, что это устаревшая версия Помощника и нет смысла использовать её на новых системах, потому что её давно заменил Браузерный Помощник. Но старый Помощник может пригодиться, если для вашего браузера нет расширения Браузерного Помощника.
По большей части пользовательские скрипты создаются любителями, поэтому, устанавливая тот или иной скрипт, нужно быть очень осторожными. Тем не менее, существует великое множество интересных скриптов, которые действительно могут сделать использование некоторых сайтов более удобным.
Мы опишем несколько популярных каталогов пользовательских скриптов:
Userstyles.org - это каталог пользовательских стилей, но при этом он позволяет выгружать их в виде скриптов. Таким образом, любой пользовательский стиль может быть установлен посредством AdGuard. Будьте осторожны, скачивая малопопулярный стиль - он может нести угрозу.
Greasy Fork - каталог пользовательских скриптов от автора Stylish. Однако, в отличие от userstyles.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
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!");
)}();