Chrome बार-बार प्रॉक्सी का यूज़रनेम और पासवर्ड क्यों माँगता है
विषय सूची

संक्षेप में: जब प्रॉक्सी स्टेटस 407, Proxy Authentication Required, का जवाब देता है, तब Chrome प्रॉक्सी में साइन-इन का अपना डायलॉग दिखाता है। Chrome अपनी प्रॉक्सी सेटिंग या लॉन्च फ़्लैग से क्रेडेंशियल नहीं लेता, इसलिए आप उन्हें डायलॉग में टाइप करते हैं या कोई एक्सटेंशन उन्हें देता है। साइन-इन के बाद भी लौटने वाला डायलॉग सबसे अक्सर यह बताता है कि प्रॉक्सी ने आपका भेजा हुआ ठुकरा दिया। पासवर्ड माँगने वाला SOCKS5 प्रॉक्सी Chrome में काम नहीं कर सकता, क्योंकि Chrome में SOCKS5 प्रमाणीकरण लागू ही नहीं है।
Chrome बार-बार प्रॉक्सी का यूज़रनेम और पासवर्ड तब माँगता है जब प्रॉक्सी ऐसा साइन-इन माँगता है जिसका जवाब देने का Chrome के पास कोई और तरीका नहीं है। इस परेशानी के पीछे चार स्थितियाँ हैं, और उनमें से तीन का हल Chrome के अंदर है। चौथी, यानी पासवर्ड वाला SOCKS5 प्रॉक्सी, प्रॉक्सी की ओर बदलाव या कोई दूसरा ब्राउज़र माँगती है।
प्रॉक्सी साइन-इन डायलॉग का क्या मतलब है?
प्रॉक्सी ने आपके साइन इन करने तक आपका अनुरोध आगे भेजने से इनकार कर दिया। HTTP की भाषा में उसने स्टेटस 407, Proxy Authentication Required, का जवाब दिया, जिसे RFC 9110 इस अर्थ में बताता है कि «the client needs to authenticate itself in order to use a proxy for this request» (इस अनुरोध के लिए प्रॉक्सी इस्तेमाल करने को क्लाइंट को अपना प्रमाणीकरण करना होगा)। प्रॉक्सी उन साइन-इन तरीकों के नाम बताता है जिन्हें वह स्वीकार करता है, और ब्राउज़र क्रेडेंशियल के साथ अनुरोध दोहरा सकता है।
Chrome उन्हें «Sign in» (साइन इन) शीर्षक वाले डायलॉग में लेता है।
Chromium की डायलॉग स्ट्रिंग
में उसका पाठ है «The proxy $1 requires a username and password.» (प्रॉक्सी $1 को यूज़रनेम
और पासवर्ड चाहिए), जिसमें $1 की जगह प्रॉक्सी का पता होता है। HTTP प्रॉक्सी के लिए Chrome
Basic, Digest, Negotiate और NTLM तरीकों का समर्थन करता है, जो
Chromium के प्रॉक्सी नोट्स
में सूचीबद्ध हैं।
Chrome बार-बार प्रॉक्सी का पासवर्ड क्यों माँगता है?
सबसे अक्सर प्रॉक्सी ने क्रेडेंशियल ठुकरा दिए और नए 407 का जवाब दिया, इसलिए Chrome फिर से पूछता है। गलत पासवर्ड, आख़िर में स्पेस के साथ कॉपी किया गया यूज़रनेम, या ऐसा अकाउंट जिसे प्रोवाइडर ने निलंबित कर दिया है, ब्राउज़र की ओर से ये सब एक जैसे दिखते हैं।
डायलॉग तब भी लौटता है जब पासवर्ड ऐसी जगह है जिसे Chrome नहीं पढ़ता, जैसे प्रॉक्सी सेटिंग, और तब भी जब उसे सहेजने वाले एक्सटेंशन को जवाब देने की अनुमति नहीं मिली है। पासवर्ड वाला SOCKS5 प्रॉक्सी अलग बर्ताव करता है: Chrome उसके लिए कोई डायलॉग नहीं दिखाता, और कनेक्शन विफल हो जाता है। «अपना मामला खोजिए» तालिका चारों स्थितियाँ और हर एक में क्या करना है, बताती है।
प्रॉक्सी सेटिंग में लिखा पासवर्ड क्यों अनदेखा होता है?
Chrome प्रॉक्सी सेटिंग में लिखे क्रेडेंशियल नहीं पढ़ता। कई सिस्टम आपको वहाँ यूज़रनेम और पासवर्ड
डालने देते हैं, या उन्हें पते में user:password@host:port के रूप में लिखने देते हैं, और
Chromium के प्रॉक्सी नोट्स
साफ़ कहते हैं: «Chrome does not implement this, and will not use any credentials embedded in
the proxy settings.» (Chrome यह लागू नहीं करता, और प्रॉक्सी सेटिंग में डाले गए कोई भी क्रेडेंशियल
इस्तेमाल नहीं करेगा।) प्रमाणीकरण सामान्य साइन-इन प्रवाह से होता है, और ज़्यादातर लोगों के लिए
वह प्रवाह डायलॉग ही है।
--proxy-server लॉन्च फ़्लैग से सेट किया गया प्रॉक्सी मैनुअल सेटिंग डालने का एक और तरीका है,
इसलिए फ़्लैग में लिखे पासवर्ड का भी कोई असर नहीं होता।
एक्सटेंशन आपकी ओर से डायलॉग का जवाब कैसे दे सकता है?
Chrome किसी एक्सटेंशन को डायलॉग दिखने से पहले प्रॉक्सी के साइन-इन अनुरोध का जवाब देने देता है।
webRequest API
एक onAuthRequired इवेंट भेजता है, जिसका isProxy फ़्लैग तब true होता है जब पूछने वाला प्रॉक्सी
हो, और webRequestAuthProvider अनुमति वाला एक्सटेंशन यूज़रनेम और पासवर्ड के साथ जवाब दे सकता है।
हमारा मुफ़्त ProxyJam Connector इसी इवेंट का इस्तेमाल करता है। आप हर प्रॉक्सी प्रोफ़ाइल में एक यूज़रनेम और पासवर्ड सहेजते हैं, और एक्सटेंशन उस सहेजे गए प्रॉक्सी के लिए जवाब देता है जिसका होस्ट और पोर्ट पूछने वाले प्रॉक्सी से मेल खाता है।
- Chrome पर यह तब जवाब देता है जब आप उसके Settings पेज पर नेटवर्क पहुँच दे देते हैं; तब तक ब्राउज़र का अपना डायलॉग हमेशा की तरह दिखता है।
- जब प्रॉक्सी एक ही अनुरोध के लिए क्रेडेंशियल दो बार ठुकरा देता है, तो Connector दोबारा कोशिश करना बंद कर देता है और उसके टूलबार बैज पर AUTH दिखता है।
- यह HTTP और HTTPS प्रॉक्सी के लिए जवाब देता है। यूज़रनेम और पासवर्ड वाले SOCKS5 प्रोफ़ाइल पर चेतावनी दिखती है, क्योंकि Chrome उनका इस्तेमाल नहीं कर सकता।
क्या Chrome पासवर्ड वाला SOCKS5 प्रॉक्सी इस्तेमाल कर सकता है?
नहीं। Chromium के प्रॉक्सी नोट्स कहते हैं «No authentication methods are supported for SOCKSv5 in Chrome (although some do exist for the protocol)» (Chrome में SOCKSv5 के लिए प्रमाणीकरण का कोई तरीका समर्थित नहीं है, हालाँकि प्रोटोकॉल में कुछ तरीके हैं), और SOCKS4 के लिए भी कोई नहीं। Chrome का SOCKS5 क्लाइंट प्रॉक्सी को सिर्फ़ वह तरीका पेश करता है जिसमें क्रेडेंशियल नहीं चाहिए, इसलिए पासवर्ड पर अड़ा प्रॉक्सी कनेक्शन ठुकरा देता है। एक्सटेंशन API में SOCKS साइन-इन के लिए कोई ऐसा इवेंट नहीं है जिसका जवाब कोई एक्सटेंशन दे सके।
क्या काम करता है:
- प्रोवाइडर के पास अपना पता दर्ज कराइए। कुछ प्रॉक्सी प्रोवाइडर आपकी दी हुई IP पतों की सूची से आने वाले कनेक्शन बिना पासवर्ड के स्वीकार कर सकते हैं।
- प्रोवाइडर का HTTP एंडपॉइंट इस्तेमाल कीजिए। अगर वही प्रॉक्सी HTTP कनेक्शन भी स्वीकार करता है, तो Chrome डायलॉग या एक्सटेंशन के ज़रिए उसमें साइन इन कर सकता है।
- उस प्रॉक्सी के लिए Firefox इस्तेमाल कीजिए। Firefox का एक्सटेंशन API SOCKS प्रॉक्सी के लिए यूज़रनेम और पासवर्ड भेजता है (MDN का ProxyInfo संदर्भ)। Connector का Firefox बिल्ड इसका इस्तेमाल करता है, और वह Firefox Add-ons से इंस्टॉल होता है।
आगे कहाँ जाएँ?
अगर आप पासवर्ड वाले कई प्रॉक्सी के बीच बदलते रहते हैं, तो हर एक के क्रेडेंशियल सहेजने वाला एक्सटेंशन HTTP और HTTPS पर उनकी ओर से जवाब देता है, और एक्सटेंशन पेज बताता है कि Connector Chrome पर क्या करता है। ऐसे प्रॉक्सी से सिर्फ़ कुछ साइटों को भेजने के लिए सिर्फ़ कुछ साइटों को प्रॉक्सी से भेजना देखिए। हर स्विचर के लिए बदले एक्सटेंशन नियम Manifest V3 ने प्रॉक्सी एक्सटेंशन के लिए क्या बदला में हैं।
अगर आप Connector के लिए प्रॉक्सी चुन रहे हैं, तो ISP प्रॉक्सी क्या है पढ़िए: ProxyJam स्टैटिक रेज़िडेंशियल (ISP) प्रॉक्सी ISP प्रॉक्सी पेज पर बेचता है, और कीमतें कीमतों के पेज पर हैं।
