ÇARESİZ PROXY DENEMELERİ

İlker Fıçıcılar
28 Mayıs 2000

Çeşitli ISP'lerle bağlanmaya çalışıp, hemen hepsinde bağlanti ve hız problemleri yasayinca insan yeni arayislara giriyor. Ornegin şu otomatik proxy denilen ayar merak edilebiliyor.

Boylesine rasgele hizlardaki ISP'lerle basa cikmak icin en iyi strateji rasgele stratejidir deyip işe koyulunca aşagidaki otomatik proxy scripti cikti ortaya. Bu dosyayi "proxy.pac" (ya da filanca.pac) diye kaydedip, Netscape veya IE 'de "automatic proxy" ayarini sectikten sonra, ilgili yere bunu kaydettiginiz yerin URL'sini girerseniz (mesela: file:/home/ilker/.netscape/proxy.pac ya da file:/c:PROXY.PAC ) ve ardindan hemen yan taraftaki (Netscape icin) "ReLoad" tusuna basarsaniz, aktif hale gelir. Ya da browserdan cikip tekrar girmelisiniz (IE icin?)

Automatic Proxy scripti denilen script, hangi durumda proxy kullanilmasini, hangi proxylerin ve alternatiflerinin kullanilmasini vs. browser'a bildiren bir Javascript fonksiyonu aslinda. Asagidaki ornek dikkatle incelenirse, kolaylikla anlasilabilir ve uzerinde degisiklik yapilabilir.

Yalniz, superonline gibi, ixir.net gibi transparent proxy uygulayan ISPlerde bunu kullanmanin pek bir yarari yok, onlar icin kendi proxynizin olmasi daha yararli. Bunun icin Apache web server'in kendi proxy sunucusu kullanilabilir, squid'e gore daha pratik. Windows ortami icin de NetSonic fena degil.

Aşağıdaki scripti http://ilkerf.tripod.com/teknik/proxy.pac adresinden de çekebilirsiniz.

//-------------------------Buradan asagisi----------------------
// proxy.pac
// caresiz proxy denemeleri
// ilker Ficicilar ilkerf@geocities.com

function FindProxyForURL(url, host)
{
prxs = new Object();
var prx ;
prxs[0] = "proxy-ankara.ttnet.net.tr:8080";
prxs[1] = "proxy-ist.ttnet.net.tr:8080";
prxs[2] = "proxy-izmir.ttnet.net.tr:8080";
prxs[3] = "proxy-ankara.ttnet.net.tr:8080";
prx=Math.floor(Math.random() * 3);
if (isPlainHostName(host) || dnsDomainIs(host, ".e-kolay.net"))
return "DIRECT";
else if (dnsDomainIs( host,".osym.gov.tr"))
return "DIRECT";
else if (dnsDomainIs( host,".yok.gov.tr"))
return "DIRECT";
else if (url.substring(0, 5) == "wais:")
return "DIRECT";
else if (url.substring(0, 6) == "https:")
return "DIRECT";
else if (url.substring(0, 5) == "news:")
return "DIRECT";
else if (dnsDomainIs( host,".edu.tr"))
return "PROXY proxy.ttnet.net.tr:8080; DIRECT";
else if (dnsDomainIs( host,".gov.tr"))
return "PROXY proxy.ttnet.net.tr:8080; DIRECT";
else if (shExpMatch(host, "*.com.tr"))
return "PROXY "+prxs[prx]+"; " +
"PROXY "+prxs[prx + 1]+"; DIRECT";
else if (shExpMatch(host, "*.net.tr"))
return "PROXY "+prxs[prx]+"; " +
"PROXY "+prxs[prx + 1]+"; DIRECT";
else if (shExpMatch(host, "*.gen.tr"))
return "PROXY "+prxs[prx]+"; " +
"PROXY "+prxs[prx + 1]+"; DIRECT";
else if (shExpMatch(host, "*.org.tr"))
return "PROXY "+prxs[prx]+"; " +
"PROXY "+prxs[prx + 1]+"; DIRECT";
else if (shExpMatch(host, "*.gen.tr"))
return "PROXY "+prxs[prx]+"; " +
"PROXY "+prxs[prx + 1]+"; DIRECT";
else if (url.substring(0, 5) == "http:" )
return "PROXY "+prxs[prx]+"; " +
"PROXY "+prxs[prx + 1]+"; DIRECT";
else if (url.substring(0, 4) == "ftp:"||
url.substring(0, 7) == "gopher:")
return "DIRECT";
else
return "DIRECT";

}

//--------------------buradan yukarisi proxy.pac dosyasi-----------


Ana sayfaya dönüş için buraya tıklayın
http://ilkerf.tripod.com/teknik/ adresine gitmek için buraya tıklayın.

İlker Fıçıcılar   ilkerf@geocities.com