Como posso alterar as configurações de proxy do Firefox a partir de um programa externo?

StackOverflow https://stackoverflow.com/questions/404729

  •  03-07-2019
  •  | 
  •  

Pergunta

Eu vi alguns programas (por exemplo, Charles Web Developer Proxy) que são capazes de modificar as configurações de proxy do Firefox. A sequência é a seguinte:

  1. O Firefox está em execução, com os usuários configurações de proxy.
  2. usuário inicia o aplicativo de terceiros externo, que
  3. configurações de proxy modifica do Firefox e, em seguida
  4. o usuário sai do programa de terceiros e,
  5. Firefox recomeça a correr com suas configurações de proxy originais.

Assumindo que a aplicação externa é lembrar as configurações de proxy antigos e restaurá-los na saída como eu posso ler e configurações de proxy gravação do Firefox? Já experimentou pesquisando através do doco Firefox, mas sem sorte ainda.

Opções Considerado:

  • Escrever um novo arquivo de preferências do usuário de configuração e iniciar uma nova instância do navegador. Iria funcionar, mas não muito bem -. Charles, por exemplo, pode modificar as configurações de um navegador já em execução e restaurá-los sem reiniciar
  • Criar um plug-in. Poderia escrever um plugin do Firefox que ofereceu algum tipo de IPC para o exterior e depois lidou com a definição em si preferência Firefox. Na verdade, eu acho que isso pode ser a única maneira. Desativando Charles' Firefox plug-in parece desativar sua capacidade de modificar as preferências na mosca.

Recursos Possíveis

Foi útil?

Solução

Pelo que pude ver da documentação, Charles tem um correspondente extensão do Firefox que instala / usos. Isso pode ser como ele pode recarregar as informações de proxy na mosca.

informações

Proxy é armazenado em prefs.js do seu perfil, mas que não pode ser recarregado na mosca. Firefox lê-lo na inicialização e escreve a ele quando ele é desligado, e não carrega com ele no meio. Além disso, se o Firefox está em execução quando você editar prefs.js, as alterações serão substituídas.

Eu pensei que você pode ser capaz de fazer algo com um arquivo PAC, mas depois de cavar um pouco, descobri que não parece ser recarregado em tempo real também. Você teria que reiniciar para recarregar quaisquer modificações para as configurações.

Outras dicas

Você pode querer olhar como Fiddler faz isso (www.fiddler2.com). C: \ Arquivos de programas \ Fiddler2 \ fiddlerhook \ pasta tem uma extensão do Firefox que mostra como isso pode ser feito

.

Todas as configurações de proxy para o Firefox, na minha máquina, são armazenados em C: \ DOCUME ~ 1 \ BRUCEX ~ 1 \ APPLIC ~ 1 \ Mozilla \ Firefox \ Profiles \ licga1pg.default \ prefs.js. O cabeçalho no arquivo que diz

# Mozilla User Preferences

/* Do not edit this file.
 *
 * If you make changes to this file while the application is running,
 * the changes will be overwritten when the application exits.
 *
 * To make a manual change to preferences, you can visit the URL about:config
 * For more information, see http://www.mozilla.org/unix/customizing.html#prefs
 */

O link para customizing.html é aqui . Assim, em teoria, você poderia ajustar alguns ou todos estes

user_pref("network.proxy.backup.ftp", "squid.home-server");
user_pref("network.proxy.backup.ftp_port", 3128);
user_pref("network.proxy.backup.gopher", "squid.home-server");
user_pref("network.proxy.backup.gopher_port", 3128);
user_pref("network.proxy.backup.socks", "squid.home-server");
user_pref("network.proxy.backup.socks_port", 3128);
user_pref("network.proxy.backup.ssl", "squid.home-server");
user_pref("network.proxy.backup.ssl_port", 3128);
user_pref("network.proxy.ftp", "squid.home-server");
user_pref("network.proxy.ftp_port", 3128);
user_pref("network.proxy.gopher", "squid.home-server");
user_pref("network.proxy.gopher_port", 3128);
user_pref("network.proxy.http", "squid.home-server");
user_pref("network.proxy.http_port", 3128);
user_pref("network.proxy.no_proxies_on", "localhost, 127.0.0.1, *.my-domain");
user_pref("network.proxy.share_proxy_settings", true);
user_pref("network.proxy.socks", "squid.home-server");
user_pref("network.proxy.socks_port", 3128);
user_pref("network.proxy.ssl", "squid.home-server");
user_pref("network.proxy.ssl_port", 3128);
user_pref("network.proxy.type", 1);

embora não é a questão, em seguida, de obter o Firefox para re-lê-los.

Se você confira alguns dos elos as respostas para minha pergunta anterior você pode encontrar código que você pode usar para ajustar as configurações de proxy que você necessário.

Há uma conexão ActiveX para Firefox via ActiveX Control para hospedagem Netscape Plug-ins no IE , mas eu tenho minhas dúvidas se isso vai ser de alguma ajuda. Ainda assim, vale a pena dar uma olhada.

Mesmo que eu estava enfrentando a questão de definições de ligação feitas para usar o proxy manual não estava sendo refletido quando eu estava lançando navegador Firefox do thir aplicação festa (Estou trabalhando em selênio)

Eu cansei acrescentando users.js arquivo em C: \ Program Files \ Mozilla Firefox \ defaults \ profile

com as mudanças como sugerido acima enunciados (adicionando user_pref), mas de alguma forma ainda meu navegador Firefox não foi pegando as alterações mencionadas. A mesma coisa, mesmo em meus prefs.js no mesmo local (Na verdade meus prefs.js está vazio !!)

Mas tem alguma outra maneira de fazê-lo ... em C: \ Program Files \ Mozilla Firefox \ greprefs \ all.js, fazer as mesmas alterações sugeridas acima pref ( "network.proxy.type", 0); a 1 pref ( "network.proxy.http", ""); para localhost pref ( "network.proxy.http_port", 0); para 4444

e as coisas começaram a trabalhar .. Mas não tenho certeza se esta é a maneira certa de fazê-lo, uma vez que estamos mudando um arquivo no diretório de instalação .. BTW é um bug com o Firefox ??

Agradecemos seus comentários

Eu tentei baixar o rc selênio 1.0.3 e usado cromo * /usr/lib/firefox-3.0.10/firefox-bin seguido pela URL do AUT.It worked.Supposedly eles removeram o modo personalizado * de correndo de 1.0.3 (o meu palpite), porque em, descompactar o arquivo de selênio-server.jar, eu não poderia encontrar qualquer arquivo custom.Class ao contrário de versões anteriores, onde não estava presente arquivo custom.Class um no selênio-servidor arquivo .jar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top