refresh date: 2026-09-25 robots: noindex
ब्यौरा
Chrome की प्रॉक्सी सेटिंग मैनेज करने के लिए, chrome.proxy एपीआई का इस्तेमाल करें. यह एपीआई, प्रॉक्सी कॉन्फ़िगरेशन को पाने और सेट करने के लिए, ChromeSetting प्रोटोटाइप ऑफ़ द टाइप एपीआई पर निर्भर करता है.
अनुमतियां
proxyमेनिफ़ेस्ट
प्रॉक्सी सेटिंग एपीआई का इस्तेमाल करने के लिए, आपको एक्सटेंशन मेनिफ़ेस्ट में "प्रॉक्सी" अनुमति का एलान करना होगा. उदाहरण के लिए:
{
"name": "My extension",
...
"permissions": [
"proxy"
],
...
}
ऑब्जेक्ट और प्रॉपर्टी
प्रॉक्सी सेटिंग, proxy.ProxyConfig ऑब्जेक्ट में तय की जाती हैं. Chrome की प्रॉक्सी सेटिंग के आधार पर, सेटिंग में proxy.ProxyRules या proxy.PacScript शामिल हो सकता है.
प्रॉक्सी मोड
ProxyConfig ऑब्जेक्ट का mode एट्रिब्यूट, प्रॉक्सी के इस्तेमाल के बारे में Chrome के पूरे व्यवहार को तय करता है. इसकी ये वैल्यू हो सकती हैं:
directdirectमोड में, सभी कनेक्शन सीधे तौर पर बनाए जाते हैं. इसमें किसी भी प्रॉक्सी का इस्तेमाल नहीं किया जाता. इस मोड में,ProxyConfigऑब्जेक्ट में कोई और पैरामीटर नहीं जोड़ा जा सकता.auto_detectauto_detectमोड में, प्रॉक्सी कॉन्फ़िगरेशन का पता PAC स्क्रिप्ट से चलता है. इसे http://wpad/wpad.dat से डाउनलोड किया जा सकता है. इस मोड में,ProxyConfigऑब्जेक्ट में कोई और पैरामीटर नहीं जोड़ा जा सकता.pac_scriptpac_scriptमोड में, प्रॉक्सी कॉन्फ़िगरेशन को पीएसी स्क्रिप्ट से तय किया जाता है. यह स्क्रिप्ट,proxy.PacScriptऑब्जेक्ट में दिए गए यूआरएल से वापस पाई जाती है याproxy.PacScriptऑब्जेक्ट में दिए गएdataएलिमेंट से ली जाती है. इसके अलावा, इस मोड मेंProxyConfigऑब्जेक्ट में कोई और पैरामीटर इस्तेमाल नहीं किया जा सकता.fixed_servers-
fixed_serversमोड में, प्रॉक्सी कॉन्फ़िगरेशन कोproxy.ProxyRulesऑब्जेक्ट में कोड किया जाता है. इसके स्ट्रक्चर के बारे में प्रॉक्सी के नियम में बताया गया है. इसके अलावा,fixed_serversमोड मेंProxyConfigऑब्जेक्ट में कोई और पैरामीटर इस्तेमाल करने की अनुमति नहीं है. systemsystemमोड में, प्रॉक्सी कॉन्फ़िगरेशन को ऑपरेटिंग सिस्टम से लिया जाता है. इस मोड में,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]" से मैच करना है, क्योंकि IPv6 कैननिकल वर्शन को अंदरूनी तौर पर बनाया जाता है.
उदाहरण:
127.0.1,[0:0::1],[::1]:80,https://[::1]:443IP_LITERAL/PREFIX_LENGTH_IN_BITSदी गई रेंज में, आईपी लिटरल (
IP_LITERAL) वाले किसी भी यूआरएल से मैच करता है. आईपी रेंज (PREFIX_LENGTH_IN_BITS) को सीआईडीआर नोटेशन का इस्तेमाल करके तय किया जाता है.दी गई रेंज में मौजूद, आईपी लिटरल वाले किसी भी यूआरएल से मैच करता है. आईपी रेंज, सीआईडीआर नोटेशन का इस्तेमाल करके तय की जाती है. उदाहरण:
"192.168.1.1/16", "fefe:13::abc/33"<local>लिटरल स्ट्रिंग
<local>, सामान्य होस्टनेम से मेल खाती है. सिंपल होस्टनेम ऐसा होता है जिसमें कोई डॉट नहीं होता और वह आईपी लिटरल नहीं होता. उदाहरण के लिए,exampleऔरlocalhostसामान्य होस्टनेम हैं, जबकिexample.com,example., और[::1]सामान्य होस्टनेम नहीं हैं.उदाहरण:
"<local>"
उदाहरण
नीचे दिए गए कोड में, सभी सर्वर के लिए एचटीटीपी कनेक्शन के लिए SOCKS 5 प्रॉक्सी सेट की गई है. हालांकि, foobar.com के लिए ऐसा नहीं किया गया है. साथ ही, इसमें अन्य सभी प्रोटोकॉल के लिए डायरेक्ट कनेक्शन का इस्तेमाल किया गया है. ये सेटिंग, सामान्य और गुप्त विंडो, दोनों पर लागू होती हैं. ऐसा इसलिए, क्योंकि गुप्त विंडो में सेटिंग, सामान्य विंडो से मिलती हैं. कृपया 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 ऑब्जेक्ट, get() के कॉलबैक फ़ंक्शन को पास किए गए value ऑब्जेक्ट से अलग होता है. बाद वाले में rules.proxyForHttp.port एलिमेंट शामिल होगा.
टाइप
Mode
Enum
"direct"
"auto_detect"
"pac_script"
"fixed_servers"
"system"
PacScript
यह एक ऐसा ऑब्जेक्ट है जिसमें प्रॉक्सी के अपने-आप कॉन्फ़िगर होने की जानकारी होती है. इनमें से किसी एक फ़ील्ड की वैल्यू खाली नहीं होनी चाहिए.
प्रॉपर्टी
-
डेटा
string ज़रूरी नहीं है
PAC स्क्रिप्ट.
-
ज़रूरी है
boolean ज़रूरी नहीं है
अगर इस नीति को 'सही है' पर सेट किया जाता है, तो अमान्य पीएसी स्क्रिप्ट, नेटवर्क स्टैक को सीधे कनेक्शन पर वापस जाने से रोकेगी. डिफ़ॉल्ट रूप से, यह 'गलत' पर सेट होती है.
-
url
string ज़रूरी नहीं है
इस्तेमाल की जाने वाली PAC फ़ाइल का यूआरएल.
ProxyConfig
यह एक ऐसा ऑब्जेक्ट होता है जिसमें प्रॉक्सी कॉन्फ़िगरेशन की पूरी जानकारी होती है.
प्रॉपर्टी
-
मोड
'direct' = कभी भी प्रॉक्सी का इस्तेमाल न करें 'auto_detect' = प्रॉक्सी सेटिंग का अपने-आप पता लगाएं 'pac_script' = तय की गई PAC स्क्रिप्ट का इस्तेमाल करें 'fixed_servers' = प्रॉक्सी सर्वर को मैन्युअल तरीके से तय करें 'system' = सिस्टम की प्रॉक्सी सेटिंग का इस्तेमाल करें
-
pacScript
PacScript ज़रूरी नहीं है
इस कॉन्फ़िगरेशन के लिए प्रॉक्सी ऑटो-कॉन्फ़िगरेशन (पीएसी) स्क्रिप्ट. 'pac_script' मोड के लिए इसका इस्तेमाल करें.
-
नियम
ProxyRules ज़रूरी नहीं है
इस कॉन्फ़िगरेशन के बारे में बताने वाले प्रॉक्सी के नियम. 'fixed_servers' मोड के लिए इसका इस्तेमाल करें.
ProxyRules
यह एक ऐसा ऑब्जेक्ट है जिसमें सभी प्रोटोकॉल के लिए प्रॉक्सी के नियमों का सेट शामिल होता है. 'singleProxy' या 'proxyForHttp', 'proxyForHttps', 'proxyForFtp', और 'fallbackProxy' में से किसी एक का इस्तेमाल करें.
प्रॉपर्टी
-
bypassList
string[] ज़रूरी नहीं है
उन सर्वर की सूची जिनसे प्रॉक्सी सर्वर के बिना कनेक्ट किया जा सकता है.
-
fallbackProxy
ProxyServer ज़रूरी नहीं है
इस प्रॉक्सी सर्वर का इस्तेमाल अन्य सभी कामों के लिए किया जाता है. इसके अलावा, अगर proxyFor... में से कोई भी प्रॉक्सी सर्वर तय नहीं किया गया है, तो भी इसका इस्तेमाल किया जाता है.
-
proxyForFtp
ProxyServer ज़रूरी नहीं है
एफ़टीपी अनुरोधों के लिए इस्तेमाल किया जाने वाला प्रॉक्सी सर्वर.
-
proxyForHttp
ProxyServer ज़रूरी नहीं है
एचटीटीपी अनुरोधों के लिए इस्तेमाल किया जाने वाला प्रॉक्सी सर्वर.
-
proxyForHttps
ProxyServer ज़रूरी नहीं है
एचटीटीपीएस अनुरोधों के लिए इस्तेमाल किया जाने वाला प्रॉक्सी सर्वर.
-
singleProxy
ProxyServer ज़रूरी नहीं है
हर यूआरएल के अनुरोधों (जैसे, http, https, और ftp) के लिए इस्तेमाल किया जाने वाला प्रॉक्सी सर्वर.
ProxyServer
यह एक ऐसा ऑब्जेक्ट है जिसमें किसी एक प्रॉक्सी सर्वर की जानकारी शामिल होती है.
प्रॉपर्टी
-
होस्ट
स्ट्रिंग
प्रॉक्सी सर्वर का होस्टनेम या आईपी पता. होस्टनेम, ASCII (Punycode फ़ॉर्मैट में) में होने चाहिए. फ़िलहाल, आईडीएनए का इस्तेमाल नहीं किया जा सकता.
-
पोर्ट
number optional
प्रॉक्सी सर्वर का पोर्ट. डिफ़ॉल्ट रूप से, यह स्कीम पर निर्भर करने वाला पोर्ट होता है.
-
स्कीम
स्कीम ज़रूरी नहीं है
प्रॉक्सी सर्वर का स्कीम (प्रोटोकॉल). डिफ़ॉल्ट रूप से, यह 'http' पर सेट होता है.
Scheme
Enum
"http"
"https"
"quic"
"socks4"
"socks5"
प्रॉपर्टी
settings
इस्तेमाल की जाने वाली प्रॉक्सी सेटिंग. इस सेटिंग की वैल्यू, ProxyConfig ऑब्जेक्ट होती है.
इवेंट
onProxyError
chrome.proxy.onProxyError.addListener(
callback: function,
)
यह कुकी, प्रॉक्सी से जुड़ी गड़बड़ियों के बारे में सूचना देती है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर ऐसा दिखता है:(details: object) => void
-
ब्यौरा
ऑब्जेक्ट
-
ब्यौरा
स्ट्रिंग
गड़बड़ी के बारे में ज़्यादा जानकारी, जैसे कि JavaScript रनटाइम की गड़बड़ी.
-
गड़बड़ी
स्ट्रिंग
गड़बड़ी की जानकारी.
-
fatal
बूलियन
अगर यह वैल्यू सही है, तो इसका मतलब है कि गड़बड़ी गंभीर थी और नेटवर्क ट्रांज़ैक्शन को रद्द कर दिया गया था. ऐसा न होने पर, डायरेक्ट कनेक्शन का इस्तेमाल किया जाता है.
-
-