
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)
- 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. - 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.js
lo 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);