
एक स्थानीय प्रॉक्सी जो TLS ClientHello पैकेटों को विखंडित करके डीप पैकेट इंस्पेक्शन (Deep Packet Inspection) को बायपास करती है, जिससे व्यवस्थापक अधिकारों की आवश्यकता के बिना अवरुद्ध वेबसाइटों तक पहुंच संभव होती है।
ब्लॉकिंग को ना कहें!
[!IMPORTANT] यह प्रोजेक्ट https://github.com/theo0x0/nodpi रिपॉजिटरी का एक फोर्क है और इसे स्वतंत्र रूप से विकसित किया गया है। इसे https://github.com/raspabamos/nodpi के साथ भ्रमित न करें!
[!NOTE] यह संस्करण डेस्कटॉप सिस्टम के लिए है। एंड्रॉइड संस्करण यहाँ उपलब्ध है: https://github.com/GVCoder09/NoDPI4Android
🌐 वेबसाइट और दस्तावेज़ीकरण - उपयोगकर्ता-अनुकूल मार्गदर्शिका और अवलोकन
इसे अन्य भाषाओं में पढ़ें / Читайте на других языках
NoDPI एक उपयोगिता है जिसे DPI (Deep Packet Inspection) को बायपास करने के लिए डिज़ाइन किया गया है। DPI क्या है? DPI ट्रैफ़िक को विनियमित और फ़िल्टर करने के लिए उनकी सामग्री के आधार पर नेटवर्क पैकेटों का निरीक्षण करने की एक तकनीक है। इसका उपयोग अक्सर इंटरनेट सेवा प्रदाताओं द्वारा कुछ वेब संसाधनों और प्रोटोकॉल तक पहुँच को सेंसर करने और ब्लॉक करने के लिए किया जाता है। इस प्रोग्राम का लक्ष्य नेटवर्क पैकेटों को संशोधित करके DPI को "धोखा" देना है, हालाँकि वास्तव में, यह धोखा अक्सर कंप्यूटिंग संसाधनों और समय की कमी का एक परिणाम मात्र होता है।
यह उपयोगिता मुख्य रूप से रूसी उपयोगकर्ताओं के लिए समान टूल्स के एक सरल (लेकिन कम शक्तिशाली) विकल्प के रूप में विकसित की गई थी। अधिकांश मामलों में, यह अपना काम कर देती है; विशेष रूप से, यह आपको बिना किसी समस्या के YouTube का उपयोग करने की अनुमति देती है।
लेकिन दुर्भाग्य से, इस उपयोगिता के पूर्ण प्रदर्शन की गारंटी नहीं दी जा सकती। कुछ साइटें, जैसे YouTube, अनलॉक करने में अच्छी हैं, जबकि अन्य, जैसे Instagram.com या Facebook.com, को लॉक बायपास करने के लिए पूरी तरह से अलग तरीकों की आवश्यकता होती है, जो उनकी निम्न-स्तरीय प्रकृति और कठिनाई के कारण इस उपयोगिता में अभी तक लागू नहीं किए गए हैं। कभी-कभी, कुछ साइटों का प्रदर्शन प्रदाता पर भी निर्भर हो सकता है - वह साइट को कैसे ब्लॉक करता है और वह कौन से तकनीकी साधन लागू करता है।
NoDPI आपके कंप्यूटर पर एक प्रॉक्सी सर्वर लॉन्च करता है जिसके माध्यम से आप http(s) ट्रैफ़िक को निर्देशित करते हैं। प्रोग्राम बाहर जाने वाले कनेक्शनों के ClientHello को इंटरसेप्ट करता है और उन्हें निम्नलिखित तरीकों में से एक के अनुसार विखंडित (fragment) करता है:
SNI द्वारा विखंडन (डिफ़ॉल्ट रूप से)
पैकेट में SNI रिकॉर्ड वाला एक फ़ील्ड होता है। ClientHello को कई TLS रिकॉर्डों में विभाजित किया जाता है: SNI-पूर्व भाग, SNI वर्ण-दर-वर्ण, और SNI-पश्चात भाग। प्रत्येक भाग के साथ ClientHello प्रकार को इंगित करने वाला एक हेडर जोड़ा जाता है, और फिर पूरा पैकेट एक ही पैकेट में भेज दिया जाता है।
यादृच्छिक विखंडन
Clienthello को यादृच्छिक लंबाई के कई भागों में विभाजित किया जाता है। प्रत्येक भाग को Clienthello प्रकार के प्रीफिक्स के साथ जोड़ा जाता है और फिर यह सब एक ही पैकेट में भेजा जाता है।
इसके अलावा, विधि के बावजूद, TLS संस्करण को संस्करण 1.3 से बदल दिया जाता है, जो सबसे आधुनिक है (लेकिन इसका मतलब यह नहीं है कि आपका डेटा इस संस्करण की विशिष्टताओं के अनुसार प्रसारित होना शुरू हो जाता है)। यह सब मिलकर आपको लॉक को बायपास करने की अनुमति देता है। जाहिर है, DPI के पास अभी तक इस "गेंद" को सुलझाने के लिए आवश्यक क्षमताएँ नहीं हैं और वह समय और प्रयास बचाने के लिए ऐसे ट्रैफ़िक को आसानी से अनदेखा कर देता है। लेकिन यह संभव है कि जल्द ही ये तरीके काम नहीं करेंगे।
[!IMPORTANT] NoDPI केवल HTTPS ट्रैफ़िक के साथ काम करता है। यह HTTP ट्रैफ़िक भी ले सकता है, लेकिन विशुद्ध रूप से संगतता के लिए - इस पुराने प्रोटोकॉल के माध्यम से काम करने वाली साइटें व्यावहारिक रूप से अनलॉक के अधीन नहीं हैं और प्रोग्राम केवल ट्रैफ़िक को प्राप्तकर्ता को भेजता है।
NoDPI आपके बारे में कोई डेटा एकत्र नहीं करता और न ही भेजता है, किसी भी तृतीय-पक्ष प्रोग्राम और लाइब्रेरी का उपयोग नहीं करता है, सिस्टम प्रक्रियाओं में हस्तक्षेप नहीं करता है और काम करने के लिए व्यवस्थापक अधिकारों की आवश्यकता नहीं होती है।
संपूर्ण NoDPI कोड विशेष रूप से Python में लिखा गया है और केवल इसकी मानक लाइब्रेरी का उपयोग करता है।
फरवरी 2026 तक, निम्नलिखित सेवाओं और वेबसाइटों को NoDPI का उपयोग करके अनब्लॉक नहीं किया जा सकता है:
कृपया @ValdikSS द्वारा GoodbyeDPI या अन्य टूल्स का उपयोग करें। IP पते द्वारा ब्लॉक की गई सभी साइटें भी अनुपलब्ध हैं।