Como se pode alterar uma configuração do Firefox a partir da CLI?

5

Meu objetivo é automatizar a alteração de uma configuração sem ter que reiniciar a instância do Firefox em execução. Em particular, quero alterar o tipo de proxy de rede. Então, por exemplo, o ideal seria algo nos moldes de

firefox --set network.proxy.type "1"

ou

firefox --network-proxy-type "1"

Atualmente, minha solução alternativa é por meio de uma extensão chamada "QuickProxy", que permite ativar e desativar a configuração de proxy com um único clique no botão da barra Status do QuickProxy. (Obviamente, esta solução alternativa não funciona se você precisar alterar outras configurações)

Isso, no entanto, ainda é uma etapa extra - Para tudo o mais, a configuração Proxy é gerenciada dinamicamente através de um script que se conecta ao Network Manager (no Kubuntu Linux), que é acionado dependendo do endereço IP alocado para ativar ou desativar o uso do proxy . Apenas o Firefox não pode (atualmente) ser gerenciado assim.

Eu imagino que possa haver uma maneira de criar um tipo MIME "configurações" que pode alterar uma configuração, para que eu possa fazer algo semelhante a:

firefox file:///tmp/turn-proxy-on.settings

Ou talvez um add-on que faça o Firefox entender novas opções de CLI para conseguir isso ...

Mas qualquer outra maneira de alterar a configuração em uma instância do Firefox em execução seria suficiente.

P.S. Idealmente eu também gostaria de poder consultar os valores atuais da configuração, por exemplo, por meio de um comando como firefox --get network.proxy.setting

    
por Johan 09.01.2014 / 11:20

1 resposta

1

Não consigo encontrar uma maneira de recarregar o arquivo prefs.js (é onde o Firefox armazena suas configurações) depois de alterá-lo da linha de comando. É uma pena, porque seria a maneira mais simples de fazer isso.

No entanto, para a configuração específica que você deseja alterar, basta configurar um proxy.pac file que verifica se o seu IP está em uma sub-rede específica e apenas configura um proxy, se for:

if (isInNet(myIpAddress(), "192.168.1.0", "255.252.0.0")) { 
     proxy = "PROXY 123.456.789.100:12345";
}
else{
     proxy = "DIRECT";
}
return proxy;

Obviamente, você deve usar o URL e a porta do proxy real. Você também precisará modificá-lo para executar os testes corretos (faixa de IP, etc.) para sua configuração.

Agora, abra a guia de configuração de proxy, selecione o "URL de configuração automática de proxy" e aponte para: file:////path/to/proxy.pac . Reinicie o firefox e agora você deve ter seu proxy definido automaticamente, dependendo do seu endereço IP.

Veja aqui para mais detalhes.

    
por 09.01.2014 / 14:11