Atualmente, a maioria dos navegadores suporta um script de configuração de proxy. Isso é apenas um pouco de javascript que leva o nome DNS / IP como argumentos e retorna uma string para indicar qual proxy usar.
Bastante simples, mesmo que você não conheça o javascript. E tudo o que você precisa fazer é apontar a configuração do "script de configuração de proxy automático" do seu navegador no arquivo. Alguns navegadores insistem que o script deve estar na rede em algum lugar.
Existem pequenos programas para hospedar arquivos de sua própria máquina, como o link
Mas eu costumo colocá-lo em algum servidor local que eu tenho à mão.
Exemplo autoconf.js:
function FindProxyForURL(url, host) {
// our local URLs from the domains below example.com don't need a proxy:
if (shExpMatch(host, "*.example.com"))
{
return "DIRECT";
}
// URLs within this network are accessed through
// port 8080 on fastproxy.example.com:
if (isInNet(host, "10.0.0.0", "255.255.248.0"))
{
return "PROXY fastproxy.example.com:8080";
}
// All other requests go through port 8080 of proxy.example.com.
// should that fail to respond, go directly to the WWW:
return "PROXY proxy.example.com:8080; DIRECT";
}
Esse último bit é de particular importância, pois permite que seu sistema tente o proxy e, em seguida, retorne a nenhum.
Há também uma variável myIpAddress
, que pode ser usada, conforme abaixo:
function FindProxyForURL(url, host)
{
if (isInNet(myIpAddress(), "192.168.1.0", "255.255.255.0"))
return "PROXY 192.168.1.1:8080";
else
return "DIRECT";
}
Embora alguns navegadores / sistemas se confundam nesse ponto, e podem retornar 127.0.0.1