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 API türünün ChromeSetting prototipini kullanır.
İzinler
proxyManifest
"Proxy"yi beyan etmeniz gerekir uzantı manifestinde proxy ayarlarını kullanma izni API'ye gidin. Ö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,
proxy kullanımı hakkında daha fazla bilgi edinin. Aşağıdaki değerleri alabilir:
- direct
- directmodunda tüm bağlantılar, proxy kullanılmadan doğrudan oluşturulur. Bu mod- ProxyConfignesnesinde başka parametre yok.
- auto_detect
- auto_detectmodunda proxy yapılandırması, indirilebilecek bir PAC komut dosyası tarafından belirlenir http://wpad/wpad.dat adresine gidin. Bu mod,- ProxyConfignesnesinde daha fazla parametreye izin vermez.
- pac_script
- pac_scriptmodunda proxy yapılandırması,- proxy.PacScriptnesnesinde belirtilen veya tam anlamıyla- dataöğesinden alınan URL'den- proxy.PacScriptnesnesinde belirtilir. Bunun yanı sıra, bu mod başka parametrelere izin vermez:- ProxyConfignesnesinin içinde olur.
- fixed_servers
- fixed_serversmodunda proxy yapılandırması bir- proxy.ProxyRulesnesnesinde kodlanır. Bu yapısı, Proxy kuralları bölümünde açıklanmıştır. Bunun yanı sıra,- fixed_serversmodu parametrelerini- ProxyConfignesnesinde saklar.
- system
- systemmodunda proxy yapılandırması işletim sisteminden alınır. Bu modda- ProxyConfignesnesine başka parametreler de ekler.- systemmodunun şundan farklı olduğunu unutmayın: "proxy yapılandırması yok" ayarını seçin. İkinci durumda Chrome, yalnızca proxy yapılandırmasını hiçbir komut satırı seçeneği etkilemez.
Proxy kuralları
proxy.ProxyRules nesnesi, bir singleProxy özelliği veya
proxyForHttp, proxyForHttps, proxyForFtp ve fallbackProxy.
İlk durumda HTTP, HTTPS ve FTP trafiği, belirtilen proxy sunucu üzerinden yönlendirilir. Diğer
trafik doğrudan gönderilir. İkinci durumda davranış biraz daha belirgindir: Proxy sunucu
HTTP, HTTPS veya FTP protokolü için yapılandırılmışsa ilgili trafik,
belirtilen sunucudur. Böyle bir proxy sunucu belirtilmezse veya trafik,
HTTP, HTTPS veya FTP ise fallbackProxy kullanılır. fallbackProxy belirtilmezse trafik gönderilir
sunucu olmadan da yapabilirsiniz.
Proxy sunucu nesneleri
proxy.ProxyServer nesnesinde bir proxy sunucu yapılandırılır. Proxy sunucusuyla bağlantı
(host özelliği tarafından tanımlanır), scheme özelliğinde tanımlanan protokolü kullanır. Yanıt hayır ise:
scheme belirtildi, proxy bağlantısı varsayılan olarak http.
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
Tek tek sunucular bypassList ile proxy'den hariç tutulabilir. Bu liste şunları içerebilir:
şu girişler:
- [SCHEME://]HOST_PATTERN[:PORT]
- HOST_PATTERNkalıbıyla eşleşen tüm ana makine adlarını eşleştir. Baştaki- ".",- "*.".- Örnekler: - "foobar.com", "*foobar.com", "*.foobar.com", "*foobar.com:99", "https://x.*.y.com:99".- Kalıp - Şununla eşleşiyor: - 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"- "foofoobar.com"
- [SCHEME://]IP_LITERAL[:PORT]
- Değişmez IP adresi olan URL'lerle eşleştirin. Kavram olarak bu ilk duruma benzer, ancak . Örneğin, "[0:0:0::1]" ile eşleşiyor "[::1]" ile eşleştirmeyle aynıdır çünkü IPv6 standartlaştırması dahili olarak yapılıyor. - Örnekler: - 127.0.1,- [0:0::1],- [::1]:80,- https://[::1]:443
- IP_LITERAL/PREFIX_LENGTH_IN_BITS
- Belirtilen - IP_LITERALaralığı. IP aralığı (- PREFIX_LENGTH_IN_BITS), CIDR kullanılarak belirtilir. notasyonu.
- Verilen aralıkta bir sabit IP içeren herhangi bir URL ile eşleştirin. IP aralığı, CIDR kullanılarak belirtilir çok önemlidir. Örnekler: - "192.168.1.1/16", "fefe:13::abc/33"
- <local>
- <local>düz dizesi, basit ana makine adlarıyla eşleşir. Basit ana makine adı, noktalara yer verilmelidir. Örneğin- exampleve- localhostbasit ana makine adlarıdır,- example.com,- example.ve- [::1]ise değildir.- Örnek: - "<local>"
Örnekler
Aşağıdaki kod, foobar.com dışındaki tüm sunuculara yönelik HTTP bağlantıları için bir SOCKS 5 proxy'si ayarlar ve tüm diğer protokoller için doğrudan bağlantılar. Bu ayarlar, normal ve gizli pencereler için geçerlidir; gizli pencereler, ayarları normal pencerelerden devralır. Lütfen Types API'yi de inceleyin. belgelerinden faydalanabilirsiniz.
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, şu anda etkin olan proxy ayarlarını sorgular. Etkili proxy ayarları tarafından belirlendiğini varsayalım. Ayrıntılar için Types API belgelerine bakın.
chrome.proxy.settings.get(
  {'incognito': false},
  function(config) {
    console.log(JSON.stringify(config));
  }
);
set() öğesine geçirilen value nesnesinin, iletilen value nesnesiyle aynı olmadığını unutmayın.
get() geri çağırma işlevi. İkincisi, bir rules.proxyForHttp.port öğesi içerir.
Türler
Mode
Enum
"doğrudan" 
 
"auto_detect" 
 
"pac_script" 
 
"fixed_servers" 
 
"sistem" 
 
PacScript
Proxy otomatik yapılandırma bilgilerini içeren bir nesne. Alanlardan tam olarak biri boş olmamalıdır.
Özellikler
- 
    veridize isteğe bağlı PAC komut dosyası. 
- 
    zorunluboole isteğe bağlı Değer true ise geçersiz bir PAC komut dosyası, ağ yığınının doğrudan bağlantılara dönmesini engeller. Varsayılan olarak yanlış değerine ayarlanır. 
- 
    urldize isteğe bağlı Kullanılacak PAC dosyasının URL'si. 
ProxyConfig
Tam proxy yapılandırmasını kapsülleyen bir nesne.
Özellikler
- 
    mod"doğrudan" = Hiçbir zaman proxy kullanma "auto_detect" [otomatik_algıla] = Proxy ayarlarını otomatik olarak algıla "pac_script" = Belirtilen PAC komut dosyasını kullanın "fixed_servers" = Proxy sunucuları el ile belirt "system" [sistem] = Sistem proxy ayarlarını kullan 
- 
    pacScriptPacScript isteğe bağlı Bu yapılandırma için proxy otomatik yapılandırma (PAC) komut dosyası. Bunu "pac_script" için kullanın yatırım yapmanız önemlidir. 
- 
    kurallarProxyRules isteğe bağlı Bu yapılandırmayı açıklayan proxy kuralları. "fixed_servers" için bunu kullanın. yatırım yapmanız önemlidir. 
ProxyRules
Tüm protokoller için proxy kuralları grubunu kapsayan bir nesne. "singleProxy"den birini kullanın veya (bir alt kümesi) 'proxyForHttp', 'proxyForHttps', 'proxyForFtp' ve "fallbackProxy" olur.
Özellikler
- 
    bypassListstring[] isteğe bağlı Proxy sunucu olmadan bağlanılacak sunucuların listesi. 
- 
    fallbackProxyProxyServer isteğe bağlı Diğer her şey için veya belirli proxyFor... belirtilmediyse kullanılacak proxy sunucusu. 
- 
    proxyForFtpProxyServer isteğe bağlı FTP istekleri için kullanılacak proxy sunucusu. 
- 
    proxyForHttpProxyServer isteğe bağlı HTTP istekleri için kullanılacak proxy sunucusu. 
- 
    proxyForHttpsProxyServer isteğe bağlı HTTPS istekleri için kullanılacak proxy sunucu. 
- 
    singleProxyProxyServer isteğe bağlı URL başına tüm istekler için kullanılacak proxy sunucusu (http, https ve ftp). 
ProxyServer
Tek bir proxy sunucunun özelliklerini kapsayan nesne.
Özellikler
- 
    düzenleyendize Proxy sunucunun ana makine adı veya IP adresi. Ana makine adları ASCII (Punnycode biçiminde) olmalıdır. IDNA henüz desteklenmemektedir. 
- 
    bağlantı noktasısayı isteğe bağlı Proxy sunucunun 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" kullanılır. 
Scheme
Enum
"http" 
 
"https" 
 
"quic" 
 
"socks4" 
 
"socks5" 
 
Özellikler
settings
Kullanılacak proxy ayarları. Bu ayarın değeri bir ProxyConfig nesnesidir.
Tür
types.ChromeSetting<ProxyConfig>
Etkinlikler
onProxyError
chrome.proxy.onProxyError.addListener(
callback: function,
)
Proxy hataları hakkında bilgi verir.
Parametreler
- 
    geri çağırmaişlev callbackparametresi şu şekilde görünür:(details: object) => void - 
    ayrıntılarnesne - 
    ayrıntılardize Hatayla ilgili, JavaScript çalışma zamanı hatası gibi ek ayrıntılar. 
- 
    hatadize Hata açıklaması. 
- 
    fatalboolean True (doğru) ise hata kritik öneme sahiptir ve ağ işlemi iptal edilmiştir. Aksi takdirde doğrudan bağlantı kullanılır. 
 
- 
    
 
-