Chrome'da Proxy Yalnızca Belirli Siteler İçin Nasıl Kullanılır
İçindekiler

Kısacası: Masaüstündeki Chrome’da bir proxy’yi belirli sitelere uygulayan bir ayar yoktur. Tüm gezinme için tek bir proxy yapılandırması kullanır ve bunu işletim sisteminden, bir açılış parametresinden, bir yönetici politikasından ya da bir eklentiden alır. Yalnızca bazı siteleri proxy üzerinden göndermek için Chrome’un bir PAC betiğine ihtiyacı vardır: her istek için bir proxy seçen, sizin yazdığınız ya da bir eklentinin kurallardan oluşturduğu kısa bir işlev.
Chrome’da bir proxy’yi belirli siteler için kullanmak üzere tarayıcıya siteleri adlandıran bir PAC betiği verirsiniz ve Chrome her istekte ona başvurur. Betiğin gelebileceği üç yer vardır: işletim sisteminiz, ayrı başlatılan bir Chrome ya da bir eklenti.
Chrome’da site başına proxy ayarı var mı?
Hayır. Chrome’un ayarlar sayfasında “Open your computer’s proxy settings” (bilgisayarınızın proxy ayarlarını açın) etiketli tek bir proxy girişi vardır ve Chromium bu ayarları tüm bilgisayar için geçerli olarak tanımlar (Chromium’un ayar dizeleri).
Chromium’un proxy notları, Chrome’un proxy yapılandırmasını alabileceği dört yer sayar: bir yönetici politikası, komut satırı parametreleri, bir eklenti ve işletim sistemi. Hangisi geçerliyse tarayıcının yüklediği her şey için tek bir yapılandırma sağlar; site başına bir karar ise bu yapılandırmanın içinde bir PAC betiği olarak yaşar.
PAC betiği ne yapar?
PAC (proxy auto-configuration, proxy otomatik yapılandırma) betiği,
FindProxyForURL adlı bir JavaScript işlevidir. Chrome onu her istek için
adres ve ana makine adıyla çağırır ve döndürdüğü dizeyi kullanır: proxy yoksa
DIRECT, bir proxy sunucusu için PROXY host:port;
MDN’in PAC başvurusu
bunu böyle belgeler.
Bu betik bir alan adını ve alt alan adlarını bir proxy üzerinden, geri kalan her şeyi doğrudan gönderir. Proxy adresi belgeler için ayrılmış bir aralıktan gelir (RFC 5737); yerine kendi adresinizi koyun.
function FindProxyForURL(url, host) {
if (host === "example.com" || dnsDomainIs(host, ".example.com")) {
return "PROXY 203.0.113.10:8080";
}
return "DIRECT";
}
Proxy’den geçmesini istediğiniz her site için bir koşul ekleyin. Sondaki
return, listede olmayan her siteye ne olacağına karar verir.
Chrome’a bir PAC betiğini hangi yollarla verebilirim?
Üç yolla: sistem proxy ayarları, ayrı başlatılan bir Chrome ya da bir eklenti aracılığıyla. Bilgisayarın ne kadarını etkiledikleri ve bir değişikliğin nasıl yürürlüğe girdiği bakımından ayrılırlar.
Sistem proxy ayarları aracılığıyla
Windows’ta proxy ayarlarında betiğin adresini alan bir “setup script” (kurulum betiği) seçeneği vardır, Microsoft’un rehberi bunu gösterir; Chrome da sistem ayarını izler. Betiğin bir URL’de erişilebilir olması gerekir. Sistem proxy ayarlarını okuyan her uygulama da onu kullanır, bu yüzden bu yol tüm makine için düşündüğünüz bir betiğe uygundur.
Ayrı bir Chrome örneğinde
Chrome açılışta proxy parametrelerini kabul eder; bunlar
Chromium’un ağ ayarları sayfasında
listelenir: --proxy-server tek bir proxy belirtir, --proxy-bypass-list onu
atlayan ana makineleri belirtir ve --proxy-pac-url bir betiği gösterir. Kendi
--user-data-dir diziniyle başlatılan ikinci Chrome, her zamanki Chrome’unuzun
yanında çalışır, çünkü çalışan iki örnek bir veri dizinini paylaşamaz
(Chromium’un kullanıcı veri dizini notları).
google-chrome --user-data-dir="$HOME/chrome-proxied" --proxy-server="http://203.0.113.10:8080"
Bu örnek tüm trafiğini proxy üzerinden gönderir, dolayısıyla bir sitenin yolunu onu açtığınız pencere belirler. Proxy’yi değiştirmek, örneği kapatıp yeni parametrelerle yeniden başlatmak demektir.
Bir proxy eklentisiyle
Bir eklenti, kurulu olduğu profil için Chrome’un proxy’sini chrome.proxy API üzerinden ayarlar; kurallı bir değiştirici de bu kuralları bir PAC betiğine derler. Ücretsiz ProxyJam Connector eklentimiz Chrome’da ve Microsoft Edge’de böyle çalışır:
- Proxy’nin ana makinesi, portu ve protokolüyle bir profil ekleyin.
- O profile yönelen bir kural ekleyin; örneğin
example.comile “Domain + subdomains” (alan adı ve alt alan adları). Bir siteyle eşleşen ilk kural geçerli olur. - Hiçbir kurala uymayan sitelerin proxy olmadan bağlanması için fallback seçeneğini Direct’te bırakın.
- Araç çubuğu açılır penceresinde Auto’yu seçin.
Eşleşen bir site için Connector’ın betiği yalnızca o proxy’yi belirtir ve ardından doğrudan bağlantı seçeneği koymaz. Proxy çalışmıyorsa site yüklenmez ve kendi adresiniz o site için hiçbir zaman kullanılmaz.
Her sekme farklı bir proxy kullanabilir mi?
Chrome’da hayır. chrome.proxy API bir profil için tek bir değer saklar ve parametre olarak sekme almaz; bu yüzden bir sekmenin kendine ait ayarlayacağı bir şey yoktur.
Uygulanabilir birim bir profil ya da bir örnektir. Proxy’li iş için ikinci bir Chrome profili oluşturup eklentiyi oraya kurun ya da kendi parametreleriyle ikinci bir örnek başlatın ve iki pencereyi yan yana tutun. Böylece her pencere kendi proxy’sini taşır.
Yol içeren bir kural HTTPS sitelerde neden çalışmaz?
Chrome bir PAC betiğine https:// adresinin yalnızca şemasını, ana makinesini
ve portunu verir. Yol, sorgu ve parça Chrome 52’den beri çıkarılır ve bunu
kapatan seçenek Chrome 75’te kaldırıldı
(Chromium’un proxy notları).
Bu yüzden example.com/shop/* gibi bir kural hiçbir HTTPS sayfasıyla
eşleşmez. Kuralları ana makine adı üzerine yazın; bir sitenin bir bölümü kendi
yolunu gerektiriyorsa ona kendi alt alan adını verin. Düz http:// adresleri
betiğe hâlâ yollarıyla ulaşır, ancak Chromium buna güvenilmemesini önerir.
Connector, yola dayanan her kuralın yanında bir uyarı gösterir.
Hangi yolu seçmelisiniz?
Birkaç site ve tek bir proxy için en az iş gerektiren yol bir eklentidir; eklenti sayfası Connector’ın Chrome’da neler yapıp neler yapamadığını listeler. Parola isteyen bir proxy Chrome neden sürekli proxy kullanıcı adı ve parolası soruyor yazısında, kuralları eski bir değiştiriciden taşımak ise Manifest V3 ile neler değişti yazısında ele alınır. Kendi sitenizin her pazarda nasıl göründüğünü kontrol etmek için ülke başına bir profil ve proxy kurmak web sitenizi başka bir ülkeden görüntülemek yazısında anlatılır.
Bu siteleri yönlendirdiğiniz proxy’nin bir internet sağlayıcısının ağında tek bir adresi koruması gerekiyorsa, aradığınız şey bir ISP proxy’dir. ProxyJam, statik residential (ISP) proxy’leri ISP proxy sayfasında satar; fiyatlar fiyatlandırma sayfasındadır.
