लेखक: Ilya Rusalowski, iProxy.online के CTO
अगर आप मोबाइल प्रॉक्सी चलाते हैं, तो यह दर्द आप जानते हैं: कुछ टूट जाता है, और कोई बता नहीं पाता कि क्यों। डिवाइस किसी दूसरे देश में है। यूज़र कहता है “काम नहीं कर रहा।” न कोई लॉग, न कोई एरर मैसेज, न कोई स्टैक ट्रेस। बस खामोशी।
हमारे साथ भी ऐसा ही हुआ — लेकिन हमने इसे तब पकड़ लिया, जब ज़्यादातर यूज़र्स को इसका एहसास भी नहीं हुआ था। यहाँ बताते हैं कैसे।
iProxy हर डिवाइस पर लगातार नेटवर्क डायग्नोस्टिक्स चलाता है।
हमारा Android ऐप सिर्फ ट्रैफिक फॉरवर्ड नहीं करता। यह नेटवर्क हेल्थ प्रोब्स का एक पूरा सेट चलाता है — कनेक्टिविटी, लेटेंसी, DNS रिज़ॉल्यूशन, HTTP और HTTPS की पहुंच, और भी बहुत कुछ जाँचता है। ये प्रोब्स नियंत्रित सर्वरों के खिलाफ लगातार चलती रहती हैं, ताकि हमें हर पल हर डिवाइस के नेटवर्क की स्थिति पता रहे।
इसी तरह हमने इसे देखा: कुछ प्रतिशत डिवाइसों पर HTTPS जाँचें विफल होने लगीं, जबकि HTTP बिल्कुल ठीक काम कर रहा था। यह विफलता TLS हैंडशेक के चरण पर हो रही थी। न कोई एरर, न कोई टाइमआउट मैसेज — बस एक कनेक्शन जो खामोशी से कहीं नहीं पहुँचता था।
बिल्ट-इन डायग्नोस्टिक्स के बिना, यह अदृश्य रह जाता। यूज़र्स को बिना किसी पैटर्न या स्पष्टीकरण के रुक-रुककर प्रॉक्सी विफलताएँ दिखती। हम अंदाज़ा लगाते रहते।
असल में क्या हो रहा था
विफलताएँ खास तौर पर TLS 1.3 से जुड़ी थीं। उसी डिवाइस से, उसी सर्वर पर, उसी समय TLS 1.2 कनेक्शन — बिल्कुल ठीक काम कर रहे थे। TLS 1.3 नहीं।
मूल कारण दो चीज़ों का संयोजन निकला:
आधुनिक TLS क्लाइंट पहले से कहीं ज़्यादा बड़े हैंडशेक मैसेज भेजते हैं। Go 1.23+ और Chrome 124+ अब डिफ़ॉल्ट रूप से पोस्ट-क्वांटम क्रिप्टोग्राफी की key shares (ML-KEM) शामिल करते हैं। इससे TLS कनेक्शन का पहला मैसेज — ClientHello — इतना बड़ा हो जाता है कि वह एक ही TCP पैकेट से ज़्यादा हो जाता है। TLS 1.3 में सर्वर का जवाब भी एक बड़े फ्लाइट के रूप में आता है (सर्टिफिकेट चेन सहित), जो Google या Cloudflare जैसी साइटों के लिए 4-6 KB तक हो सकता है।
मेमोरी दबाव में Android डिवाइस इन बड़े मैसेज को बफर करने में संघर्ष करते हैं। हमारा ऐप एक TCP प्रॉक्सी की तरह काम करता है — यह एक सॉकेट से बाइट्स पढ़ता है और दूसरे में लिखता है। जब डिवाइस में RAM कम होती है, तो यह बफरिंग खामोशी से विफल हो सकती है। हैंडशेक डेटा या तो फॉरवर्ड नहीं होता, या जवाब वापस नहीं आता। न कोई एरर। न कोई क्रैश। बस कुछ नहीं।
TLS 1.2 इससे पूरी तरह बचता है: इसका हैंडशेक कई छोटे राउंड ट्रिप्स में बँटा होता है, और कोई एक मैसेज इतना बड़ा नहीं होता कि समस्या पैदा करे।
यह प्रॉक्सी की गुणवत्ता के लिए क्यों मायने रखता है
इस तरह की समस्या ही एक भरोसेमंद प्रॉक्सी सेवा को एक निराशाजनक सेवा से अलग करती है।
सक्रिय डायग्नोस्टिक्स के बिना, एक प्रदाता को यूज़र्स की यादृच्छिक HTTPS विफलताओं की शिकायतें मिलतीं। सपोर्ट टीम “ऐप रीस्टार्ट करें” या “अपना इंटरनेट कनेक्शन जाँचें” कहती। समस्या आती-जाती रहती। कोई इसे TLS वर्शन या डिवाइस मेमोरी से नहीं जोड़ता।
iProxy में, हमने पैटर्न को अपने आप पहचाना। हमारे डायग्नोस्टिक सिस्टम ने पहचाना कि TLS 1.3 विफल हो रहा था जबकि TLS 1.2 काम कर रहा था — खास डिवाइसों पर, खास समय पर। इसने हमें बताया कि कहाँ देखना है।
हमने इसके बारे में क्या किया
समस्या समझ आने के बाद, हमने दो सुधार जारी किए:
स्मार्ट TLS फ़ॉलबैक। जब हमारे डायग्नोस्टिक्स किसी डिवाइस पर TLS 1.3 विफलता का पैटर्न पहचानते हैं, तो हम अपने आप समायोजन करते हैं। यूज़र को कुछ किए बिना ट्रैफिक बहता रहता है।
स्वचालित रिकवरी। अगर कोई डिवाइस खराब स्थिति में आ जाता है, तो हम मेमोरी दबाव को साफ करने और पूरी कार्यक्षमता बहाल करने के लिए ऐप को दूर से रीस्टार्ट कर सकते हैं। डायग्नोस्टिक्स इसकी ज़रूरत पड़ने पर पहचान लेते हैं और यूज़र के हस्तक्षेप के बिना संभाल लेते हैं।
हमने अपने ऐप में मेमोरी लीक भी ढूंढकर ठीक किए जो समस्या में योगदान दे रही थीं। हमारे मॉनिटरिंग डैशबोर्ड में सुधार तुरंत दिखा — पूरे फ्लीट में TLS 1.3 विफलताओं की दर काफी गिर गई।
इसका मतलब है “प्रबंधित प्रॉक्सी इन्फ्रास्ट्रक्चर”
TCP पैकेट फॉरवर्ड करने वाला ऐप कोई भी लिख सकता है। मुश्किल हिस्सा यह जानना है कि यह कब काम करना बंद करता है, क्यों बंद करता है, और यूज़र सपोर्ट टिकट खोलने से पहले इसे ठीक करना।
iProxy हर डिवाइस पर रियल-टाइम में नेटवर्क हेल्थ की निगरानी करता है। हम यूज़र्स के समस्या रिपोर्ट करने का इंतज़ार नहीं करते — हम उन्हें खुद पहचानते हैं, उनका निदान करते हैं, और बहुत सारे मामलों में अपने आप ठीक कर देते हैं। यही एक प्रॉक्सी ऐप और एक प्रॉक्सी इन्फ्रास्ट्रक्चर के बीच का फर्क है।
हमारी इंजीनियरिंग टीम ने इस जाँच की पूरी तकनीकी गहराई प्रकाशित की है। अगर आप विवरण में रुचि रखते हैं — पैकेट कैप्चर, Go और curl के बीच के अंतर, पोस्ट-क्वांटम क्रिप्टोग्राफी का पहलू — तो आप इसे यहाँ पढ़ सकते हैं: जब TLS 1.3 आपके Android प्रॉक्सी के अंदर चुपचाप मर जाता है.
iProxy.online 100+ देशों और 600+ कैरियर्स में मोबाइल प्रॉक्सी इन्फ्रास्ट्रक्चर प्रदान करता है। हमारा Android ऐप फोन को बिल्ट-इन नेटवर्क डायग्नोस्टिक्स, स्वचालित हेल्थ मॉनिटरिंग और रिमोट मैनेजमेंट के साथ भरोसेमंद प्रॉक्सी सर्वर में बदलता है।