Otomatik Proxy İşlevi ile Rastgele Proxy Seçerek Hızlı Internet Kullanma
İlker Fıçıcılar 28 Mayıs 2000
ÇARESİZ PROXY DENEMELERİ
Çeşitli ISP'lerle bağlanmaya çalışıp, hemen hepsinde bağlantı ve hız
problemleri yaşayınca insan yeni arayışlara giriyor. Örneğin şu otomatik
proxy denilen ayar merak edilebiliyor.
Böylesine rastgele hızlardaki ISP'lerle başa çıkmak için en iyi strateji
rastgele stratejidir deyip işe koyulunca aşagıdaki otomatik proxy scripti
çıktı ortaya. Bu dosyayı "proxy.pac" (ya da filanca.pac) diye kaydedip,
Firefox veya İnternet Explorer'da "automatic proxy" ayarını seçtikten sonra,
ilgili yere bunu kaydettiğiniz yerin URL'sini girerseniz (mesela:
file:/home/ilker/.netscape/proxy.pac ya da file:/c:PROXY.PAC ) ve ardından
hemen yan taraftaki (Netscape için) "ReLoad" tuşuna basarsanız, aktif hale
gelir. Ya da browserdan çıkıp tekrar girmelisiniz (IE için?)
Automatic Proxy scripti denilen script, hangi durumda proxy kullanılmasını,
hangi proxylerin ve alternatiflerinin kullanılmasını vs. browser'a bildiren
bir Javascript fonksiyonu aslında. Aşağıdaki örnek dikkatle incelenirse,
kolaylıkla anlaşılabilir ve üzerinde değişiklik yapılabilir.
Yalnız, superonline gibi, ekolay.net gibi transparent proxy uygulayan
ISPlerde bunu kullanmanın pek bir yararı yok, onlar için kendi proxynizin
olması daha yararlı. Bunun için Apache web server'in kendi proxy sunucusu
kullanılabilir, squid'e göre daha pratik. Windows ortamı için de Cproxy ve
NetSonic fena değil.
Aşağıdaki scripti
http://www.KlavyeMonitor.com/dosya/proxy.pac adresinden de çekebilirsiniz.
//-------------------------Buradan asagisi----------------------
// proxy.pac
// caresiz proxy denemeleri
// ilker Ficicilar
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-----------
İlker Fıçıcılar
Son güncelleme: Haziran 2007
(Türkçe harflerle bazı yazılım isimleri düzeltildi)
|