Estensioni
Script utente
Gli userscript (li chiamiamo anche "estensioni") sono, di fatto, miniprogrammi scritti in JavaScript. Essi, modificano o estendono la funzionalità di uno o più siti web. Molti utenti di AdGuard potrebbero già essere a conoscenza di certi userscript, come AdGuard Assistant, Popup Blocker e AdGuard Extra.
AdGuard può ampliare significativamente la funzionalità del sito web, agendo da gestore di userscript. Puoi aggiungere i tuoi script personali o gestire quelli esistenti nei nostri tre prodotti: AdGuard per Windows, AdGuard per Android e AdGuard per Mac.
Script di AdGuard consigliati
Questi script utente provengono direttamente dagli sviluppatori di AdGuard e possiamo garantire che siano efficienti e sicuri. Per alcuni degli script utente sviluppati da altri che consideriamo buoni e affidabili, scorri verso il basso fino alla sezione successiva. Di seguito puoi anche trovare alcuni dei siti web popolari con script, ma ricorda che ogni volta che scarichi uno script utente da una fonte sconosciuta, ti esponi a un certo rischio, poiché alcuni script potrebbero essere dannosi al tuo computer.
AdGuard Extra
C'è un'estensione che blocca gli annunci in casi difficili, quando il solito approccio basato sui filtri non è sufficiente. AdGuard Extra è preinstallato nelle app autonome di AdGuard, tranne per quella per iOS, quindi, non devi fare nulla per abilitarla. Tuttavia, se desideri utilizzarla insieme all'Estensione di browser AdGuard o qualsiasi altro bloccatore di annunci, dovrai utilizzare un'ulteriore estensione. Scopri di più su questo script utente e su come installarlo su GitHub.
AdGuard Popup Blocker
Il nome dice tutto: blocca i popup, uno dei tipi più fastidiosi di inserzioni sui siti web. Scopri di più su questo script utente, le sue caratteristiche principali e l'installazione su GitHub.
AdGuard Assistant (versione ereditaria)
Questa estensione personalizzata è progettata per controllare il filtraggio direttamente dalla pagina web (blocco manuale, inserimento nella lista consentita, etc.).
Nota che questa versione di Assistant è ereditaria e non ha senso utilizzarla sui nuovi sistemi, poiché è stata sostituita dal Browser Assistant completo. Ma l'Assistant ereditario potrebbe tornare utile se non esiste alcun Browser Assistant per il tuo browser. Se questo è il tuo caso, puoi scoprire come installare AdGuard Assistant su GitHub.
Disable AMP
Uno script preinstallato soltanto su AdGuard per Android. Disabilita AMP (Pagine Mobili Accelerate) sulla pagina dei risultati di ricerca di Google. Scopri di più su questo script utente e su come installarlo su GitHub.
Le migliori scelte al di fuori di AdGuard
Questi script utente non sono sviluppati da AdGuard e quindi non possiamo garantire al 100% che siano al sicuro e/o funzionino sempre. Tuttavia, secondo la nostra esperienza, meritano una raccomandazione poiché si sono tutti guadagnati una buona reputazione.
Don't track me Google
Questo script rimuove la funzionalità di monitoraggio di Google dai collegamenti nei risultati di ricerca di Google. Accelera il caricamento dei risultati di ricerca e consente di fare clic con il pulsante destro del mouse o toccare per copiare l'URL del collegamento.
Il suo codice iniziale è disponibile su GitHub. Questo script utente può essere scaricato da GreasyFork e installato in qualsiasi app basata su AdGuard CoreLibs.
tinyShield
Uno script utente per coloro che visitano siti web coreani e alcuni siti web internazionali. Lo script utente tinyShield blocca le inserzioni di Ad-Shield e gli anti-adblock. Questo script utente si può installare nelle app basate su AdGuard CoreLibs, Violentmonkey, Tampermonkey e quoid/userscripts. Scopri di più su tinyShield e su come installarlo su GitHub.
Dove puoi ottenere altri script utente?
Poiché gli script utente sono creati principalmente da appassionati, dovresti essere cauto quando li installi. Qualsiasi script proveniente da una fonte sconosciuta comporta un potenziale rischio. Tuttavia, esiste una grande varietà di script interessanti che, se installati con attenzione e responsabilità, possono davvero rendere più conveniente l'utilizzo di alcuni siti web.
Qui, descriveremo alcuni dei cataloghi di userscript più popolari.
Userscript.Zone
Userscript.Zone è un sito web che consente di cercare script utente immettendo un URL o un dominio corrispondente. Il sito web è facile da usare e ha un elevato livello di credibilità poiché vengono visualizzati solo i codici provenienti da pagine moderate.
Greasy Fork
Greasy Fork è un catalogo di script utente dai creatori di Stylish. Gli codici in questo catalogo sono moderati, quindi, la loro credibilità è molto più elevata.
OpenUserJS.org
OpenUserJS.org è un catalogo di script utente open source, scritto in nodeJS. Non è moderato, quindi fai attenzione a codici sospetti.
Comunità
Se ti piace l'idea di personalizzare il tuo browser con script utente e hai più domande, puoi porle su uno di questi siti web:
Sviluppo
Richiedi la licenza
Se stai sviluppando il tuo script utente e vuoi testare come funziona con AdGuard, puoi richiedere una licenza compilando il modulo.
Compatibilità
Blocco dei metadati
Proprietà supportate
@name
@namespace
@description
@version
@match
@include
@exclude
@grant
@connect
@require
@resource
@downloadURL
@updateURL
@homepage
,@homepageURL
,@source
,@website
@run-at
@noframes
@icon
,@iconURL
,@defaulticon
@icon64
,@icon64URL
Proprietà non supportate
Queste proprietà saranno semplicemente ignorate da AdGuard.
Funzioni GM supportate
AdGuard supporta sia le vecchie funzionalità GM_ che la nuova API GM4, che utilizza l'oggetto GM.
Tutte le funzionalità di Greasemonkey elencate sono deprecate, ma ancora supportate.
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
GM.addElement
,GM_addElement
Puoi trovare ulteriori informazioni sull'API di Greasemonkey nel suo manuale.
Esempio
// ==UserScript==
// @name Nome mostrato all'utente se la lingua è inglese o sconosciuta
// @name:ru Nome mostrato all'utente se la lingua è russa
// @description Descrizione mostrata all'utente se la lingua è inglese o sconosciuta
// @description:ru Descrizione mostrata all'utente se la lingua è russa
// @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("Sono caricato.");
)}();
API Trusted Types
AdGuard fornisce un'istanza della classe PolicyApi
che consente di gestire i fiduciari nei tuoi script utente.
Puoi accedere all'istanza di questa classe usando la variabile ADG_policyApi
nel tuo script utente.
Proprietà
name: string
— un nome per la politica (Predefinito è"AGPolicy"
).isSupported: boolean
— un flag che indica se l'API Trusted Types è supportata dal browser attuale.
Metodi polifunzionali
ADG_policyApi.createHTML
. Se non supportato, restituisceinput: string
.ADG_policyApi.createScript
. Se non supportato, restituisceinput: string
.ADG_policyApi.createScriptURL
. Se non supportato, restituisceinput: string
.ADG_policyApi.getAttributeType
. Se non supportato, restituiscenull
.ADG_policyApi.getPropertyType
. Se non supportato, restituiscenull
.ADG_policyApi.isHTML
. Se non supportato, restituiscefalse
.ADG_policyApi.isScript
. Se non supportato, restituiscefalse
.ADG_policyApi.isScriptURL
. Se non supportato, restituiscefalse
.
Tipi aggiuntivi
/**
* Rappresentazione Enum dei valori di ritorno dei metodi `getAttributeType` e
* `getPropertyType` dell'API Trusted Types nativa.
*
* @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',
}
// Puoi accedervi in questo modo all'interno del codice dell'utente
ADG_TrustedType.HTML // "TrustedHTML"
/**
* Tipo di valore attendibile isomorfo. Se un browser supporta l'API Trusted Types, sarà uno dei tipi enum Trusted
* (`TrustedHTML`, `TrustedScript` o `TrustedScriptURL`); altrimenti, sarà una stringa regolare.
*
* @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;
Metodi aggiuntivi
/**
* Crea un Trusted Type a seconda di `tipo`:
* - `TrustedHTML`
* - `TrustedScript`
* - `TrustedScriptURL`
* - oppure restituisce `valore` se nessuno di essi è applicabile.
*
* @param tipo Trusted Type.
* @param valore Valore da cui viene creato un Trusted Type.
* @param creaArgs Argomenti aggiuntivi da passare alla funzione rappresentata da `TrustedTypePolicy`.
* @returns Valore creato.
*/
function create(
type: TrustedType,
value: string,
...createArgs: unknown[]
): TrustedValue
// Esempio: Crea TrustedHTML
const trustedHTML = ADG_policyApi.create(ADG_TrustedType.HTML, '<div></div>');
/**
* Converte `valore` di `attributo` in uno dei Tipi Affidabili:
* - `TrustedHTML`
* - `TrustedScript`
* - `TrustedScriptURL`
* - oppure restituisce `valore` se nessuno di essi è applicabile.
*
* @param tagName Nome di un tag HTML.
* @param property Attributo.
* @param value Valore di un attributo da convertire.
* @param elementNS Spazio dei nomi dell'elemento. Se vuoto, usa come predefinito lo spazio dei nomi HTML.
* @param attrNS Spazio dei nomi dell'attributo. Se vuoto, predefinito a null.
* @param createArgs Argomenti aggiuntivi da passare alla funzione rappresentata da `TrustedTypePolicy`.
* @returns Valore convertito.
*/
function convertAttributeToTrusted(
tagName: string,
attribute: string,
value: string,
elementNS?: string,
attrNS?: string,
...createArgs: unknown[]
): TrustedValue
// Esempio: Converte in TrustedScriptURL
const trustedScriptURL = ADG_policyApi.convertAttributeToTrusted("script", "src", 'SOME_URL');
scriptElement.setAttribute("src", trustedScriptURL);
/**
* Converte `valore` di `proprietà` in uno dei Tipi Affidabili:
* - `TrustedHTML`
* - `TrustedScript`
* - `TrustedScriptURL`
* - oppure restituisce `valore` se nessuno di essi è applicabile.
*
* @param tagName Nome di un tag HTML.
* @param property Proprietà.
* @param value Valore di una proprietà da convertire.
* @param elementNS Spazio dei nomi dell'elemento. Se vuoto, usa come predefinito lo spazio dei nomi HTML.
* @param createArgs Argomenti aggiuntivi da passare alla funzione rappresentata da `TrustedTypePolicy`.
* @returns Valore convertito.
*/
function convertPropertyToTrusted(
tagName: string,
property: string,
value: string,
elementNS?: string,
...createArgs: unknown[]
): TrustedValue
// Esempio: Converte in TrustedHTML
divElement.innerHTML = ADG_policyApi.convertPropertyToTrusted("div", "innerHTML", "<div></div>");
Stili utente
Gli stili utente consentono agli utenti di modificare l'aspetto dei siti web popolari.
AdGuard ha l'opzione di caricare o creare i propri stili utente. Questa è una funzione avanzata, quindi avrai bisogno di alcune conoscenze di HTML e CSS.
Attualmente, due app AdGuard consentono di creare e gestire stili utente: AdGuard per Windows (v7.19 o successivo) e AdGuard per macOS (v2.16 o successivo). Prevediamo anche di implementare questa nuova funzionalità in AdGuard v4.8 per Android nel prossimo futuro.
Questa è una funzione sperimentale, quindi se incontri problemi durante l'aggiunta o la creazione di stile utente, ti preghiamo di contattare la nostra assistenza all'indirizzo support@adguard.com.
Come impostare uno stile utente in AdGuard
Puoi scaricare stili utente da vari siti web. Uno dei siti web di stile utente più popolari è https://userstyles.world/, che useremo come esempio per le seguenti istruzioni su come impostare lo stile utente in AdGuard.
Segui il link sopra e scegli lo stile utente che ti piace
Clicca su Copia accanto all'indirizzo dello stile utente
Apri le impostazioni di AdGuard → Estensioni
Premi il pulsante [+] e incolla il link del stile utente
Fatto!
Se conosci le regole CSS, puoi anche creare stili utente da solo.
Non forniamo assistenza per gli stili utente che contengono @var
o @advanced
nei metadati. AdGuard non supporta inoltre @preprocessor
senza il valore default
.
Apri le impostazioni di AdGuard → Estensioni
Premi il pulsante [+] e scegli l'opzione Crea stile utente. Si aprirà una nuova finestra sullo schermo
Per creare uno stile utente, prima scrivi il titolo con i metadati, ad esempio
/* ==UserStyle==
@name New userstyle
@version 1.0
==/UserStyle== */Scrivi la parte CSS dopo i meta dati. AdGuard supporta la corrispondenza dei nomi di dominio dei siti web (
@-moz-document domain(…), …
). Ad esempio:body {
background: gray;
}O:
@-moz-document domain('example.org'),
domain('example.net'),
domain('example.com') body {
background: gray;
}Una volta terminato, premi Salva e Chiudi. Il tuo nuovo stile utente è stato aggiunto con successo a AdGuard
Esempio
/* ==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;
}
}