refresh date: 2026-09-25 robots: noindex
Açıklama
Chrome'un proxy ayarlarını yönetmek için chrome.proxy API'yi kullanın. Bu API, proxy yapılandırmasını almak ve ayarlamak için ChromeSetting tür API'sinin prototipine dayanır.
İzinler
proxyManifest
Proxy ayarları API'sini kullanmak için uzantı manifestinde "proxy" iznini beyan etmeniz gerekir. Örneğin:
{
"name": "My extension",
...
"permissions": [
"proxy"
],
...
}
Nesneler ve özellikler
Proxy ayarları, proxy.ProxyConfig nesnesinde tanımlanır. Chrome'un proxy ayarlarına bağlı olarak, ayarlarda proxy.ProxyRules veya proxy.PacScript bulunabilir.
Proxy modları
Bir ProxyConfig nesnesinin mode özelliği, Chrome'un proxy kullanımıyla ilgili genel davranışını belirler. Aşağıdaki değerleri alabilir:
directdirectmodunda tüm bağlantılar doğrudan oluşturulur ve proxy kullanılmaz. Bu mod,ProxyConfignesnesinde başka parametreye izin vermez.auto_detect-
auto_detectmodunda proxy yapılandırması, http://wpad/wpad.dat adresinden indirilebilen bir PAC komut dosyası tarafından belirlenir. Bu mod,ProxyConfignesnesinde başka parametreye izin vermez. pac_script-
pac_scriptmodunda proxy yapılandırması,proxy.PacScriptnesnesinde belirtilen URL'den alınan veyaproxy.PacScriptnesnesinde belirtilendataöğesinden kelimesi kelimesine alınan bir PAC komut dosyası tarafından belirlenir. Ayrıca bu mod,ProxyConfignesnesinde başka parametrelere izin vermez. fixed_servers-
fixed_serversmodunda proxy yapılandırması,proxy.ProxyRulesnesnesinde kodlanır. Yapısı Proxy kuralları bölümünde açıklanmıştır. Bunun dışında,fixed_serversmoduProxyConfignesnesinde başka parametrelere izin vermez. system-
systemmodunda proxy yapılandırması işletim sisteminden alınır. Bu mod,ProxyConfignesnesinde başka parametreye izin vermez.systemmodunun, proxy yapılandırması ayarlamaktan farklı olduğunu unutmayın. İkinci durumda Chrome, yalnızca komut satırı seçenekleri proxy yapılandırmasını etkilemiyorsa sistem ayarlarına geri döner.
Proxy kuralları
proxy.ProxyRules nesnesi, singleProxy özelliğini veya proxyForHttp, proxyForHttps, proxyForFtp ve fallbackProxy özelliklerinin bir alt kümesini içerebilir.
İlk durumda, HTTP, HTTPS ve FTP trafiği belirtilen proxy sunucusu üzerinden proxy'lenir. Diğer trafik doğrudan gönderilir. İkinci durumda davranış biraz daha farklıdır: HTTP, HTTPS veya FTP protokolü için bir proxy sunucusu yapılandırılırsa ilgili trafik, belirtilen sunucu üzerinden proxy'lenir. Böyle bir proxy sunucu belirtilmemişse veya trafik HTTP, HTTPS ya da FTP'den farklı bir protokol kullanıyorsa fallbackProxy kullanılır. fallbackProxy belirtilmemişse trafik, proxy sunucu olmadan doğrudan gönderilir.
Proxy sunucu nesneleri
Proxy sunucu, proxy.ProxyServer nesnesinde yapılandırılır. Proxy sunucusuna bağlantı (host özelliğiyle tanımlanır) scheme özelliğinde tanımlanan protokolü kullanır. scheme belirtilmezse proxy bağlantısı varsayılan olarak http olur.
Bir proxy.ProxyServer nesnesinde port tanımlanmamışsa bağlantı noktası şemadan türetilir.
Varsayılan bağlantı noktaları şunlardır:
| Şema | Bağlantı noktası |
|---|---|
| http | 80 |
| https | 443 |
| socks4 | 1080 |
| socks5 | 1080 |
Atlama listesi
Belirli sunucular, bypassList ile proxy'lenmenin dışında tutulabilir. Bu listede aşağıdaki girişler yer alabilir:
[SCHEME://]HOST_PATTERN[:PORT]HOST_PATTERNdüzeniyle eşleşen tüm ana makine adlarını eşleştirin. Baştaki".","*."olarak yorumlanır.Örnekler:
"foobar.com", "*foobar.com", "*.foobar.com", "*foobar.com:99", "https://x.*.y.com:99".Kalıp Eşleşmeler Eşleşmez ".foobar.com""www.foobar.com""foobar.com""*.foobar.com""www.foobar.com""foobar.com""foobar.com""foobar.com""www.foobar.com""*foobar.com""foobar.com","www.foobar.com"ve"foofoobar.com"[SCHEME://]IP_LITERAL[:PORT]IP adresi değişmez değerleri olan URL'lerle eşleşin. Bu, kavramsal olarak ilk duruma benzer ancak IP değişmez standartlaştırmayı işlemek için özel durumlar içerir. Örneğin, IPv6 standartlaştırması dahili olarak yapıldığından "[0:0:0::1]" ile eşleşme, "[::1]" ile eşleşmeyle aynıdır.
Örnekler:
127.0.1,[0:0::1],[::1]:80,https://[::1]:443IP_LITERAL/PREFIX_LENGTH_IN_BITSBelirtilen aralıkta IP değişmezi (
IP_LITERAL) içeren herhangi bir URL ile eşleşir. IP aralığı (PREFIX_LENGTH_IN_BITS), CIDR gösterimi kullanılarak belirtilir.Belirtilen aralıkta IP değişmez değeri içeren tüm URL'lerle eşleşir. IP aralığı, CIDR gösterimi kullanılarak belirtilir. Örnekler:
"192.168.1.1/16", "fefe:13::abc/33"<local>Tam dize
<local>, basit ana makine adlarıyla eşleşir. Basit ana makine adı, nokta içermeyen ve IP değişmezi olmayan bir addır. Örneğin,examplevelocalhostbasit ana makine adlarıdır.example.com,example.ve[::1]ise basit ana makine adları değildir.Örnek:
"<local>"
Örnekler
Aşağıdaki kod, tüm sunuculara yapılan HTTP bağlantıları için SOCKS 5 proxy'si ayarlar ancak foobar.com için ayarlanmaz ve diğer tüm protokoller için doğrudan bağlantılar kullanılır. Ayarlar, normal pencerelerden ayarları devraldıkları için hem normal hem de gizli pencereler için geçerlidir. Lütfen Types API belgelerine de göz atın.
var config = {
mode: "fixed_servers",
rules: {
proxyForHttp: {
scheme: "socks5",
host: "1.2.3.4"
},
bypassList: ["foobar.com"]
}
};
chrome.proxy.settings.set(
{value: config, scope: 'regular'},
function() {}
);
Aşağıdaki kod, özel bir PAC komut dosyası ayarlar.
var config = {
mode: "pac_script",
pacScript: {
data: "function FindProxyForURL(url, host) {\n" +
" if (host == 'foobar.com')\n" +
" return 'PROXY blackhole:80';\n" +
" return 'DIRECT';\n" +
"}"
}
};
chrome.proxy.settings.set(
{value: config, scope: 'regular'},
function() {}
);
Aşağıdaki snippet, şu anda etkin olan proxy ayarlarını sorgular. Geçerli proxy ayarları başka bir uzantı veya politika tarafından belirlenebilir. Ayrıntılar için Types API belgelerine bakın.
chrome.proxy.settings.get(
{'incognito': false},
function(config) {
console.log(JSON.stringify(config));
}
);
set() işlevine iletilen value nesnesinin, get() geri çağırma işlevine iletilen value nesnesiyle aynı olmadığını unutmayın. İkincisi rules.proxyForHttp.port öğesini içerir.
Türler
Mode
Enum
"direct"
"auto_detect"
"pac_script"
"fixed_servers"
"system"
PacScript
Proxy otomatik yapılandırma bilgilerini içeren bir nesne. Alanlardan tam olarak biri boş olmamalıdır.
Özellikler
-
veri
dize isteğe bağlı
PAC komut dosyası.
-
zorunlu
boolean isteğe bağlı
Doğruysa geçersiz bir PAC komut dosyası, ağ yığınının doğrudan bağlantılara geri dönmesini engeller. Varsayılan olarak false değerine ayarlanır.
-
url
dize isteğe bağlı
Kullanılacak PAC dosyasının URL'si.
ProxyConfig
Tam bir proxy yapılandırmasını kapsayan bir nesne.
Özellikler
-
mod
"direct" = Hiçbir zaman proxy kullanma "auto_detect" = Proxy ayarlarını otomatik olarak algıla "pac_script" = Belirtilen PAC komut dosyasını kullan "fixed_servers" = Proxy sunucuları manuel olarak belirt "system" = Sistem proxy ayarlarını kullan
-
pacScript
PacScript isteğe bağlı
Bu yapılandırma için proxy otomatik yapılandırma (PAC) komut dosyası. "pac_script" modu için bunu kullanın.
-
kurallar
ProxyRules isteğe bağlı
Bu yapılandırmayı açıklayan proxy kuralları. Bu, "fixed_servers" modu için kullanılır.
ProxyRules
Tüm protokoller için proxy kuralları grubunu kapsayan bir nesne. "singleProxy" veya "proxyForHttp", "proxyForHttps", "proxyForFtp" ve "fallbackProxy" öğelerinin (bir alt kümesi) kullanılabilir.
Özellikler
-
bypassList
string[] isteğe bağlı
Proxy sunucusu olmadan bağlanılacak sunucuların listesi.
-
fallbackProxy
ProxyServer isteğe bağlı
Diğer her şey için veya proxyFor... özelliklerinden herhangi biri belirtilmemişse kullanılacak proxy sunucu.
-
proxyForFtp
ProxyServer isteğe bağlı
FTP istekleri için kullanılacak proxy sunucu.
-
proxyForHttp
ProxyServer isteğe bağlı
HTTP istekleri için kullanılacak proxy sunucu.
-
proxyForHttps
ProxyServer isteğe bağlı
HTTPS istekleri için kullanılacak proxy sunucu.
-
singleProxy
ProxyServer isteğe bağlı
Tüm URL başına istekler (ör. http, https ve ftp) için kullanılacak proxy sunucusu.
ProxyServer
Tek bir proxy sunucusunun spesifikasyonunu kapsayan bir nesne.
Özellikler
-
düzenleyen
dize
Proxy sunucusunun ana makine adı veya IP adresi. Ana makine adları ASCII biçiminde (Punycode biçiminde) olmalıdır. IDNA henüz desteklenmiyor.
-
bağlantı noktası
number isteğe bağlı
Proxy sunucusunun bağlantı noktası. Varsayılan olarak şemaya bağlı bir bağlantı noktası kullanılır.
-
şema
Şema isteğe bağlı
Proxy sunucunun şeması (protokolü). Varsayılan olarak "http" değerine ayarlanır.
Scheme
Enum
"http"
"https"
"quic"
"socks4"
"socks5"
Özellikler
settings
Kullanılacak proxy ayarları. Bu ayarın değeri bir ProxyConfig nesnesidir.
Etkinlikler
onProxyError
chrome.proxy.onProxyError.addListener(
callback: function,
)
Proxy hataları hakkında bildirim gönderir.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(details: object) => void
-
ayrıntılar
nesne
-
ayrıntılar
dize
JavaScript çalışma zamanı hatası gibi hatayla ilgili ek ayrıntılar.
-
hata
dize
Hata açıklaması
-
fatal
boole
Doğruysa hata ölümcüldür ve ağ işlemi iptal edilmiştir. Aksi takdirde bunun yerine doğrudan bağlantı kullanılır.
-
-