Los archivos de configuración automática se pueden usar para establecer y bloquear preferencias que no están cubiertas por las políticas de Firefox.
Para usar la configuración automática, tu colocas dos archivos en los directorios de Firefox. En Windows, van en el mismo directorio donde está instalado Firefox. En macOS, van al directorio Contenido / Recursos de Firefox.app.
El primer archivo que necesitas crear se llama autoconfig.js y se coloca en el directorio predeterminado/pref. Debe contener las siguientes dos líneas:
pref("general.config.filename", "firefox.cfg"); pref("general.config.obscure_value", 0);
La primera línea especifica el nombre del archivo de configuración automática. Puedes especificar cualquier nombre que desees, pero la ubicación del archivo no se puede cambiar.
La segunda línea indicaba que no deseas que la configuración automática esté oscurecida. De forma predeterminada, Firefox espera que el archivo se modifique en byte en 13 bytes para ofuscarlo.
Los segundos archivos que necesita crear se llaman firefox.cfg y se colocan en el nivel superior.
Siempre debe comenzar con una línea comentada:
// IMPORTANT: Start your code on the 2nd line
Aunque la extensión de un archivo de configuración automática suele ser cfg, el archivo de configuración automática en sí es un archivo JavaScript. Esto significa que puedes escribir JavaScript dentro del archivo para tener una lógica diferente en diferentes situaciones.
Las siguientes funciones están disponibles dentro de un archivo de configuración automática:
pref(prefName, value) – establece el valor de usuario de una preferencia. Esta función establece explícitamente la preferencia como una preferencia del usuario. Eso significa que si el usuario ha cambiado el valor, se restablecerá cada vez que se inicie el navegador.
defaultPref(prefName, value) – establece el valor predeterminado de una preferencia. Este es el valor que tiene una preferencia cuando el usuario no ha establecido ningún valor.
lockPref(prefName, value) – establece el valor predeterminado de una preferencia y la bloquea. Esta es la función más familiar para las personas cuando se trata de archivos de configuración automática. Bloquear una preferencia impide que el usuario la cambie y, en la mayoría de los casos, desactiva la interfaz de usuario en las preferencias, por lo que es obvio para el usuario que la preferencia se ha inhabilitado. En los casos en que no vea que las cosas se deshabiliten en las preferencias, hay algunas preferencias de "disable_button" que cuando se bloquean, deshabilite los botones. Por ejemplo, si bloquea el prefijo
pref.privacy.disable_button.view_passwords
deshabilitará el botón "Ver contraseñas". Las otras preferencias que bloquean los botones son:
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.
unlockPref(prefName) – desbloquea una preferencia. Como ejemplo, puede haber casos en los que se te bloquea una preferencia para todos y luego se desbloquea para un usuario en particular.
getPref(prefName) – recupera el valor de una preferencia. Si la preferencia no existe, muestra un error. Solo debes usar esto en las preferencias que sabes que existen.
clearPref(prefName) – elimina el valor de usuario de una preferencia y la restablece a su valor predeterminado.
displayError(funcname, message) – muestra un error en un formato específico.
Netscape.cfg/AutoConfig failed. Please contact your system administrator. Error: [funcname] failed: [message]
Esto es útil para la depuración.
getenv(name) – te permite consultar variables de entorno. Esto puede permitirte hacer cosas como obtener nombres de usuarios y otra información del sistema.
Si desea administrar de forma centralizada su archivo de configuración automática, puedes especificar la ubicación de un archivo secundario de configuración automática en el archivo principal de configuración automática:
pref("autoadmin.global_config_url","http://yourdomain.com/autoconfigfile.js");
La URL puede ser cualquier protocolo compatible con Firefox. Esto incluye especificar el archivo: protocolo para apuntar a un archivo en una unidad en red. El formato del archivo de configuración automática remota es el mismo que el archivo de configuración automática en el cliente, excepto que la primera línea no se ignora.
Si deseas tener información específica del usuario en su configuración, puede establecer otra preferencia:
pref("autoadmin.append_emailaddr", true);
Esto agregará un signo de interrogación (?) Y una dirección de correo electrónico a la solicitud.
Te estará preguntando de dónde proviene esa dirección de correo electrónico. Debido a que Firefox no usa direcciones de correo electrónico, deberás configurarlo. Si no lo hace, Firefox mostrará un mensaje pidiéndote la dirección de correo electrónico. La preferencia se llama mail.identity.useremail y es una preferencia de cadena. Como el archivo de configuración automática es un archivo JS, puedes establecer esta preferencia antes de configurar autoadmin.global_config_url. Puedes hacer algo como esto:
var user = getenv("USER"); lockPref("mail.identity.useremail", user); lockPref("autoadmin.global_config_url","http://yourdomain.com/autoconfigfile.js");
Hay algunas otras preferencias que controlan aspectos de la configuración automática. autoadmin.refresh_interval hace que la configuración automática se actualice en un intervalo determinado especificado en minutos. También hay algunas preferencias relacionadas con cómo se maneja fuera de línea, incluyendo autoadmin.offline_failover y autoadmin.failover_to_cached. Así es como funcionan.
Cada vez que se recupera de forma remota un archivo de configuración automática, se crea una copia de seguridad de ese archivo en el directorio de perfil del usuario llamado failover.jsc. Si la preferencia autoadmin.failover_to_cached se establece en false, Firefox lee el archivo en caché y luego marca el navegador como desconectado y bloquea la preferencia para que el usuario no pueda conectarse. Si la preferencia se establece en verdadero, simplemente utiliza el archivo en caché y luego continúa. La preferencia autoadmin.offline_failover controla si el archivo en caché se usa o no cuando el usuario simplemente está desconectado. Si se establece en verdadero, se utiliza el archivo en caché.