ब्लॉग पर वापस जाएँ

SOCKS5 और HTTP प्रॉक्सी में अंतर: फिंगरप्रिंट ब्राउज़र सेटअप गाइड

प्रॉक्सी चुनते समय ज़्यादातर लोग सिर्फ़ रीजन, बैंडविड्थ और कीमत देखते हैं और टाइप वाला कॉलम लगभग छोड़ देते हैं — HTTP या SOCKS5। मगर यही कॉलम तीन चीज़ें तय करता है: DNS रिक्वेस्ट किस तरफ़ से जाती है, UDP ट्रैफ़िक गुज़र सकता है या नहीं, और प्रॉक्सी आपके रिक्वेस्ट हेडर बदलता है या नहीं। आम इंटरनेट इस्तेमाल में यह लगभग महसूस नहीं होता, लेकिन जैसे ही प्रॉक्सी को MakoBrowser जैसे फिंगरप्रिंट ब्राउज़र एनवायरनमेंट में डाला जाता है, यह सीधे एनवायरनमेंट की क्वालिटी पर असर डालता है। नीचे पहले दोनों के अंतर साफ़ करेंगे, फिर चुनाव का तरीका और सेटअप तथा जाँच की पूरी प्रक्रिया बताएँगे।

दोनों का मूल अंतर: एक वेब की भाषा समझता है, दूसरा सिर्फ़ ढोता है

HTTP प्रॉक्सी एप्लिकेशन लेयर पर काम करता है और अपने से गुज़रने वाली HTTP रिक्वेस्ट पढ़ सकता है, इसीलिए उसमें बदलाव करने की क्षमता भी है। SOCKS5 सिर्फ़ एक सामान्य फ़ॉरवर्डिंग चैनल है और अंदर क्या है, इसकी परवाह नहीं करता।

HTTP पेज खोलते समय HTTP प्रॉक्सी रिक्वेस्ट का पता और हेडर देख सकता है। HTTPS खोलते समय ब्राउज़र पहले एक CONNECT रिक्वेस्ट भेजकर टनल बनाता है, और टनल बनने के बाद सामग्री प्रॉक्सी को नहीं दिखती — यह प्रक्रिया MDN के CONNECT मेथड विवरण में साफ़ लिखी है। यानी HTTP प्रॉक्सी भी HTTPS को टनल से ही संभालता है, बस उसकी क्षमता हमेशा HTTP प्रोटोकॉल के इर्द-गिर्द रहती है।

SOCKS5 की जगह अलग है। RFC 1928 इसे "एप्लिकेशन लेयर और ट्रांसपोर्ट लेयर के बीच की परत" बताता है और CONNECT, BIND, UDP ASSOCIATE — तीन कमांड परिभाषित करता है। आसान भाषा में: यह ट्रैफ़िक की सामग्री नहीं पढ़ता, डेटा को जैसा है वैसा गंतव्य तक भेजता है, और सिर्फ़ TCP ही नहीं भेजता।

व्यवहार में यह अंतर मुख्य रूप से इन बिंदुओं पर दिखता है।

  • कौन सा ट्रैफ़िक गुज़रता है: HTTP प्रॉक्सी HTTP और HTTPS संभालता है; SOCKS5 किसी भी TCP ट्रैफ़िक को फ़ॉरवर्ड करता है और UDP को नेटिव रूप से सपोर्ट करता है।
  • आपकी रिक्वेस्ट बदलता है या नहीं: HTTP प्रॉक्सी को HTTP लेयर पर रिक्वेस्ट की सामग्री दिखती है और कुछ इम्प्लीमेंटेशन Via, X-Forwarded-For जैसे हेडर भी जोड़ देते हैं; SOCKS5 एप्लिकेशन लेयर की सामग्री नहीं बदलता।
  • ऑथेंटिकेशन का तरीका: HTTP प्रॉक्सी आमतौर पर Basic ऑथेंटिकेशन इस्तेमाल करता है, जिसमें क्रेडेंशियल सिर्फ़ base64 में होते हैं और सुरक्षा HTTPS पर निर्भर करती है; SOCKS5 में अलग ऑथेंटिकेशन नेगोशिएशन होता है और RFC 1929 यूज़रनेम-पासवर्ड तरीका तय करता है।
  • पोर्ट की परंपरा: SOCKS सर्विस पारंपरिक रूप से 1080 पोर्ट पर चलती है, लेकिन प्रोवाइडर जो पोर्ट दे, वही भरना ठीक है।

कई एनवायरनमेंट के लिए अलग-अलग प्रॉक्सी सेट करते ऑपरेटर, स्क्रीन पर प्रॉक्सी टाइप और जाँच की स्थिति

फिंगरप्रिंट ब्राउज़र में डालने के बाद असल मुश्किल DNS और UDP से आती है

प्रॉक्सी का टाइप गलत चुनने पर सबसे पहले आमतौर पर "कनेक्ट नहीं हो रहा" नहीं, बल्कि यह पता चलता है कि DNS रिक्वेस्ट चुपचाप लोकल नेटवर्क से जा रही है।

DNS किस तरफ़ रिज़ॉल्व होता है, यही लीक तय करता है

डोमेन किस तरफ़ रिज़ॉल्व होगा, यह प्रॉक्सी टाइप के नाम से नहीं, क्लाइंट की सेटिंग से तय होता है। SOCKS5 डोमेन को सीधे प्रॉक्सी वाली तरफ़ भेजकर संभालने की सुविधा देता है — RFC 1928 में डोमेन टाइप एड्रेस के लिए अलग परिभाषा है। लेकिन क्लाइंट डिफ़ॉल्ट रूप से ऐसा नहीं करता। Firefox का उदाहरण लें तो "SOCKS v5 पर प्रॉक्सी DNS इस्तेमाल करें" चुनना पड़ता है, तभी रिज़ॉल्यूशन प्रॉक्सी से होकर जाता है; चुनाव न करने पर क्लाइंट पहले लोकल में डोमेन को IP में बदलकर प्रॉक्सी को सौंपता है और DNS रिक्वेस्ट लोकल ISP के पास चली जाती है। यही प्रॉक्सी DNS लीक का सबसे आम स्रोत है।

HTTP प्रॉक्सी आमतौर पर होस्टनेम प्रॉक्सी को ही रिज़ॉल्व करने देता है, लेकिन यहाँ भी मान नहीं लेना चाहिए: WebRTC का डायरेक्ट कनेक्शन, ब्राउज़र का प्री-रिज़ॉल्व और प्रॉक्सी से न गुज़रने वाला ट्रैफ़िक, ये सब रिज़ॉल्यूशन रिक्वेस्ट वापस लोकल भेज सकते हैं।

जाँच मुश्किल नहीं है। एनवायरनमेंट शुरू करने के बाद किसी भी DNS लीक टेस्ट पेज पर जाकर देखें कि रिज़ॉल्विंग सर्वर किस रीजन का है। अगर लोकल ISP दिखे, तो समझें कि रिज़ॉल्यूशन प्रॉक्सी के साथ नहीं गया।

UDP सपोर्ट कब अहम होता है

ब्राउज़र जब HTTP/3 सपोर्ट करने वाली साइट खोलता है तो QUIC आज़माता है, और QUIC UDP पर आधारित है। अगर प्रॉक्सी सिर्फ़ TCP सपोर्ट करता है, तो ट्रैफ़िक अपने आप TCP पर लौट जाता है, वेब पेज पहले की तरह खुलता है और रोज़मर्रा में फ़र्क महसूस नहीं होता। SOCKS5 की असली ज़रूरत तब पड़ती है जब एनवायरनमेंट में UDP पर निर्भर टूल भी चल रहे हों।

सिर्फ़ वेब ऑपरेशन करते हैं तो UDP निर्णायक नहीं है; एनवायरनमेंट में अतिरिक्त टूल हों, तभी यह निर्णायक बनता है।

HTTP प्रॉक्सी और SOCKS5 की तुलना: रिक्वेस्ट हेडर दिखना और सिर्फ़ TCP, बनाम सामग्री न पढ़ना और TCP व UDP सपोर्ट के साथ दूर से DNS रिज़ॉल्यूशन

किस स्थिति में SOCKS5 और किस स्थिति में HTTP पर्याप्त है

चुनाव यह देखकर नहीं होता कि कौन "ज़्यादा एडवांस" है; यह देखकर होता है कि आपका ट्रैफ़िक कैसा है और प्रोवाइडर कौन सा टाइप दे रहा है।

कुछ सीधे तुलना करने लायक फ़ैसले ये हैं।

  1. प्रोवाइडर सिर्फ़ HTTP टाइप देता है और ज़रूरत सिर्फ़ ब्राउज़र वेब ट्रैफ़िक है: HTTP प्रॉक्सी सीधे इस्तेमाल करें, वह पूरी तरह काफ़ी है।
  2. एनवायरनमेंट में ब्राउज़र के अलावा UDP पर निर्भर टूल हैं, या DNS एक्सपोज़र घटाना है: SOCKS5 को प्राथमिकता दें।
  3. प्रॉक्सी से कैशिंग, कंटेंट फ़िल्टरिंग या एक्सेस ऑडिट चाहिए: HTTP प्रॉक्सी ज़्यादा उपयुक्त है, उसकी असली कीमत यही है कि वह रिक्वेस्ट की सामग्री समझ सकता है।
  4. सिर्फ़ कई अकाउंट खोलकर सोशल मीडिया या स्टोर ऑपरेशन करना है: दोनों टाइप काफ़ी हैं, असली फ़र्क प्रोटोकॉल में नहीं है।

दो बहुत फैली हुई भ्रांतियाँ अलग से समझने लायक हैं। एक है "SOCKS5 ज़रूर तेज़ होता है" — रफ़्तार प्रॉक्सी सर्वर की बैंडविड्थ, लोड और लिंक दूरी पर निर्भर करती है, प्रोटोकॉल टाइप से सीधा संबंध नहीं है। दूसरी है "SOCKS5 ज़्यादा एनोनिमस है" — वह सिर्फ़ ट्रैफ़िक की सामग्री नहीं बदलता, आप कौन हैं यह नहीं छिपाता, और लॉग रखे जाते हैं या नहीं, यह प्रॉक्सी सर्विस प्रोवाइडर तय करता है।

एक बात और याद रखें: प्रॉक्सी का टाइप चुनाव के कई पैरामीटर में से बस एक है। प्रॉक्सी डेडिकेटेड है या नहीं, रीजन स्थिर है या नहीं, IP बार-बार बदलता है या नहीं — इनका असर एनवायरनमेंट आइसोलेशन पर अक्सर प्रोटोकॉल टाइप से ज़्यादा होता है। टाइप पर देर तक उलझे रहना और साथ में लगातार बदलते IP वाला शेयर्ड प्रॉक्सी इस्तेमाल करना, क्रम उलटा है।

फिंगरप्रिंट ब्राउज़र में प्रॉक्सी सेटअप: टाइप भरने से लेकर काम करने की जाँच तक

सेटअप में बस कुछ ही स्टेप हैं, लेकिन क्रम गलत हो तो बार-बार दोबारा काम करना पड़ता है — पहले एनवायरनमेंट के बाहर जाँचें, फिर एनवायरनमेंट के अंदर सेट करें, और आख़िर में ब्राउज़र के अंदर दोबारा पुष्टि करें।

  1. पहले पक्का करें कि प्रॉक्सी खुद काम कर रहा है। होस्ट, पोर्ट, टाइप और ऑथेंटिकेशन जानकारी मिलने के बाद एनवायरनमेंट के बाहर एक बार कनेक्टिविटी टेस्ट करें; इससे "प्रॉक्सी काम नहीं कर रहा" और "एनवायरनमेंट सेटिंग में दिक्कत है" — इन दोनों में फ़र्क कर पाएँगे।

  2. एनवायरनमेंट की प्रॉक्सी सेटिंग खोलें और टाइप चुनें। टाइप प्रोवाइडर के बताए टाइप से मेल खाना चाहिए। SOCKS5 प्रॉक्सी को HTTP में भरने पर सीधे कनेक्शन नहीं बनेगा, और एरर भी आमतौर पर धुँधला होता है, जिससे एनवायरनमेंट खराबी मान लेना आसान है।

    MakoBrowser फिंगरप्रिंट ब्राउज़र में एनवायरनमेंट प्रॉक्सी की बाइंडिंग और डिटेक्शन

  3. होस्ट, पोर्ट और ऑथेंटिकेशन जानकारी भरें। यूज़रनेम-पासवर्ड हो तो भरें, और ध्यान रखें कि कॉपी करते समय फ़ालतू स्पेस साथ न आ जाए — यह सबसे आम शुरुआती गलती है।

    MakoBrowser फिंगरप्रिंट ब्राउज़र का एनवायरनमेंट प्रॉक्सी कॉन्फ़िगरेशन पैनल

  4. सेव करने के बाद एनवायरनमेंट के अंदर प्रॉक्सी डिटेक्शन एक बार चलाएँ, और पक्का करें कि एग्ज़िट IP, देश और रीजन उम्मीद के मुताबिक हैं।

  5. एनवायरनमेंट शुरू करने के बाद ब्राउज़र में दोबारा पुष्टि करें। मुख्य रूप से तीन चीज़ें देखें: एग्ज़िट IP, DNS रिज़ॉल्यूशन की जगह और WebRTC।

  6. इसे फ़िक्स कर दें। एक अकाउंट के लिए एक स्थिर एग्ज़िट रखें, और "ज़्यादा सुरक्षित दिखने" के लिए नोड बार-बार न बदलें — बार-बार बदलना खुद एक असामान्य संकेत है।

स्टेप 4 और स्टेप 5 दो अलग चीज़ें जाँचते हैं: एनवायरनमेंट के अंदर का डिटेक्शन बताता है कि प्रॉक्सी का रास्ता चल रहा है या नहीं, और ब्राउज़र के अंदर की पुष्टि बताती है कि ट्रैफ़िक कहीं और से लीक तो नहीं हो रहा। सिर्फ़ पहला करने पर DNS और WebRTC छूट जाना आसान है।

सेटअप के बाद ज़रूरी तीन जाँचें

प्रॉक्सी डाल देने का मतलब काम करना नहीं है; एग्ज़िट IP, DNS रिज़ॉल्यूशन की जगह और WebRTC — तीनों की अलग-अलग पुष्टि करनी होती है।

  • एग्ज़िट IP और रीजन: किसी भी IP क्वेरी पेज पर जाकर पक्का करें कि प्रॉक्सी का IP दिख रहा है, लोकल IP नहीं, और रीजन प्रोवाइडर के बताए अनुसार है।
  • DNS रिज़ॉल्यूशन की जगह: DNS लीक टेस्ट पेज से रिज़ॉल्विंग सर्वर का रीजन देखें। SOCKS5 की स्थिति में भी यह बिंदु अहम है, क्योंकि रिज़ॉल्यूशन की जगह क्लाइंट सेटिंग पर निर्भर करती है और इसे मान नहीं लेना चाहिए।
  • WebRTC: जाँचें कि ब्राउज़र WebRTC के ज़रिए असली IP उजागर कर रहा है या नहीं। यह समस्या सिर्फ़ प्रॉक्सी बदलकर एनवायरनमेंट आइसोलेशन न किए गए सामान्य ब्राउज़र में बहुत आम है।

एक और चीज़ जो अक्सर छूट जाती है: टाइमज़ोन, भाषा और सिस्टम रीजन एग्ज़िट रीजन से मेल खाने चाहिए। अमेरिकी रीजन का प्रॉक्सी लगाया है और टाइमज़ोन अब भी UTC+8 पर है, तो यह विरोधाभास प्रोटोकॉल टाइप गलत चुनने से ज़्यादा जल्दी नज़र आता है।

MakoBrowser फिंगरप्रिंट पैरामीटर और प्रॉक्सी IP का तालमेल

अगर दसियों एनवायरनमेंट सेट करने हैं, तो टाइप, एग्ज़िट और रीजन को दोबारा इस्तेमाल होने वाले कॉन्फ़िगरेशन में तय कर देना हर बार हाथ से भरने से आसान है। MakoBrowser प्रॉक्सी को एनवायरनमेंट के साथ ही मैनेज करता है — एनवायरनमेंट, अकाउंट और नेटवर्क एग्ज़िट एक ही जगह रहते हैं, इसलिए काम सँभालने वाला बदले तो भी "यह अकाउंट किस नोड पर है" पूछना नहीं पड़ता। अगर पहले एक एनवायरनमेंट चलाकर देखना है, तो डाउनलोड पेज से क्लाइंट इंस्टॉल करके शुरू कर सकते हैं।

अक्सर पूछे जाने वाले सवाल

SOCKS5 और HTTP प्रॉक्सी, कौन ज़्यादा तेज़ है

इसका कोई तय जवाब नहीं है। रफ़्तार प्रॉक्सी सर्वर की बैंडविड्थ, लोड, लिंक दूरी और टारगेट साइट पर निर्भर करती है और प्रोटोकॉल टाइप से उसका बहुत कम संबंध है। टाइप पर उलझने के बजाय पहले प्रॉक्सी की लाइन क्वालिटी देखें।

क्या फिंगरप्रिंट ब्राउज़र के लिए SOCKS5 ज़रूरी है

ज़रूरी नहीं। अगर सिर्फ़ वेब ट्रैफ़िक चलता है और प्रोवाइडर सिर्फ़ HTTP टाइप देता है, तो HTTP प्रॉक्सी भी काम करेगा। SOCKS5 की बढ़त UDP सपोर्ट और नियंत्रित रिमोट DNS रिज़ॉल्यूशन में है — एनवायरनमेंट में UDP पर निर्भर टूल हों तभी इसे प्राथमिकता दें।

प्रॉक्सी भर दिया है, फिर भी असली IP क्यों दिख रहा है

आम कारण तीन हैं: टाइप गलत होने से प्रॉक्सी असल में लागू ही नहीं हुआ, ब्राउज़र WebRTC से सीधे कनेक्ट कर रहा है, या DNS अब भी लोकल में रिज़ॉल्व हो रहा है। पिछले सेक्शन के क्रम में एक-एक करके जाँचें, तो आमतौर पर पकड़ में आ जाता है कि दिक्कत किस चरण में है।

क्या HTTP प्रॉक्सी से HTTPS साइट खोल सकते हैं

हाँ। ब्राउज़र पहले CONNECT मेथड से प्रॉक्सी पर एक टनल बनाता है, टनल के अंदर का ट्रैफ़िक एन्क्रिप्टेड होता है और प्रॉक्सी पेज की असली सामग्री नहीं देख पाता। HTTP प्रॉक्सी HTTPS को इसी तरह संभालता है।

क्या प्रॉक्सी टाइप अकाउंट की सुरक्षा को प्रभावित करता है

प्रॉक्सी टाइप खुद अकाउंट का नतीजा तय नहीं करता; असली असर यह डालता है कि एग्ज़िट स्थिर है या नहीं, रीजन अकाउंट से मेल खाता है या नहीं, और बार-बार बदलाव होता है या नहीं। कोई भी टूल यह गारंटी नहीं दे सकता कि अकाउंट पर प्लेटफ़ॉर्म वेरिफिकेशन नहीं आएगा, इसलिए एनवायरनमेंट साफ़ रखना और असामान्य उतार-चढ़ाव से बचना ही आपके हाथ में है।