Давайте для начала разберёмся, что же такое в принципе пользовательские скрипты (мы также иногда называем их "расширениями"). Пользовательский скрипт — это, по сути, мини-программа, написанная на языке Javascript и модифицирующая или расширяющая функциональность одного или нескольких сайтов. Пользователям AdGuard уже наверняка знакомы такие расширения, как Помощник AdGuard, Блокировщик всплывающей рекламы и AdGuard Extra.
На данный момент пользовательские скрипты поддерживаются в трёх наших продуктах: AdGuard для Windows, AdGuard для Android и AdGuard для Mac (Mac-версия пока не позволяет добавить собственные пользовательские скрипты).
ВНИМАНИЕ
Эти скрипты были разработаны непосредственно нами, поэтому мы можем ручаться за их эффективность и безопасность. Имейте в виду, что скачивая новый скрипт из незнакомого источника, вы рискуете, ведь скрипты могут также и навредить вашему компьютеру. Старайтесь скачивать новые расширения только из проверенных источников, которым вы доверяете на 100%. Примеры популярных сайтов приведены ниже.
AdGuard Assistant - расширение, предназначенное для управления фильтрацией прямо со страницы бразуера (ручная блокировка, занесение сайта в исключения и т.д.).
AdGuard Extra - расширение, блокирующее рекламу в сложных случаях, когда привычного подхода с правилами фильтрации недостаточно.
По большей части пользовательские скрипты создаются любителями, поэтому, устанавливая тот или иной скрипт, нужно быть очень осторожными. Тем не менее, существует великое множество интересных скриптов, которые действительно могут сделать использование некоторых сайтов более удобным.
Мы опишем несколько популярных каталогов пользовательских скриптов:
Userstyles.org - это каталог пользовательских стилей, но при этом он позволяет выгружать их в виде скриптов. Таким образом, любой пользовательский стиль может быть установлен посредством AdGuard. Будьте осторожны, скачивая малопопулярный стиль - он может нести угрозу.
Greasy Fork - каталог пользовательских скриптов от автора Stylish. Однако, в отличие от userstyles.org, скрипты в этом каталоге проходят модерацию, так что доверие к ним намного выше.
OpenUserJS.org - каталог пользовательских скриптов с открытым кодом, написанный на nodeJS. Здесь также нет модерации, так что следует соблюдать осторожность.
Если вам понравилась идея персонизировать браузер при помощи пользовательских скриптов, и у вас есть какие-либо вопросы на эту тему, задать их вы можете на любом из этих сайтов:
Любой автор пользовательского скрипта может запросить лицензию AdGuard для тестирования.
Для этого отправьте нам сообщение devteam@adguard.com со следующей информацией:
Тема: Запрос лицензии для автора пользовательского скрипта
Текст письма: Расскажите о пользовательском скрипте, над которым вы работаете.
@name
@description
@version
@downloadURL
@updateURL
@match
@include
@exclude
@resource
@require
@grant
@connect
@namespace
AdGuard проигнорирует эти свойства.
@unwrap
@noframes - AdGuard не будет выполнять пользовательский скрипт внутри любого iframe.
@icon
@run-at
AdGuard поддерживает как старые функции GM_, так и новый API GM4, использующий объект GM.
GM.getValue / GM_getValue
GM.setValue / GM_setValue
GM.deleteValue / GM_deleteValue
GM.listValues / GM_listValues
GM.getResourceUrl / GM_getResourceURL
GM.setClipboard / GM_setClipboard
GM.xmlHttpRequest / GM_xmlhttpRequest
GM.info / GM_info
GM.notification
unsafeWindow
GM_getResourceText (устарело)
GM_addStyle (устарело)
GM_log (устарело)
GM.openInTab / GM_openInTab - Просто вызывает window.open.
// ==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!");
)}();