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मोड में, प्रॉक्सी कॉन्फ़िगरेशन को पीएसी स्क्रिप्ट से तय किया जाता है. इसे http://wpad/wpad.dat से डाउनलोड किया जा सकता है. इस मोड में,ProxyConfigऑब्जेक्ट में कोई और पैरामीटर इस्तेमाल नहीं किया जा सकता.pac_scriptpac_scriptमोड में, प्रॉक्सी कॉन्फ़िगरेशन को पीएसी स्क्रिप्ट से तय किया जाता है. यह स्क्रिप्ट,proxy.PacScriptऑब्जेक्ट में दिए गए यूआरएल से ली जाती है याproxy.PacScriptऑब्जेक्ट में दिए गएdataएलिमेंट से ली जाती है. इसके अलावा, इस मोड मेंProxyConfigऑब्जेक्ट में कोई और पैरामीटर इस्तेमाल नहीं किया जा सकता.fixed_serversfixed_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>"
उदाहरण
यह कोड, 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 ऑब्जेक्ट, get() के कॉलबैक फ़ंक्शन को पास किए गए value ऑब्जेक्ट से अलग होता है. इसमें rules.proxyForHttp.port एलिमेंट शामिल होगा.
टाइप
Mode
Enum
"direct"
"auto_detect"
"pac_script"
"fixed_servers"
"system"
PacScript
प्रॉक्सी ऑटो-कॉन्फ़िगरेशन की जानकारी वाला ऑब्जेक्ट. इनमें से सिर्फ़ एक फ़ील्ड खाली नहीं होना चाहिए.
प्रॉपर्टी
-
डेटा
string ज़रूरी नहीं
कोई पीएसी स्क्रिप्ट.
-
ज़रूरी है
बूलियन ज़रूरी नहीं
अगर इस नीति को 'सही है' पर सेट किया जाता है, तो अमान्य पीएसी स्क्रिप्ट, नेटवर्क स्टैक को डायरेक्ट कनेक्शन पर वापस जाने से रोकेगी. डिफ़ॉल्ट तौर पर, यह 'गलत' पर सेट होती है.
-
url
string ज़रूरी नहीं
इस्तेमाल की जाने वाली पीएसी फ़ाइल का यूआरएल.
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 (प्यूनीकोड फ़ॉर्मैट में) में होने चाहिए. फ़िलहाल, आईडीएनए का इस्तेमाल नहीं किया जा सकता.
-
पोर्ट
number ज़रूरी नहीं
प्रॉक्सी सर्वर का पोर्ट. डिफ़ॉल्ट रूप से, यह स्कीम के हिसाब से तय किए गए पोर्ट पर सेट होता है.
-
स्कीम
स्कीम ज़रूरी नहीं
प्रॉक्सी सर्वर की स्कीम (प्रोटोकॉल). डिफ़ॉल्ट रूप से, यह 'http' पर सेट होता है.
Scheme
Enum
"http"
"https"
"quic"
"socks4"
"socks5"
प्रॉपर्टी
settings
इस्तेमाल की जाने वाली प्रॉक्सी सेटिंग. इस सेटिंग की वैल्यू, ProxyConfig ऑब्जेक्ट है.
इवेंट
onProxyError
chrome.proxy.onProxyError.addListener(
callback: function,
)
प्रॉक्सी से जुड़ी गड़बड़ियों के बारे में सूचना देता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(details: object) => void
-
विवरण
ऑब्जेक्ट
-
विवरण
स्ट्रिंग
गड़बड़ी के बारे में अतिरिक्त जानकारी, जैसे कि JavaScript रनटाइम से जुड़ी गड़बड़ी.
-
गड़बड़ी
स्ट्रिंग
गड़बड़ी की जानकारी.
-
fatal
बूलियन
अगर यह वैल्यू 'सही' है, तो गड़बड़ी गंभीर थी और नेटवर्क लेन-देन को रद्द कर दिया गया था. ऐसा न होने पर, डायरेक्ट कनेक्शन का इस्तेमाल किया जाता है.
-
-