Configure o Firefox sem usar o GUI

Configure o Firefox sem usar o GUI

no contexto de automatizar a instalação de uma máquina, gostaria de configurar o firefox, especificamente as configurações de proxy, a partir da linha de comando, seja executando comandos ou editando arquivos de configuração, por exemplo.

Isso é possível e, em caso afirmativo, como?

Editar: esqueci de mencionar que gostaria de configurar o proxy para todos os usuários.

Responder1

De acordo comhttps://support.mozilla.org/en-US/kb/customizing-firefox-using-autoconfigvocê precisa criar 2 arquivos. O primeiro arquivo autoconfig.js deve estar no diretório install-dir/defaults/pref e deve conter apenas 2 linhas:

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

O segundo arquivo firefox.cfg deve estar localizado em install-dir/ contém as configurações do seu proxy.

Se você estiver usando o Ubuntu 22.04 ou posterior, o Firefox é fornecido rapidamente (consultehttps://ubuntu.com/desktop/features). Você também pode estar usando o snap em outras distribuições. Se você não tiver certeza se o Firefox está instalado rapidamente, tente o seguinte:

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

O snap do Firefox não é capaz de ler diretórios como /usr/lib/firefox e o sistema de arquivos do snap do firefox é somente leitura. A partir do Firefox 108, você tem a opção de colocar seus arquivos de configuração em /etc/firefox (basta criar este diretório se ele não existir). Execute as etapas a seguir. Você precisará ajustar o IP do seu proxy de acordo.

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

Crie o arquivo firefox.cfg com o seguinte conteúdo (o primeiro comentário é 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);

Crie os outros diretórios:

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

Crie o arquivo autoconfig.js com o seguinte conteúdo:

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

Agora o proxy está configurado para todos os usuários deste sistema local. Você pode encontrar mais informações aqui:https://bugzilla.mozilla.org/show_bug.cgi?id=1785278

Responder2

Você tem basicamente duas opções (que eu possa imaginar)

  1. Inicie o Firefox e atualize seu perfil com as configurações corretas (proxy, por exemplo). Em seguida, feche e recupere sua configuração no formato ~myusername/.mozilla/firefox/xxxxxxx.default/prefs.js.xxxxxé uma string dinâmica. Você pode então usar essas preferências de usuário para sua implantação.
  2. Atualize diretamente esse arquivo, depois de implantar/instalar uma máquina, com as configurações de proxy.

Quando você iniciar o Firefox com esse usuário, as configurações serão aplicadas diretamente.


Segundo comentário do @Sparhawk, a segunda opção caberia melhor. Nesse caso mantemos o original prefs.jso mais intacto possível, apenas alterando as configurações do proxy:

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

informação relacionada