ब्यौरा
Chrome की प्रॉक्सी सेटिंग मैनेज करने के लिए, chrome.proxy एपीआई का इस्तेमाल करें. यह एपीआई, प्रॉक्सी कॉन्फ़िगरेशन पाने और सेट करने के लिए, एपीआई टाइप के ChromeSettings प्रोटोटाइप का इस्तेमाल करता है.
अनुमतियां
proxyमेनिफ़ेस्ट
आपको "प्रॉक्सी" का एलान करना होगा एक्सटेंशन मेनिफ़ेस्ट में प्रॉक्सी सेटिंग का इस्तेमाल करने की अनुमति एपीआई. उदाहरण के लिए:
{
  "name": "My extension",
  ...
  "permissions": [
    "proxy"
  ],
  ...
}
ऑब्जेक्ट और प्रॉपर्टी
प्रॉक्सी सेटिंग, proxy.ProxyConfig ऑब्जेक्ट में तय की जाती हैं. Chrome की प्रॉक्सी सेटिंग के हिसाब से,
सेटिंग में proxy.ProxyRules या proxy.PacScript हो सकता है.
प्रॉक्सी मोड
प्रॉक्सी कॉन्फ़िगरेशन ऑब्जेक्ट का mode एट्रिब्यूट,
प्रॉक्सी का इस्तेमाल. इसमें नीचे दी गई वैल्यू हो सकती हैं:
- direct
- directमोड में, सभी कनेक्शन सीधे तौर पर बनाए जाते हैं. इनमें कोई प्रॉक्सी शामिल नहीं होता. इस मोड में, आपको- ProxyConfigऑब्जेक्ट में कोई और पैरामीटर नहीं है.
- auto_detect
- auto_detectमोड में, प्रॉक्सी कॉन्फ़िगरेशन को एक पीएसी स्क्रिप्ट से तय किया जाता है, जिसे डाउनलोड किया जा सकता है http://wpad/wpad.dat पर जाएं. यह मोड,- ProxyConfigऑब्जेक्ट में किसी और पैरामीटर की अनुमति नहीं देता है.
- pac_script
- pac_scriptमोड में, प्रॉक्सी कॉन्फ़िगरेशन को उस पीएसी स्क्रिप्ट से तय किया जाता है जिसे या तो वापस लाया गया है- proxy.PacScriptऑब्जेक्ट में बताए गए यूआरएल से या- dataएलिमेंट से लिया गया यूआरएल- proxy.PacScriptऑब्जेक्ट में बताया गया है. इसके अलावा, यह मोड किसी और पैरामीटर की अनुमति नहीं देता- ProxyConfigऑब्जेक्ट में.
- fixed_servers
- fixed_serversमोड में, प्रॉक्सी कॉन्फ़िगरेशन को- proxy.ProxyRulesऑब्जेक्ट में कोड किया जाता है. यह स्ट्रक्चर के बारे में प्रॉक्सी नियमों में बताया गया है. इसके अलावा,- fixed_serversमोड में आपको- ProxyConfigऑब्जेक्ट में पैरामीटर.
- system
- systemमोड में, प्रॉक्सी कॉन्फ़िगरेशन, ऑपरेटिंग सिस्टम से लिया जाता है. इस मोड में, आपको- ProxyConfigऑब्जेक्ट में दूसरे पैरामीटर भी जोड़े जा सकते हैं. ध्यान दें कि- systemमोड कोई प्रॉक्सी कॉन्फ़िगरेशन सेट न करें. बाद वाले मामले में, Chrome सिर्फ़ तब सिस्टम सेटिंग पर वापस जाता है, जब कोई भी कमांड-लाइन विकल्प, प्रॉक्सी कॉन्फ़िगरेशन पर असर नहीं डालता.
प्रॉक्सी नियम
proxy.ProxyRules ऑब्जेक्ट में singleProxy एट्रिब्यूट या इसका सबसेट हो सकता है
proxyForHttp, proxyForHttps, proxyForFtp, और fallbackProxy.
पहले मामले में, एचटीटीपी, एचटीटीपीएस, और एफ़टीपी ट्रैफ़िक, बताए गए प्रॉक्सी सर्वर से प्रॉक्सी किया जाता है. किसी और तरीके से
को ट्रैफ़िक सीधे भेजा जाता है. बाद वाले मामले में व्यवहार कुछ सामान्य होता है: अगर कोई प्रॉक्सी सर्वर
को एचटीटीपी, एचटीटीपीएस या एफ़टीपी प्रोटोकॉल के लिए कॉन्फ़िगर किया जाता है और उससे जुड़े ट्रैफ़िक को
बताया गया सर्वर. अगर ऐसा कोई प्रॉक्सी सर्वर तय नहीं किया गया है या ट्रैफ़िक इससे किसी दूसरे प्रोटोकॉल का इस्तेमाल करता है
एचटीटीपी, एचटीटीपीएस या एफ़टीपी, fallbackProxy का इस्तेमाल किया जाता है. अगर कोई fallbackProxy तय नहीं की गई है, तो ट्रैफ़िक भेजा जाएगा
बिना किसी प्रॉक्सी सर्वर के.
प्रॉक्सी सर्वर ऑब्जेक्ट
प्रॉक्सी सर्वर को proxy.ProxyServer ऑब्जेक्ट में कॉन्फ़िगर किया गया है. प्रॉक्सी सर्वर से कनेक्शन
(host एट्रिब्यूट से तय किया गया) scheme एट्रिब्यूट में बताए गए प्रोटोकॉल का इस्तेमाल करता है. अगर नहीं
scheme तय किया गया है, प्रॉक्सी कनेक्शन डिफ़ॉल्ट रूप से http है.
अगर proxy.ProxyServer ऑब्जेक्ट में कोई port तय नहीं किया गया है, तो पोर्ट को स्कीम से लिया जाता है.
ये डिफ़ॉल्ट पोर्ट होते हैं:
| स्कीम | पोर्ट | 
|---|---|
| http | 80 | 
| https | 443 | 
| socks4 | 1080 | 
| socks5 | 1080 | 
बायपास लिस्ट
अलग-अलग सर्वर को bypassList के साथ प्रॉक्सी से बाहर रखा जा सकता है. इस सूची में ये चीज़ें हो सकती हैं
निम्नलिखित प्रविष्टियाँ:
- [SCHEME://]HOST_PATTERN[:PORT]
- HOST_PATTERNपैटर्न से मैच करने वाले सभी होस्टनेम को मैच करें. लीडिंग- "."को- "*.".- उदाहरण: - "foobar.com", "*foobar.com", "*.foobar.com", "*foobar.com:99", "https://x.*.y.com:99".- पैटर्न - मैच करती स्ट्रिंग - मिलान नहीं होता है - ".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]
- वे यूआरएल मैच करें जो आईपी पते की लिटरल वैल्यू हैं. सैद्धांतिक तौर पर यह पहले मामले की तरह ही है, लेकिन का इस्तेमाल खास मामलों में किया जाता है. उदाहरण के लिए, "[0:0:0::1]" से मैचिंग "[::1]" पर मिलान करने के समान है क्योंकि आईपीवी6 के कैननिकल होने की प्रक्रिया अंदरूनी तौर पर की जाती है. - उदाहरण: - 127.0.1,- [0:0::1],- [::1]:80,- https://[::1]:443
- IP_LITERAL/PREFIX_LENGTH_IN_BITS
- ऐसे किसी भी यूआरएल का मिलान करें जिसमें दिए गए आईपी लिटरल ( - IP_LITERAL) में आईपी हो रेंज. IP श्रेणी (- PREFIX_LENGTH_IN_BITS) को सीआईडीआर (सीआईडीआर) का इस्तेमाल करके तय किया गया है नोटेशन.
- दी गई रेंज में मौजूद ऐसे किसी भी यूआरएल का मिलान करें जिसमें आईपी लिटरल हो. आईपी रेंज, सीआईडीआर का इस्तेमाल करके तय की गई है नोटेशन. उदाहरण: - "192.168.1.1/16", "fefe:13::abc/33"
- <local>
- लिटरल स्ट्रिंग - <local>, सामान्य होस्टनेम से मैच करती है. सामान्य होस्टनेम वह होता है जिसमें कोई डॉट हैं और यह एक IP लिटरल नहीं है. उदाहरण के लिए,- exampleऔर- localhostसामान्य होस्टनेम हैं, जबकि- example.com,- example., और- [::1]नहीं हैं.- उदाहरण: - "<local>"
उदाहरण
नीचे दिया गया कोड, foobar.com को छोड़कर सभी सर्वर पर एचटीटीपी कनेक्शन के लिए SOCKS 5 प्रॉक्सी सेट करता है और डायरेक्ट कनेक्शन. सेटिंग नियमित और गुप्त विंडो पर इस तरह लागू होती हैं गुप्त विंडो, नियमित विंडो से सेटिंग इनहेरिट करती हैं. कृपया Types API से भी सलाह लें दस्तावेज़.
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() {}
);
नीचे दिया गया कोड, कस्टम पीएसी स्क्रिप्ट सेट करता है.
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() {}
);
अगला स्निपेट, मौजूदा असरदार प्रॉक्सी सेटिंग के बारे में क्वेरी करता है. प्रभावी प्रॉक्सी सेटिंग ये हो सकती हैं या किसी नीति के ज़रिए तय किया जाता है. ज़्यादा जानकारी के लिए, Types API दस्तावेज़ देखें.
chrome.proxy.settings.get(
  {'incognito': false},
  function(config) {
    console.log(JSON.stringify(config));
  }
);
ध्यान दें कि set() को पास किया गया value ऑब्जेक्ट, यहां दिए गए value ऑब्जेक्ट के समान नहीं है
get() का कॉलबैक फ़ंक्शन. बाद वाले एलिमेंट में rules.proxyForHttp.port एलिमेंट शामिल होगा.
टाइप
Mode
Enum
"डायरेक्ट" 
 
"auto_detect" 
 
"pac_script" 
 
"Fixed_servers" 
 
"सिस्टम" 
 
PacScript
किसी ऑब्जेक्ट में प्रॉक्सी ऑटो-कॉन्फ़िगरेशन की जानकारी होती है. कोई एक फ़ील्ड खाली नहीं होना चाहिए.
प्रॉपर्टी
- 
    डेटास्ट्रिंग ज़रूरी नहीं पीएसी स्क्रिप्ट. 
- 
    ज़रूरी हैबूलियन ज़रूरी नहीं अगर सही है, तो अमान्य PAC स्क्रिप्ट, नेटवर्क स्टैक को डायरेक्ट कनेक्शन में वापस जाने से रोकेगी. डिफ़ॉल्ट तौर पर, 'गलत' पर सेट होती है. 
- 
    urlस्ट्रिंग ज़रूरी नहीं इस्तेमाल की जाने वाली PAC फ़ाइल का यूआरएल. 
ProxyConfig
एक ऑब्जेक्ट, जिसमें पूरा प्रॉक्सी कॉन्फ़िगरेशन शामिल है.
प्रॉपर्टी
- 
    मोड'डायरेक्ट' = प्रॉक्सी का कभी भी इस्तेमाल न करें 'auto_detect' = प्रॉक्सी सेटिंग का अपने आप पता लगाएं 'पैक_स्क्रिप्ट' = दी गई PAC स्क्रिप्ट का इस्तेमाल करें 'फ़िक्स्ड_सर्वर' = मैन्युअल रूप से प्रॉक्सी सर्वर दर्ज करें 'सिस्टम' = सिस्टम प्रॉक्सी सेटिंग का उपयोग करें 
- 
    pacScriptPacScript ज़रूरी नहीं इस कॉन्फ़िगरेशन के लिए प्रॉक्सी ऑटो-कॉन्फ़िगरेशन (PAC) स्क्रिप्ट. 'pac_script' के लिए इसका इस्तेमाल करें मोड. 
- 
    नियमProxyRules वैकल्पिक इस कॉन्फ़िगरेशन के बारे में बताने वाले प्रॉक्सी नियम. इसे 'fixed_servers' के लिए इस्तेमाल करें मोड. 
ProxyRules
एक ऑब्जेक्ट, जिसमें सभी प्रोटोकॉल के लिए प्रॉक्सी नियमों के सेट को इनकैप्सुलेट किया जाता है. 'सिंगलप्रॉक्सी' में से किसी एक का इस्तेमाल करें या 'ProxyForHttp', 'प्रॉक्सीForHttps', 'ProxyForFtp' का (इसका सबसेट) और 'फ़ॉलबैकप्रॉक्सी' का इस्तेमाल करना चाहिए.
प्रॉपर्टी
- 
    bypassListस्ट्रिंग[] ज़रूरी नहीं बिना किसी प्रॉक्सी सर्वर के कनेक्ट करने वाले सर्वर की सूची. 
- 
    fallbackProxyProxyServer ज़रूरी नहीं किसी भी अन्य चीज़ के लिए उपयोग किया जाने वाला प्रॉक्सी सर्वर या यदि कोई विशिष्ट प्रॉक्सी सर्वर... निर्दिष्ट नहीं किया गया है. 
- 
    proxyForFtpProxyServer ज़रूरी नहीं एफ़टीपी अनुरोधों के लिए इस्तेमाल किया जाने वाला प्रॉक्सी सर्वर. 
- 
    proxyForHttpProxyServer ज़रूरी नहीं एचटीटीपी अनुरोधों के लिए इस्तेमाल किया जाने वाला प्रॉक्सी सर्वर. 
- 
    proxyForHttpsProxyServer ज़रूरी नहीं एचटीटीपीएस अनुरोधों के लिए इस्तेमाल किया जाने वाला प्रॉक्सी सर्वर. 
- 
    singleProxyProxyServer ज़रूरी नहीं हर यूआरएल के लिए सभी अनुरोधों (जो कि एचटीटीपी, एचटीटीपीएस, और एफ़टीपी) के लिए इस्तेमाल किया जाने वाला प्रॉक्सी सर्वर. 
ProxyServer
ऐसा ऑब्जेक्ट जिसमें एक प्रॉक्सी सर्वर की खास जानकारी शामिल होती है.
प्रॉपर्टी
- 
    होस्टस्ट्रिंग प्रॉक्सी सर्वर का होस्टनेम या आईपी पता. होस्टनेम, ASCII (Puycode फ़ॉर्मैट में) में होने चाहिए. IDNA की सुविधा अभी काम नहीं कर रही है. 
- 
    पोर्टनंबर वैकल्पिक प्रॉक्सी सर्वर का पोर्ट. यह डिफ़ॉल्ट रूप से, स्कीम के हिसाब से पोर्ट को डिफ़ॉल्ट तौर पर सेट हो जाता है. 
- 
    स्कीमस्कीम ज़रूरी नहीं प्रॉक्सी सर्वर की स्कीम (प्रोटोकॉल). डिफ़ॉल्ट तौर पर यह 'http' पर सेट होता है. 
Scheme
Enum
"http" 
 
"https" 
 
"क्विक" 
 
"socks4" 
 
"socks5" 
 
प्रॉपर्टी
settings
इस्तेमाल की जाने वाली प्रॉक्सी सेटिंग. इस सेटिंग की वैल्यू एक प्रॉक्सी कॉन्फ़िगरेशन ऑब्जेक्ट है.
टाइप
types.ChromeSetting<ProxyConfig>
इवेंट
onProxyError
chrome.proxy.onProxyError.addListener(
callback: function,
)
प्रॉक्सी गड़बड़ियों के बारे में सूचना देता है.
पैरामीटर
- 
    कॉलबैकफ़ंक्शन callbackपैरामीटर ऐसा दिखता है:(details: object) => void - 
    विवरणऑब्जेक्ट - 
    विवरणस्ट्रिंग JavaScript रनटाइम गड़बड़ी जैसी गड़बड़ी के बारे में ज़्यादा जानकारी. 
- 
    गड़बड़ीस्ट्रिंग गड़बड़ी की जानकारी. 
- 
    fatalबूलियन अगर सही था, तो गड़बड़ी गंभीर थी और नेटवर्क ट्रांज़ैक्शन रद्द कर दिया गया था. अगर ऐसा नहीं है, तो सीधे कनेक्शन का इस्तेमाल किया जाता है. 
 
- 
    
 
-