quarta-feira, 25 de janeiro de 2012

Configurações de proxy no Mozilla Firefox via script

Salve, salve coringas!

A dica de hoje é válida para administradores de rede que desejam configurar as definições de proxy no Mozilla Firefox, tendo ainda a opção de bloquear qualquer alteração a nível de usuário.

Como sabemos, o Firefox não utiliza nenhuma entrada no registro do Windows para armazenar suas configurações, que dificulta na implantação de uma GPO.O Firefox armazena suas configurações em arquivos.Desta forma, a configuração do proxy será feita através de manipulação de arquivos.

O primeiro passo é gerar dois arquivos que são essenciais para esta funcionalidade entrar em vigor.Estes arquivos podem ser gerados a partir do bloco de notas do Windows ou qualquer editor de textos.

O primeiro arquivo deverá ser nomeado como mozilla.cfg e deverá ter o conteúdo abaixo:

//
lockPref("network.http.pipelining", true);
lockPref("network.http.pipelining.maxrequests", 8);
lockPref("network.http.pipelining.ssl", true);
lockPref("network.http.proxy.pipelining", true);
lockPref("network.proxy.backup.ftp", "proxy.coringhaz.net");
lockPref("network.proxy.backup.ftp_port", 3128);
lockPref("network.proxy.backup.socks", "proxy.coringhaz.net");
lockPref("network.proxy.backup.socks_port", 3128);
lockPref("network.proxy.backup.ssl", "proxy.coringhaz.net");
lockPref("network.proxy.backup.ssl_port", 3128);
lockPref("network.proxy.ftp", "proxy.coringhaz.net");
lockPref("network.proxy.ftp_port", 3128);
lockPref("network.proxy.http", "proxy.coringhaz.net");
lockPref("network.proxy.http_port", 3128);
lockPref("network.proxy.no_proxies_on","localhost,127.0.0.1,.coringhaz.net");
lockPref("network.proxy.share_proxy_settings", true);
lockPref("network.proxy.socks", "proxy.coringhaz.net");
lockPref("network.proxy.socks_port", 3128);
lockPref("network.proxy.ssl", "proxy.coringhaz.net");
lockPref("network.proxy.ssl_port", 3128);
lockPref("network.proxy.type", 1);


No exemplo acima, o endereço do proxy é proxy.coringhaz.net e utilizando a porta 3128 e incluindo na lista de exceções a própria máquina (localhost) e qualquer url que seja do domínio coringhaz.net
Observem também que cada linha começa com a palavra lockPref indicando que a alteração desta configuração estará bloqueada para o usuário.

O próximo arquivo a ser criado deverá ser nomeado como local-settings.js e deverá ter o conteúdo abaixo:

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

Com os arquivos criados o próximo passo será copiá-los para a pasta onde encontra-se os arquivos do Mozilla Firefox.Supondo que foi realizada a instalação padrão do Mozilla Firefox:

C:\Arquivos de Programas\Mozilla Firefox

Os dois arquivos criados deverão estar nos seguintes locais:

C:\Arquivos de Programas\Mozilla Firefox\mozilla.cfg

C:\Arquivos de Programas\Mozilla Firefox\defaults\pref\local-settings.js

Após a cópia dos arquivos, basta iniciar o Mozilla Firefox e pronto!


Veja como fica a configuração em vigor no nosso exemplo:




Para finalizar basta implementar um script para cópia dos arquivos nos computadores-alvo.No nosso exemplo foi gerado um arquivo de lote chamado setfirefox.bat com o conteúdo abaixo:

@COPY /Y \\coringhaz01\netlogon\mozilla.cfg "C:\Arquivos de programas\Mozilla Firefox\"
@COPY /Y
\\coringhaz01\netlogon\local-settings.js "C:\Arquivos de programas\Mozilla Firefox\defaults\pref\"

Vale lembrar que para este script ser executado com sucesso, você deverá executá-lo com privilégios administrativos, pois o usuário não terá permissões de escrita na pasta do Mozilla Firefox e não recomendo alterar as configurações de permissões nesta pasta.

Uma alternativa é gerar um script no WSH ou usar ferramentas como o Autoit.

Abaixo segue um script que escrevi no AutoIt para tal tarefa.Aproveitando o poder desta ferramenta, implementei as mudanças no MS Internet Explorer.

;SCRIPT PARA INSERCAO DE REGRAS DE PROXY
;Versao 1.0.0.0
;Autor: Coringão da Internet

;CONFIGURACAO DE PROXY PARA INTERNET EXPLORER VIA REGISTRO
Regwrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings","ProxyEnable","REG_DWORD","1")
Regwrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings","ProxyHttp1.1","REG_DWORD","1")
Regwrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings","ProxyOverride","REG_SZ",";*.coringhaz.net")
Regwrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings","ProxyServer","REG_SZ","proxy.coringhaz.net:3128")
 

;CONFIGURACAO DE PROXY PARA FIREFOX VIA LOCK FILE
Runas("administrador","","#IcOaRaCi12",4,"setfirefox.bat",@ScriptDir,@SW_HIDE)
Msgbox(64,"SCRIPT DE CONFIGURAÇÃO DE PROXY","Configurações aplicadas para os navegadores" & @CRLF & @CRLF &"Mozilla Firefox" & @CRLF & "Microsoft Internet Explorer",3)




É isso aí coringas...Até a próxima!!!

8 comentários:

  1. cara te amo, estou procurando um modo de fazer isso faz meses e com seu tutorial consegui de forma facil e rapida.

    Valeu

    ResponderExcluir
  2. cara te amo[2]
    MANDOU SUPER BEM!
    PARABÉNS!
    VOCê É UM ANJO ENVIADO POR DEUS!

    ResponderExcluir
  3. Parabéns!

    Resolveu a minha vida.

    ResponderExcluir
  4. Cara valeu mesmo pela ajuda já via tentato de tudo e não tinha conseguido nada;

    Um abraço

    ResponderExcluir
  5. Cara você esta de Parabéns mesmo, muito bom o seu tutorial, maravilhoso. Funciona Perfeito.

    ResponderExcluir
  6. Me chamo Rodrigo, e fazia algum tempo que tinha problema com o Mozilla.
    Muito obrigado por fazerem esse tipo de coisa.
    se melhorar vai ficar ruim...

    ResponderExcluir
  7. Vejam se podem me ajudar...implementei a politica e funcionou, porém quando bloqueio para o usuário não alterar essas configurações, o menu fica bloqueado mas marca a opção "Sem proxy", ou seja, não passa pelo proxy.

    ResponderExcluir