Configurando o Firefox para usar um proxy na linha de comando

17

Estou procurando uma maneira de dizer ao Firefox para usar um proxy no Ubuntu Ludid (10.04.1 LTS).

Estou instalando o Ubuntu semi-automaticamente em várias máquinas idênticas. Para isso, eu uso um script que, entre outras coisas, define configurações de proxy em todo o sistema:

echo "export http_proxy=http://myproxy:3128/" > /etc/profile.d/proxy.sh
echo "export HTTP_PROXY=http://myproxy:3128/" >> /etc/profile.d/proxy.sh
chmod a+x /etc/profile.d/proxy.sh

Posso confirmar que as variáveis ​​estão definidas corretamente ao fazer o check-in em um shell. A maioria dos programas respeita essa configuração e usa meu proxy. Firefox, no entanto, não. Quando abro sua caixa de diálogo de configurações de conexão de rede, no entanto, é predefinido para "usar configurações do sistema" para o proxy.

O que o Firefox espera aqui? Uma variável com nome diferente? Posso definir algo no prefs.js do FF?

jstarek
fonte

Respostas:

19

O Firefox simplesmente não pode fazer a coisa padrão e usar variáveis ​​de ambiente (embora, para ser honesto, isso seja parcialmente justificado, pois a coisa padrão não permite arquivos de configuração automática de proxy). As preferências para proxies estáticos são

user_pref("network.proxy.http", "wwwproxy.example.com");
user_pref("network.proxy.http_port", 3128);
user_pref("network.proxy.type", 1);

Há uma extensão do Firefox para usar $http_proxye variáveis ​​de ambiente similares: Proxy de ambiente .

As versões recentes do Firefox supostamente usam as variáveis ​​de ambiente usuais por padrão, ou se a preferência do tipo de proxy estiver explicitamente definida como 5 (“Usar configurações de proxy do sistema”), mas não funciona para mim com a versão no Ubuntu 10.04.

user_pref("network.proxy.type", 5);
Gilles 'SO- parar de ser mau'
fonte
2
Obrigado por suas respostas. Após a sugestão de Gilles de que o FF simplesmente não usa variáveis ​​de ambiente, fui ao bugtracker do Firefox e encontrei esta entrada: bugzilla.mozilla.org/show_bug.cgi?id=224886 Portanto, o problema é conhecido a montante. Desde 2003.
jstarek
essa opção pode ser colocada em / etc / skel para que todos os futuros usuários a obtenham?
Ubuntuser
@ Ubuntuser Acho que não. As opções do Firefox estão em um subdiretório cujo nome depende do perfil que você está usando.
Gilles 'SO- stop be evil'
8

Você diz 'proxy', mas seus exemplos indicam que você provavelmente quer dizer 'proxy HTTP' especificamente. No entanto, se você também tiver acesso a um proxy SOCKS, que não proíbe o tráfego HTTP, poderá usar a tsocksferramenta:

tsocks firefox

depois de ter configurado /etc/tsocks.confadequadamente.

jmtd
fonte
Obrigado pela dica. Sim, eu deveria ter especificado melhor: existe um proxy de cache para http (squid) que preciso usar.
Jstarek
6

De acordo com uma lista de opções de linha de comando, não há opção explizit para um proxy. Como você descobriu também, http_proxynem algo semelhante funciona. Eu sugeriria primeiro criar um perfil:

firefox -CreateProfile foo

Em seguida, você pode usar sedou qualquer ferramenta que você gosta de escrever user_pref("network.proxy.http", "YOUR_PROXY"); user_pref("network.proxy.http_port", PORT);para prefs.js. Agora o Firefox deve funcionar bem com esses proxies.

qbi
fonte