Skrypt automatycznej konfiguracji PROXY

Aby szybko i prosto skonfigurować serwery proxy na każdej maszynie można użyć wcześniej przygotowanego skryptu automatycznej konfiguracji.
Ustawiania proxy w IE.
Ustawiania proxy w Firefoksie.
Skrypt wykonywany jest przez interpreter Javascript. Poniżej znajduje się przykładowy skrypt.
proxy.pac.




//najpierw próba połączenia się przez 2 serwery w3cache a następnie bezpośrednio
var proxy_yes = "PROXY w3cache.icm.edu.pl:8080; PROXY w3cache2.icm.edu.pl:8080 ; DIRECT";

//najpierw próba połączenia się przez nasz wewnętrzny serwer proxy a następnie przez 2 serwery w3cache a następnie bezpośrednio
var proxy_local_yes = "PROXY 192.168.1.1:8080; PROXY w3cache.icm.edu.pl:8080; PROXY w3cache2.icm.edu.pl:8080 ; DIRECT";

//połączenie bezpośrednie
var proxy_no = "DIRECT";

//ustawiamy nie istniejący adres proxy
var proxy_blackhole = "PROXY 0.0.0.0:3421";

if (isPlainHostName(host))
{
	return proxy_no;
}
else if (shExpMatch(url, "http://intranet.*"))//jeśli to wewnętrzny serwis intranetowy to łączymy bezpośrednio
{
	return proxy_no;
}
else if (shExpMatch(host, "127.0.0.1") || shExpMatch(host, "localhost"))//jeśli łączymy się z samym sobą to pomijamy prpxy serwer
{
	return proxy_no;
}
else if (shExpMatch(url,"www.naszafirma.pl")) //jeśli łączymy się z witryna www.naszafirma.pl to łączymy się bezpośredni
{
	return proxy_no;
}
else if (shExpMatch(url, "*.playboy.com*") || shExpMatch(url, "*.hustler.com*"))//jeśli łączymy się z wymienionymi adresami zostanie wyświetlone ostrzeżenie
{
	alert('UWAGA! \nWitryna z którą chcesz się połączyć zawiera treści erotyczne.');
	return proxy_yes;
}
else if (shExpMatch(url, "*.porno.com*") || shExpMatch(url, "*.porno.pl*"))//jeśli łączymy się z wymienionymi adresami zostanie wyświetlone ostrzeżenie i nie zostaniemy połączeni
{
	alert('UWAGA! \Witryna z którą chcesz się połączyć zawiera treści pornograficzne.\npołącznie zostanie przerwane..');
	return proxy_blackhole;
}
else if (shExpMatch(url, "*.pl*")) //jeśli polskie domeny to najpierw łączymy się przez nasz lokalny serwer proxy
{
	return proxy_local_yes;
}
else //wszystkie pozostałe adresy łączymy przez zewnętrzne serwery proxy
{
	return proxy_yes;
}