PAC-файл - это просто функция Javascript function FindProxyForURL(url, host) {}
, которая получает URL-адрес выбранного ресурса и возвращает строку, указывающую, какой прокси использовать (или DIRECT
, если прокси-сервер вообще отсутствует) для этого ресурса.
Все запросы браузера проходят через функцию, независимо от протокола.
В этом функциональном блоке вы должны быть в состоянии запросить текущее время и принять решение о том, какой прокси вернуть.
Например:
function FindProxyForURL(url, host) {
// If URL has no dots in host name, send traffic direct.
if (isPlainHostName(host)) return "DIRECT";
// Known local Top Level Domains are direct
if(/\.(local|lcl|domain|grp|localdomain)(\:\d+)?($|\/)/i.test(url))
return "DIRECT";
// Split traffic depending on the time
var dTime = new Date();
var hours = dTime.getHours();
if (hours < 12) {
// From midnight to lunchtime, use Proxy A
// which is a standard HTTP proxy on port 8080
return "PROXY proxyA.example.com:8080"
} else {
// From lunchtime to midnight, use Proxy B
// which is a Socks5 proxy on port 777
return "SOCKS5 proxyB.example.com:777"
}
}