refresh date: 2026-09-25 robots: noindex
Açıklama
Chrome'un proxy ayarlarını yönetmek için chrome.proxy API'sini kullanın. Bu API, proxy yapılandırmasını almak ve ayarlamak için tür API'sinin ChromeSetting prototipini kullanır.
İzinler
proxyManifest
Proxy ayarları API'sini kullanmak için uzantı manifest dosyasında "proxy" iznini belirtmeniz gerekir. Örneğin:
{
"name": "My extension",
...
"permissions": [
"proxy"
],
...
}
Nesneler ve özellikler
Proxy ayarları bir proxy.ProxyConfig nesnesinde tanımlanır. Chrome'un proxy ayarlarına bağlı olarak, ayarlar proxy.ProxyRules veya proxy.PacScript içerebilir.
Proxy modları
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, herhangi bir proxy kullanılmadan doğrudan oluşturulur. Bu mod,ProxyConfignesnesinde başka parametreye izin vermez.auto_detectauto_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_scriptpac_scriptmodunda proxy yapılandırması,proxy.PacScriptnesnesinde belirtilen URL'den alınan veyaproxy.PacScriptnesnesinde belirtilendataöğesinden olduğu gibi alınan bir PAC komut dosyası tarafından belirlenir. Bunun dışında, bu moddaProxyConfignesnesinde başka parametreye izin verilmez.fixed_serversfixed_serversmodunda proxy yapılandırması birproxy.ProxyRulesnesnesinde kodlanır. Yapısı Proxy kuralları bölümünde açıklanmıştır. Bunun yanı sırafixed_serversmodu,ProxyConfignesnesinde başka parametrelere izin vermez.systemsystemmodunda proxy yapılandırması işletim sisteminden alınır. Bu mod,ProxyConfignesnesinde başka parametreye izin vermez.systemmodunun, proxy yapılandırması ayarlanmamasından farklı olduğunu unutmayın. İkinci durumda Chrome, yalnızca proxy yapılandırmasını etkileyen komut satırı seçeneği yoksa 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 yönlendirilir. 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ılmışsa ilgili trafik, belirtilen sunucu üzerinden proxy'ye yönlendirilir. Böyle bir proxy sunucu belirtilmezse veya trafik HTTP, HTTPS ya da FTP'den farklı bir protokol kullanıyorsa fallbackProxy kullanılır. fallbackProxy belirtilmezse trafik, proxy sunucusu olmadan doğrudan gönderilir.
Proxy sunucu nesneleri
Proxy sunucu, proxy.ProxyServer nesnesinde yapılandırılır. Proxy sunucusuyla 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
bypassList ile proxy sunucusu kullanılarak erişilen sunucular hariç tutulabilir. Bu liste aşağıdaki girişleri içerebilir:
[SCHEME://]HOST_PATTERN[:PORT]HOST_PATTERNkalıbıyla eşleşen tüm ana makine adlarıyla eşleşir. 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'leri eşleştirin. Kavramsal olarak bu, ilk duruma benzer ancak IP değişmez değer standartlaştırmasını işlemek için özel durumlar vardır. Örneğin, IPv6 standartlaştırması dahili olarak yapıldığından "[0:0:0::1]" ile eşleştirme, "[::1]" ile eşleştirmeyle 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 tüm URL'lerle eşleştirin. IP aralığı (PREFIX_LENGTH_IN_BITS), CIDR gösterimi kullanılarak belirtilir.Belirtilen aralıkta IP değişmezi 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><local>dizesi, basit ana makine adlarıyla eşleşir. Basit ana makine adı, nokta içermeyen ve IP dizesi olmayan bir addır. Örneğin,examplevelocalhostbasit ana makine adlarıdır ancakexample.com,example.ve[::1]basit ana makine adları değildir.Örnek:
"<local>"
Örnekler
Aşağıdaki kod, foobar.com dışındaki tüm sunuculara HTTP bağlantıları için bir SOCKS 5 proxy'si ayarlar ve diğer tüm protokoller için doğrudan bağlantıları kullanır. Gizli pencereler ayarları normal pencerelerden devraldığı için ayarlar normal ve gizli pencereler için geçerlidir. Lütfen Types API belgelerini de inceleyin.
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() {}
);
Sonraki snippet, geçerli 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 bir rules.proxyForHttp.port öğesi 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
string isteğe bağlı
PAC komut dosyası.
-
zorunlu
boole isteğe bağlı
Bu politika, Doğru değerine ayarlanırsa geçersiz bir PAC komut dosyası, ağ yığınının doğrudan bağlantılara geri dönmesini engeller. Varsayılan olarak "false" (yanlış) değerine ayarlıdır.
-
url
string isteğe bağlı
Kullanılacak PAC dosyasının URL'si.
ProxyConfig
Tam bir proxy yapılandırmasını kapsayan 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ını 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ı. Bu ayarı "pac_script" modu için kullanın.
-
kurallar
ProxyRules isteğe bağlı
Bu yapılandırmayı açıklayan proxy kuralları. Bu ayarı "fixed_servers" modu için kullanın.
ProxyRules
Tüm protokoller için proxy kuralları grubunu kapsayan bir nesne. "singleProxy" veya "proxyForHttp", "proxyForHttps", "proxyForFtp" ve "fallbackProxy" (alt kümesi) kullanın.
Ö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 belirli proxyFor... değerlerinden 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 istekleri (http, https ve ftp) için kullanılacak proxy sunucu.
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 (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 sunucusunun ş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
Hatayla ilgili ek ayrıntılar (ör. JavaScript çalışma zamanı hatası).
-
hata
dize
Hata açıklaması.
-
fatal
boole
"Doğru" ise hata önemliydi ve ağ işlemi iptal edildi. Aksi takdirde doğrudan bağlantı kullanılır.
-
-