Passer au contenu principal

Extensions

Scripts utilisateur

Les scripts utilisateurs ou userscripts (que nous appelons aussi "extensions") sont, en fait, des miniprogrammes écrits en JavaScript. Ils modifient ou élargissent les fonctionnalités d'un ou plusieurs sites web. De nombreux utilisateurs d'AdGuard sont peut-être déjà familiers avec des scripts utilisateur tels que AdGuard Assistant, Popup Blocker et AdGuard Extra.

Apps prises en charge

AdGuard peut accroître considérablement les fonctionnalités des sites web en agissant comme un gestionnaire de scripts utilisateur. Vous pouvez ajouter vos scripts personnalisés ou gérer ceux existants dans nos trois produits : AdGuard pour Windows, AdGuard pour Android et AdGuard pour Mac.

Scripts AdGuard recommandés

Ces scripts utilisateur proviennent directement des développeurs AdGuard et nous pouvons garantir qu'ils sont efficaces et sûrs. Pour certains des scripts utilisateur développés par des tiers que nous considérons comme bons et fiables, faites défiler jusqu'à la section suivante. Vous pouvez également trouver ci-dessous certains des sites Web populaires avec des scripts, mais n'oubliez pas que chaque fois que vous téléchargez un script utilisateur à partir d'une source inconnue, vous vous exposez à un certain risque, car certains scripts peuvent être dangereux pour votre ordinateur.

AdGuard Extra

Une extension qui bloque les publicités dans les cas difficiles où l'approche habituelle basée sur les filtres ne suffit pas. AdGuard Extra est préinstallée dans les applications autonomes d'AdGuard, sauf pour celle d'iOS, vous n'avez donc rien à faire pour l'activer. Cependant, si vous souhaitez l'utiliser avec l'extension de navigateur AdGuard ou tout autre bloqueur de publicités, vous devrez utiliser une extension supplémentaire. Apprenez-en plus sur ce script utilisateur et comment l'installer sur GitHub.

AdGuard Extra

Bloqueur AdGuard de fenêtres pop-up

Le nom parle de lui-même : il bloque les pop-ups, un des types de publicité les plus agaçants sur les pages web. Apprenez plus sur ce script utilisateur, ses fonctionnalités clés et son installation sur GitHub.

Bloqueur AdGuard de fenêtres pop-up

Assistant AdGuard (ancienne version)

Cette extension personnalisée est conçue pour contrôler le filtrage directement depuis la page du navigateur (blocage manuel, inclusion dans la liste autorisée, etc.).

note

Cette version de l'Assistant est obsolète et inutile à utiliser sur les nouveaux systèmes, puisqu'elle a été remplacée par l'Assistant de navigateur complet. Mais l'ancien Assistant peut être utile s'il n'y a pas d'Assistant de navigateur pour votre navigateur. Si c’est votre cas, vous pouvez apprendre comment installer l'Assistant AdGuard sur GitHub.

Désactiver AMP

Un script préinstallé uniquement dans AdGuard pour Android. Il désactive AMP (Accelerated Mobile Pages - pages mobiles accélérées) sur la page de résultats de recherche Google. Apprenez plus sur ce script utilisateur et comment l'installer sur GitHub.

Désactiver AMP

Meilleurs choix en dehors d'AdGuard

Ces scripts utilisateur ne sont pas développés par AdGuard, et nous ne pouvons donc pas garantir à 100 % qu'ils sont sûrs et/ou fonctionnent à tout moment. Cependant, d'après notre expérience, ils méritent une recommandation car ils ont tous gagné leur bonne réputation.

Don't track me Google

Ce script supprime la fonctionnalité de suivi de Google des liens dans les résultats de recherche Google. Il accélère le chargement des résultats de recherche et vous permet de cliquer ou d'appuyer avec le bouton droit pour copier l'URL du lien.

Son code source est disponible sur GitHub. Ce script utilisateur peut être téléchargé depuis GreasyFork et installé dans n'importe quelle application basée sur AdGuard CoreLibs.

tinyShield

Un script utilisateur pour les personnes visitant des sites web coréens et certains sites web internationaux. Le script utilisateur tinyShield bloque les publicités Ad-Shield et les anti-adblock. Ce script utilisateur peut être installé dans les applications basées sur AdGuard CoreLibs, Violentmonkey, Tampermonkey et quoid/scripts utilisateur. Apprenez plus sur tinyShield et comment l'installer sur GitHub.

Où trouver d'autres scripts utilisateur ?

Les scripts utilisateur étant principalement créés par des passionnés, il faut être bien prudent lors de leur installation. Tout script provenant d'une source inconnue comporte un risque potentiel. Pourtant, il existe une grande variété de scripts intéressants qui, s’ils sont installés avec soin et de manière responsable, peuvent réellement rendre l’utilisation de certains sites web plus pratique.

Nous décrirons ici certains des catalogues de scripts utilisateur les plus populaires.

Userscript.Zone

Userscript.Zone est un site Web qui permet de rechercher des scripts utilisateur en saisissant une URL ou un domaine correspondant. Le site Web est facile à utiliser et bénéficie d'une grande crédibilité, car seuls les scripts provenant des pages modérées sont affichés.

Greasy Fork

Greasy Fork est un catalogue de scripts utilisateur réalisé par les créateurs de Stylish. Les scripts de ce catalogue sont modérés, leur crédibilité est donc beaucoup plus élevée.

OpenUserJS.org

OpenUserJS.org est un catalogue de scripts utilisateur open source écrit en nodeJS. Il n'est pas modéré, donc méfiez-vous des scripts suspects.

Communauté

Si vous appréciez l’idée de personnaliser votre navigateur avec des scripts utilisateur et vous avez encore des questions, vous pouvez les poser sur l’un de ces sites Web :

Développement

Demande de licence

Si vous développez votre propre script utilisateur et souhaitez tester son fonctionnement avec AdGuard, vous pouvez demander une licence en remplissant le formulaire.

Compatibilité

Bloc de métadonnées
Propriétés prises en charge
Propriétés non prises en charge

Ces propriétés seront simplement ignorées par AdGuard.

Fonctions GM prises en charge

AdGuard prend en charge à la fois les anciennes fonctions GM_ et la nouvelle API GM4 qui utilisent l'objet GM.

note

Toutes les anciennes fonctions Greasemonkey répertoriées sont obsolètes mais toujours prises en charge.

You can find more information about Greasemonkey API in its manual.

Exemple

// ==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
// @grant GM_addElement
// @run-at document-start
// ==/UserScript==
!function(){(
console.log("I am loaded!");
)}();

Trusted Types API

AdGuard provides an instance of the PolicyApi class that allows you to manage Trusted Types in your userscripts.

You can access the instance of this class by using the ADG_policyApi variable in your userscript.

Properties
  • name: string — a name of the policy (Default is "AGPolicy").
  • isSupported: boolean — a flag indicating whether or not the Trusted Types API is supported by the current browser.
Polyfilled methods
Additional Types
/**
* Enum representation of the return values of the `getAttributeType` and
* `getPropertyType` methods of the native Trusted Types API.
*
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/TrustedTypePolicyFactory/getAttributeType}
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/TrustedTypePolicyFactory/getPropertyType}
*/
enum TrustedType {
HTML = 'TrustedHTML',
Script = 'TrustedScript',
ScriptURL = 'TrustedScriptURL',
}

// You can access it like that inside of userscript
ADG_TrustedType.HTML // "TrustedHTML"

/**
* Isomorphic trusted value type. If a browser supports the Trusted Types API, it will be one of the enum Trusted Types
* (`TrustedHTML`, `TrustedScript` or `TrustedScriptURL`); otherwise, it will be regular `string`.
*
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/TrustedHTML}
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/TrustedScript}
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/TrustedScriptURL}
*/
type TrustedValue = string | TrustedHTML | TrustedScript | TrustedScriptURL;
Additional methods
/**
* Creates a Trusted Type depending on `type`:
* - `TrustedHTML`
* - `TrustedScript`
* - `TrustedScriptURL`
* - or returns `value` if none of them is applicable.
*
* @param type Trusted Type.
* @param value Value from which a Trusted Type is created.
* @param createArgs Additional arguments to be passed to the function represented by `TrustedTypePolicy`.
* @returns Created value.
*/
function create(
type: TrustedType,
value: string,
...createArgs: unknown[]
): TrustedValue


// Example: Creates TrustedHTML
const trustedHTML = ADG_policyApi.create(ADG_TrustedType.HTML, '<div></div>');

/**
* Converts `value` of `attribute` into one of the Trusted Types:
* - `TrustedHTML`
* - `TrustedScript`
* - `TrustedScriptURL`
* - or returns `value` if none of them is applicable.
*
* @param tagName Name of an HTML tag.
* @param attribute Attribute.
* @param value Value of an attribute to be converted.
* @param elementNS Element namespace. If empty, defaults to the HTML namespace.
* @param attrNS Attribute namespace. If empty, defaults to null.
* @param createArgs Additional arguments to be passed to the function represented by `TrustedTypePolicy`.
* @returns Converted value.
*/
function convertAttributeToTrusted(
tagName: string,
attribute: string,
value: string,
elementNS?: string,
attrNS?: string,
...createArgs: unknown[]
): TrustedValue

// Example: Converts to TrustedScriptURL
const trustedScriptURL = ADG_policyApi.convertAttributeToTrusted("script", "src", 'SOME_URL');
scriptElement.setAttribute("src", trustedScriptURL);

/**
* Converts `value` of `property` into one of the Trusted Types:
* - `TrustedHTML`
* - `TrustedScript`
* - `TrustedScriptURL`
* - or returns `value` if none of them is applicable.
*
* @param tagName Name of an HTML tag.
* @param property Property.
* @param value Value of a property to be converted.
* @param elementNS Element namespace. If empty, defaults to the HTML namespace.
* @param createArgs Additional arguments to be passed to the function represented by `TrustedTypePolicy`.
* @returns Converted value.
*/
function convertPropertyToTrusted(
tagName: string,
property: string,
value: string,
elementNS?: string,
...createArgs: unknown[]
): TrustedValue

// Example: Converts to TrustedHTML
divElement.innerHTML = ADG_policyApi.convertPropertyToTrusted("div", "innerHTML", "<div></div>");

Styles utilisateur

Les styles utilisateur permettent aux utilisateurs de modifier l'apparence des sites Web populaires.

AdGuard vous offre la possibilité de téléverser ou de créer des styles d'utilisateur personnalisés. Ceci est une fonctionnalité avancée, donc vous aurez besoin de certaines connaissances en HTML et CSS.

Apps prises en charge

Actuellement, deux applications AdGuard vous permettent de créer et de gérer des styles d'utilisateur : AdGuard pour Windows (v7.19 ou version ultérieure) et AdGuard pour Mac (v2.16 ou version ultérieure). Nous prévoyons également de mettre en œuvre cette nouvelle fonctionnalité dans AdGuard v4.8 pour Android prochainement.

Il s'agit d'une fonctionnalité expérimentale, donc si vous rencontrez des problèmes lors de l'ajout ou de la création d'un style utilisateur, veuillez contacter notre équipe d'assistance au support@adguard.com.

Comment configurer un style utilisateur dans AdGuard

Vous pouvez télécharger des styles d'utilisateur à partir de divers sites Web. L'un des sites Web les plus populaires offrant des styles utilisateur est https://userstyles.world/, que nous utiliserons comme exemple pour les instructions suivantes sur la façon de configurer les styles utilisateur dans AdGuard.

  1. Suivez le lien ci-dessus et choisissez le style d'utilisateur qui vous convient

  2. Cliquez sur Copier à côté de l'adresse du style utilisateur

  3. Ouvrez les paramètres AdGuard → Extensions

  4. Appuyez sur le bouton [+] et collez le lien du style utilisateur

  5. C'est fait !

Si vous connaissez les règles CSS, vous pouvez créer des styles utilisateur vous-même.

note

Nous ne prenons pas en charge les styles utilisateur qui contiennent @var ou @advanced dans les métadonnées. AdGuard ne prend pas non plus en charge @preprocessor sans la valeur default.

  1. Ouvrez les paramètres AdGuard → Extensions

  2. Appuyez sur le bouton [+] et choisissez l'option Créer un style utilisateur. Une nouvelle fenêtre apparaîtra sur votre écran

  3. Pour créer un style utilisateur, écrivez d'abord le titre avec des métadonnées, par exemple

    /* ==UserStyle==
    @name New userstyle
    @version 1.0
    ==/UserStyle== */
  4. Écrivez la partie CSS après les métadonnées. AdGuard prend en charge la correspondance des noms de domaine de sites web (@-moz-document domain(…), …). Par exemple :

    body {
    background: gray;
    }

    Ou :

    @-moz-document domain('example.org'),
    domain('example.net'),
    domain('example.com') body {
    background: gray;
    }
  5. Dès que vous avez terminé, appuyez sur Enregistrer et Fermer. Votre nouveau style utilisateur a été ajouté à AdGuard

Exemple

/* ==UserStyle==
@name Example userstyle
@namespace https://example.org/userstyle
@homepageURL https://example.org/userstyle
@version 1.0.0
@license Other
@description This is an example
@author example
@preprocessor default
==/UserStyle== */
@-moz-document regexp("https?\:\/\/(www\.)?example\.(org|com).*") {
body {
background-color: #000000 !important;
}
}