Posso fazer o Windows 7 alterar minhas configurações de proxy com base na minha conexão de rede?


26

Movendo meu LapTop entre trabalho e casa, preciso alterar minhas configurações de proxy da Internet. Existe alguma maneira de o Windows 7 alterar essas configurações com base na minha rede ativa no momento?


1
Owh, eu gostaria que o meu laptop fizesse o mesmo, com preguiça de procurar a resposta :-(
Ivo Flipse

Respostas:


20

Você pode configurar isso com um PAC (script de configuração automática de proxy). São pequenos scripts escritos em Javascript que permitem especificar várias regras de conexão. A maioria dos navegadores modernos de desktop pode lê-los sem problemas. Eu tenho o mesmo configurado no Internet Explorer e no Firefox.

Um arquivo PAC mínimo que sempre envia você para o servidor proxy proxy.companyname na porta 81:

function FindProxyForURL(url, host)
{
     return "PROXY proxy.companyname:8080";
}

E um exemplo um pouco mais complicado de um arquivo PAC que verifica em qual rede você está, verificando o intervalo de endereços IP que você selecionou. Neste exemplo, todos os PCs clientes da sua empresa recebem um endereço IP no intervalo 10.10. * Por DHCP e acessam a Internet pelo servidor proxy proxy.companyname na porta 81.

//Turn debug mode on by setting debug variable to any non-empty string
//Note that "" is an empty string, and that "0", "1" & "test" are not empty strings.


function FindProxyForURL(url, host)
  {
    var ip = myIpAddress();
    var debug = "";

    if(debug)
    {
        alert("proxy.pac IP=" + ip + "  HOST=" + host + "  URL=" + url);
    }

      // All client PCs on the internal network will have a 10.10.x.x address, check if I have this
     if (shExpMatch(ip, "10.10.*"))
     {
             if(debug)
          {
                 alert("Proxy for " + url);
             }
     return "PROXY proxy.companyname:81";
     }

     // If you have a different IP then this isn't the company network
     else 
     {
             if(debug)
          {
      alert("You are not at CompanyName so going direct for " + url);
             } 
            return "DIRECT";
     }

  }

O script também possui um modo de depuração que você pode usar para testar se está funcionando e qual modo (conexão PROXY ou DIRETA) acha que sua conexão atual deve estar.

Você também pode criar um script mais complexo que verifique coisas como se o servidor ao qual você está se conectando estiver na rede interna da empresa (e, assim, desejar uma conexão DIRETA, mesmo que seu PC esteja atualmente na rede da empresa), é aqui que você ' coloque tudo o que você normalmente coloca na caixa de exceções de proxy do IE, expandindo-o da seguinte maneira:

//Turn debug mode on by setting debug variable to any non-empty string
//Note that "" is an empty string, and that "0", "1" & "test" are not empty strings.


function FindProxyForURL(url, host)
  {
    var ip = myIpAddress();
    var debug = "";

    if(debug)
    {
        alert("proxy.pac IP=" + ip + "  HOST=" + host + "  URL=" + url);
    }

    // Detect if trying to connect to internal/intranet host
    if(isPlainHostName(host) || dnsDomainIs(host, "intranet.companyname"))
    {
 if(debug)
 {
            alert("Direct for " + url);    
     }
    return "DIRECT";   
    }

    // Detect if trying to connect to URLs on the internal network via internal DNS suffix or IP address
    if(shExpMatch(url, "*.companyname") || shExpMatch(host, "10.100.*"))
    {
 if(debug)
 {
     alert("Direct for " + url);
 } 
        return "DIRECT";    
    } 

     // All client PCs on the internal network will have a 10.10.x.x address, check if I have this
     if (shExpMatch(ip, "10.10.*"))
     {
             if(debug)
          {
                 alert("Proxy for " + url);
             }
     return "PROXY proxy.companyname:8080";
     }

     // If you have a different IP then this isn't the company network
     else 
     {
             if(debug)
          {
      alert("You are not at CompanyName so going direct for " + url);
             } 
            return "DIRECT";
     }

  }

Use esse arquivo salvando-o em algum lugar na unidade C do seu PC como algo como proxy.pac e, no Internet Explorer, vá para Ferramentas -> Opções (ou Painel de controle -> Opções da Internet) e clique na guia Conexões, clique no botão Configurações da LAN . Agora, marque a caixa "Usar um servidor proxy" na parte inferior e, em vez disso, marque "Usar script de configuração automática" e digite o endereço do seu arquivo PAC usando o arquivo: // URL like file://C:/proxy.pac.

Configurações de proxy do IE

Como alternativa, para o Firefox, vá para Ferramentas -> Opções, clique na guia Avançado, clique na guia Rede, clique no botão Configurações, clique na configuração "URL de configuração automática de proxy", novamente usando um arquivo: /// URL (observe que no Firefox existe são 3 barras após o cólon, por exemplo file:///C:/proxy.pac.

Configurações de proxy do Firefox


Observe que o Internet Explorer 11 mudou esse comportamento e agora você não pode carregar um arquivo PAC a partir de uma URL 'file: //', deve usar uma URL 'HTTP: //' ou 'HTTPS: //'.

No Internet Explorer 11, a equipe do WinINET desabilitou o suporte do WinINET para scripts baseados em file: // para promover a interoperabilidade nas pilhas de rede. Recomenda-se que as empresas hospedem seus scripts de configuração de proxy em um servidor HTTP ou HTTPS.

Há uma solução alternativa que pode reativar esse recurso no momento, mas você não é aconselhado a usá-lo, pois futuras atualizações podem desativá-lo também.

Como solução temporária, esse bloco pode ser removido, definindo a seguinte chave do Registro:

Chave: Configurações de HKLM \ SOFTWARE \ Policies \ Microsoft \ Windows \ CurrentVersion \ Internet \
Valor: EnableLegacyAutoProxyFeatures
Tipo: REG_DWORD
Dados: 1

Lembre-se de que isso deve ser apenas uma medida temporária, pois esse bloco foi introduzido por boas razões e a remoção do bloco não corrigirá magicamente seus aplicativos baseados em WinHTTP.

Observe também que depois de fazer essa alteração no IE11, você precisará alterar a configuração de endereço do script de configuração automática, pois o IE 11 aceita apenas uma sintaxe para isso (consulte a parte inferior do artigo vinculado no blog do IE Internals abaixo).

No entanto, como observado, é improvável que essa solução alternativa da chave do registro continue a funcionar em versões futuras do Internet Explorer, portanto, é muito melhor encontrar uma maneira de manter o PAC em um servidor web. O servidor da Web IIS embutido no Windows funcionaria, e há outros menos por aí que também funcionariam para a instalação no seu laptop.

Mais informações na entrada de blog do IE Internals, Noções básicas sobre configuração de proxy da Web .


Isso é bem legal até você entrar em outra rede pública sem fio usando o mesmo intervalo de IP privado que uso em minha casa. :)
dannysauer

Bela postagem. Bem escrito.
Jeff F.

1
Isso não funciona no Windows 8.1
Milind R

3
Para expandir o comentário do @ MilindR acima, os arquivos PAC ainda estão no Windows 8 / IE11, mas você precisa carregar o arquivo PAC a partir de uma URL HTTP ou HTTPS, ele não pode simplesmente usar um caminho baseado em arquivo ou UNC. Mais informações da equipe do Internet Explorer aqui Noções básicas sobre configuração de proxy da Web e esta resposta foi atualizada para refletir as alterações do IE11.
precisa

4

Use o Free IP Switcher 1.0

texto alternativo

Descrição:

Sempre que o usuário móvel se move para uma rede diferente, é necessário alterar o endereço IP, o endereço do gateway, a máscara de sub-rede, o servidor proxy e a impressora padrão, etc., para um ambiente de rede específico. Para fazer isso, ele precisa se lembrar das informações de configurações de TCP / IP de todas as redes. Além disso, ele precisa reiniciar o computador para aplicá-lo ao sistema e acessar a Internet.

Não perca tempo reconfigurando as configurações de rede do computador toda vez que alterar sua localização. O Free IP Switcher é uma solução perfeita para você. Ele alterna entre as configurações de rede pré-configuradas com um único clique e sem nenhuma reinicialização. Com o Free IP Switcher, você pode alterar automaticamente todas as configurações de rede no seu PC: endereço IP, máscaras de rede, gateway padrão, servidor DNS, servidor de vitórias, configurações de proxy, impressora padrão e muito mais.

Recursos:

  • Alterne as configurações de rede IP "on the fly" sem reiniciar
  • Alternar configurações do servidor proxy do Internet Explorer
  • Troque sua impressora padrão
  • Mude o nome e o grupo de trabalho do seu computador
  • Importar configurações de rede atuais para a configuração
  • Suporte ao ícone da bandeja do sistema, inicialização automática com o Windows
  • 100% livre de spyware, NÃO contém nenhum spyware, adware ou vírus

2
Não acredito que algo tão útil quanto os perfis de configuração de rede ainda não tenham se tornado parte do Windows 7. O Ubuntu possui, o Mac OS X possui. . .
dreamlax 24/09/09

Eu sei que a Dell fez uma ferramenta desse tipo para o meu Latitude, mas eu não gostei :-(
Ivo Flipse

A versão de download não funciona para Windows /
Hakan Forss

@IvoFlipse Você consegue se lembrar do que foi chamado?
Matthys Du Toit

@MatthysDuToit Eu não posso
Ivo Flipse

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.