Configurar Firefox sin usar la interfaz gráfica de usuario

Configurar Firefox sin usar la interfaz gráfica de usuario

En el contexto de la automatización de la instalación de una máquina, me gustaría configurar Firefox, específicamente la configuración del proxy, desde la línea de comandos, ya sea ejecutando comandos o editando archivos de configuración, por ejemplo.

¿Es esto posible y, en caso afirmativo, cómo?

Editar: olvidé mencionar que me gustaría configurar el proxy para todos los usuarios.

Respuesta1

De acuerdo con lahttps://support.mozilla.org/en-US/kb/customizing-firefox-using-autoconfignecesitas crear 2 archivos. El primer archivo autoconfig.js debe estar en el directorio install-dir/defaults/pref y debe contener solo 2 líneas:

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

El segundo archivo firefox.cfg debe ubicarse en install-dir/ y contiene la configuración de su proxy.

Si está utilizando Ubuntu 22.04 o posterior, Firefox se proporciona en un abrir y cerrar de ojos (consultehttps://ubuntu.com/desktop/features). Es posible que también estés usando snap en otras distribuciones. Si no está seguro de si Firefox está instalado como complemento, intente lo siguiente:

$ which firefox
/snap/bin/firefox
or
~$ snap list
Name               Version          Rev    Tracking         Publisher   Notes
firefox            110.0-3          2356   latest/stable/…  mozilla    -

Firefox snap no puede leer directorios como /usr/lib/firefox y el sistema de archivos de Firefox snap es de solo lectura. A partir de Firefox 108, tiene la opción de colocar sus archivos de configuración en /etc/firefox (simplemente cree este directorio si no existe). Realice los siguientes pasos. Deberá ajustar la IP de su proxy en consecuencia.

$ cd /etc
$ sudo mkdir firefox  
$ cd /etc/firefox

Crea el archivo firefox.cfg con el siguiente contenido (el primer comentario es importante):

// IMPORTANT: Start your code on the 2nd line
pref("network.http.referer.disallowCrossSiteRelaxingDefault.top_navigation", true);
pref("network.proxy.backup.ssl", "");
pref("network.proxy.backup.ssl_port", 0);
pref("network.proxy.http", "192.168.XXX.XXX");
pref("network.proxy.http_port", XXXX);
pref("network.proxy.share_proxy_settings", true);
pref("network.proxy.ssl", "192.168.XXX.XXX");
pref("network.proxy.ssl_port", XXXX);
pref("network.proxy.type", 1);
pref("network.trr.mode", 5);

Crea los otros directorios:

$ sudo mkdir /etc/firefox/defaults 
$ sudo mkdir /etc/firefox/defaults/pref 
$ cd /etc/firefox/defaults/pref

Cree el archivo autoconfig.js con el siguiente contenido:

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

Ahora el proxy está configurado para todos los usuarios de este sistema local. Puedes encontrar más información aquí:https://bugzilla.mozilla.org/show_bug.cgi?id=1785278

Respuesta2

Tienes básicamente dos opciones (que se me ocurren)

  1. Inicie Firefox y actualice su perfil con la configuración correcta (proxy, por ejemplo). Luego cierre y recupere su configuración en formato ~myusername/.mozilla/firefox/xxxxxxx.default/prefs.js.xxxxes una cadena dinámica. Luego puede utilizar estas preferencias de usuario para su implementación.
  2. Actualice directamente ese archivo, después de haber implementado/instalado una máquina, con la configuración del proxy.

Cuando inicie Firefox con ese usuario, la configuración se aplicará directamente.


Según el comentario de @Sparhawk, la segunda opción encajaría mejor. En ese caso mantenemos el original prefs.jslo más intacto posible, simplemente cambiando la configuración del proxy:

user_pref("network.proxy.http", "IPADDRESS OR URL");
user_pref("network.proxy.http_port", 8080);

información relacionada