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
proxy
"Proxy"yi beyan etmeniz gerekir uzantı manifestinde proxy ayarlarını kullanma izni API'ye gidin. Örneğin:
{
"name": "My extension",
...
"permissions": [
"proxy"
],
...
}
Kavramlar ve kullanım
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
direct
modunda tüm bağlantılar, proxy kullanılmadan doğrudan oluşturulur. Bu modProxyConfig
nesnesinde başka parametre yok.auto_detect
auto_detect
modunda proxy yapılandırması, indirilebilecek bir PAC komut dosyası tarafından belirlenir http://wpad/wpad.dat adresine gidin. Bu mod,ProxyConfig
nesnesinde daha fazla parametreye izin vermez.pac_script
pac_script
modunda proxy yapılandırması,proxy.PacScript
nesnesinde belirtilen veya tam anlamıyladata
öğesinden alınan URL'denproxy.PacScript
nesnesinde belirtilir. Bunun yanı sıra, bu mod başka parametrelere izin vermez:ProxyConfig
nesnesinin içinde olur.fixed_servers
fixed_servers
modunda proxy yapılandırması birproxy.ProxyRules
nesnesinde kodlanır. Bu yapısı, Proxy kuralları bölümünde açıklanmıştır. Bunun yanı sıra,fixed_servers
modu parametreleriniProxyConfig
nesnesinde saklar.system
system
modunda proxy yapılandırması işletim sisteminden alınır. Bu moddaProxyConfig
nesnesine başka parametreler de ekler.system
modunun ş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_PATTERN
kalı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_LITERAL
aralığı. 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ğinexample
velocalhost
basit 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. 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, mevcut etkin 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
-
veri
dize isteğe bağlı
PAC komut dosyası.
-
zorunlu
boole 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.
-
url
dize 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
-
pacScript
PacScript 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.
-
kurallar
ProxyRules 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
-
bypassList
string[] isteğe bağlı
Proxy sunucu olmadan bağlanılacak sunucuların listesi.
-
fallbackProxy
ProxyServer isteğe bağlı
Diğer her şey için veya belirli proxyFor... belirtilmediyse kullanılacak proxy sunucusu.
-
proxyForFtp
ProxyServer isteğe bağlı
FTP istekleri için kullanılacak proxy sunucusu.
-
proxyForHttp
ProxyServer isteğe bağlı
HTTP istekleri için kullanılacak proxy sunucusu.
-
proxyForHttps
ProxyServer isteğe bağlı
HTTPS istekleri için kullanılacak proxy sunucu.
-
singleProxy
ProxyServer 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üzenleyen
dize
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ğırma
işlev
callback
parametresi şu şekilde görünür:(details: object) => void
-
ayrıntılar
nesne
-
ayrıntılar
dize
Hatayla ilgili, JavaScript çalışma zamanı hatası gibi ek ayrıntılar.
-
hata
dize
Hata açıklaması.
-
fatal
boolean
True (doğru) ise hata kritik öneme sahiptir ve ağ işlemi iptal edilmiştir. Aksi takdirde doğrudan bağlantı kullanılır.
-
-