среда, 6 апреля 2011 г.

Пример WPAD

Сначала надо в настройках сервера прописать mime.types для .dat файлов: application/x-ns-proxy-autoconfig dat

Возможно стоит добавить строку AddType application/x-ns-proxy-autoconfig .dat в файл httpd.conf (Apache 2.x: mime.conf)

(В некоторых рекомендациях приводится строка AddType application/x-javascript-config dat , ОДНАКО: application/x-ns-proxy-autoconfig will be supported in more clients than application/x-javascript-config)

Пример:

function FindProxyForURL(url, host) {
if (isPlainHostName(host) ||
dnsDomainIs(host, "domain.local") || // Локальные адреса
dnsDomainIs(host, "domain1.local") ||
isInNet(host, "192.168.1.0", "255.255.255.0") || // Локальные подсети
isInNet(host, "192.168.2.0", "255.255.255.0"))
{
return "DIRECT"; // Напрямую
}
else // Иначе - через проксю
{
return "PROXY proxy.domain.local:8080; DIRECT";
}
}





Еще пример:



function FindProxyForURL(url, host)
{
if (isInNet(host, "192.168.1.0", "255.255.255.0"))
{
return "DIRECT";
}

if (isInNet(myIpAddress(), "192.168.3.0", "255.255.255.0") &&
( url.substring(0, 6) == "https:" || url.substring(0, 5) == "http:" ||
url.substring(0, 4) == "ftp:"|| url.substring(0, 7) == "gopher:" ) ) {
return "PROXY 192.168.3.254:3128";
}

if ( isInNet(myIpAddress(), "192.168.1.0", "255.255.255.0") &&
( url.substring(0, 6) == "https:" || url.substring(0, 5) == "http:" ||
url.substring(0, 4) == "ftp:"|| url.substring(0, 7) == "gopher:" ) )
{
return "PROXY 192.168.1.254:3128";
}

return "DIRECT";
}