Personalizzare Firefox con il file AutoConfig

I file AutoConfig possono essere utilizzati per impostare e bloccare le preferenze che non sono incluse nei criteri di gruppo su Windows o nel file policies.json per Mac e Linux. Questo metodo può essere utilizzato per modificare automaticamente le preferenze dell'utente o impedire all'utente finale di modificare preferenze specifiche bloccandole.

Configurazione del file AutoConfig

Per utilizzare il file AutoConfig, creare e inserire i due file riportati qui di seguito nella directory di Firefox. Su Windows, vanno inseriti nella stessa directory in cui è installato Firefox. Su macOS, vanno inseriti nella directory Contents/Resources di Firefox.app.

Il primo file che si deve creare è denominato autoconfig.js e deve essere posizionato nella directory defaults/pref. Deve contenere queste due righe:

pref("general.config.filename", "firefox.cfg");
pref("general.config.obscure_value", 0);

La prima riga specifica il nome del file AutoConfig. Il nome del file può essere personalizzato, ma la posizione del file non può essere modificata.

La seconda riga indica che il file AutoConfig non dovrebbe essere oscurato. Per impostazione predefinita, il contenuto del file offuscato si considera traslato di 13 lettere.

Il secondo file da creare è denominato firefox.cfg ed è collocato al livello più alto della directory di Firefox. Dovrebbe sempre iniziare con una riga commentata, ad esempio:

// IMPORTANT: Start your code on the 2nd line

Sebbene l'estensione di un file AutoConfig sia tipicamente .cfg, il file AutoConfig è un file JavaScript. Ciò consente di scrivere codice Javascript all'interno del file per aggiungere una logica diversa per le varie situazioni.

Funzioni del file AutoConfig

All'interno di un file AutoConfig sono disponibili le seguenti funzioni:

pref(prefName, value) – imposta il valore utente di una preferenza. Questa funzione imposta esplicitamente la preferenza come preferenza utente. Ciò significa che se l'utente ha modificato il valore, quel valore verrà ripristinato ogni volta che il browser viene avviato.

defaultPref(prefName, value) – imposta il valore predefinito di una preferenza. Questo è il valore che ha una preferenza quando l'utente non ha impostato alcun valore o l'utente reimposta la preferenza. Può essere modificato in modo permanente dall'utente.

lockPref(prefName, value) – imposta il valore predefinito di una preferenza e la blocca. Questa è la funzione più comunemente utilizzata. Il blocco di una preferenza impedisce a un utente di modificarla e, nella maggior parte dei casi, disattiva l'interfaccia utente (UI) nelle preferenze in modo che sia chiaro per l'utente che la preferenza è stata disattivata.

unlockPref(prefName) – sblocca una preferenza. Per fare un esempio, questa funzione potrebbe esser utilizzata nel caso in cui una preferenza dovrebbe essere bloccata per tutti gli utenti ma sbloccata per alcuni utenti specifici.

getPref(prefName) – recupera il valore di una preferenza. Se la preferenza non esiste, viene visualizzato un errore. Questa funzione dovrebbe essere utilizzata solo per le preferenze esistenti.

clearPref(prefName) – rimuove il valore utente di una preferenza ripristinandone il valore predefinito.

displayError(funcname, message) – visualizza un errore in un formato specifico e può essere uno strumento utile per il debug.

   Netscape.cfg/AutoConfig failed. Please contact your system administrator.
   Error: [funcname] failed: [message]

getenv(name) – consente di interrogare le variabili dell'ambiente. Questo può consentire l'accesso a informazioni come i nomi utente e altre informazioni di sistema.

Disattivare gli elementi dell'interfaccia utente (UI)

Nei casi in cui gli elementi dell'interfaccia utente non sono disattivati automaticamente nelle preferenze, ci sono alcune preferenze di tipo "disable_button" che, quando vengono bloccate, disattivano pulsanti specifici impedendone l'utilizzo. Ad esempio, l'inclusione di

lockPref("pref.privacy.disable_button.view_passwords",true);

nel proprio file AutoConfig disattiverà il pulsante Mostra password. Altre preferenze che bloccano i pulsanti sono:

  • pref.general.disable_button.default_browser
  • pref.browser.homepage.disable_button.current_page
  • pref.browser.homepage.disable_button.bookmark_page
  • pref.browser.homepage.disable_button.restore_default
  • security.disable_button.openCertManager
  • security.disable_button.openDeviceManager
  • app.update.disable_button.showUpdateHistory
  • pref.privacy.disable_button.cookie_exceptions
  • pref.privacy.disable_button.view_cookies
  • pref.privacy.disable_button.view_passwords
  • pref.privacy.disable_button.view_passwords_exceptions
  • pref.downloads.disable_button.edit_actions

Gestione centralizzata

Il file AutoConfig può essere gestito centralmente. Per fare ciò, è possibile specificare la posizione di un file AutoConfig secondario nel file AutoConfig primario:

pref("autoadmin.global_config_url","http://yourdomain.com/autoconfigfile.js");

L'URL può essere qualsiasi protocollo supportato da Firefox, incluso il protocollo file: per puntare a un file su un'unità in rete. Il formato del file AutoConfig remoto è uguale al file AutoConfig sul client, tranne per il fatto che la prima riga non viene ignorata.

Esistono altre preferenze che controllano gli aspetti del file AutoConfig. La preferenza autoadmin.refresh_interval fa in modo che il file AutoConfig si aggiorni in un determinato intervallo di tempo specificato in minuti. Ci sono anche le preferenze relative al modo in cui viene gestita la modalità non in linea (offline) che comprendono le preferenze autoadmin.offline_failover e autoadmin.failover_to_cached.

Ogni volta che un file AutoConfig viene recuperato in remoto, viene creata una copia di backup di quel file nella directory del profilo dell'utente chiamata failover.jsc. Se la preferenza autoadmin.failover_to_cached è impostata su false, Firefox legge il file memorizzato nella cache, contrassegna il browser come non in linea (offline) e blocca la preferenza in modo che l'utente non possa andare in linea (online). Se la preferenza è impostata su true, Firefox utilizza semplicemente il file memorizzato nella cache e continua. La preferenza autoadmin.offline_failover controlla se il file memorizzato nella cache viene utilizzato o meno quando l'utente è offline. Se è impostata su true, viene utilizzato il file memorizzato nella cache.

Preferenze specifiche dell'utente

Se è necessario includere informazioni specifiche dell'utente nel file AutoConfig, si dovrebbe impostare la preferenza seguente:

pref("autoadmin.append_emailaddr", true);

Questo aggiungerà un punto interrogativo (?) e un indirizzo email alla richiesta.

Poiché Firefox non utilizza gli indirizzi email, è necessario impostare la preferenza mail.identity.useremail. Se non è impostata, Firefox visualizzerà un messaggio che richiede l'indirizzo email. Poiché il file AutoConfig è un file Javascript, questa preferenza può essere impostata prima di impostare la preferenza autoadmin.global_config_url. Ad esempio in questo modo:

var user = getenv("USER");
lockPref("mail.identity.useremail", user);
lockPref("autoadmin.global_config_url","http://yourdomain.com/autoconfigfile.js");

È stato utile questo articolo?

Attendere…

Questi bravi collaboratori hanno contribuito alla scrittura di questo articolo:

Illustration of hands

Collabora

Impara e condividi la tua esperienza con gli altri. Rispondi alle domande e migliora la nostra Knowledge Base.

Ulteriori informazioni