
DNS प्रॉक्सी जो सरल और तेज़ है, साथ ही कुछ ऐसी सुविधाएँ भी देती है जो उतनी सरल नहीं हैं। यह रूटेड DNS फ़ॉरवर्डिंग, फ़िल्टरिंग और पैरेंटल कंट्रोल पर केंद्रित है।
एक DNS प्रॉक्सी जो आपको आपके होम नेटवर्क पर वास्तविक नियंत्रण देती है।
मैंने "बड़े लोगों" के नेटवर्किंग और सुरक्षा "क्षेत्र" में एक सलाहकार के रूप में वर्षों बिताए। DNS सुरक्षा मेरा दैनिक कार्य था/है, लेकिन यह मेरा एक पसंदीदा शौक भी है जिसे मैं खोजता रहता हूँ। क्योंकि अब मेरे बच्चे हैं, और मुझे एक जिम्मेदार माता-पिता बनने की आवश्यकता है, मैंने अपने ऊपर यह जिम्मेदारी ली कि उनके लिए बड़े खतरनाक इंटरनेट को फ़िल्टर करूँ। इसलिए मैंने sdproxy (Simple DNS Proxy) बनाया। यह एंटरप्राइज़/बड़े-स्तर की सुरक्षा/विधियों/सटीकता को होम नेटवर्क स्तर पर लाता है (एक तरह से)।
यह प्रॉक्सी Go में लिखी गई है और सस्ते राउटरों के लिए एक लीन बाइनरी में कंपाइल होती है। यहाँ कोई क्लाउड सब्सक्रिप्शन या मासिक शुल्क नहीं है। यह DNS के हर स्वाद को बोलती है और स्थिर रहने के लिए अनुकूली प्रवेश नियंत्रण शामिल करती है। यह बस लीन (एक तरह से), मीन, डच-इंजीनियर की गई सटीकता है लिविंग रूम के लिए। बस आप, एक एक्ज़ीक्यूटेबल और एक yaml फ़ाइल।
और याद रखें... यह हमेशा DNS ही होता है!
नोट: इस रिपॉज़िटरी में full_reference_config.yaml हमेशा इस README से अधिक अद्यतित रहता है। संदेह होने पर, वहाँ देखें।
DNS इंटरनेट की फ़ोनबुक है - आपके नेटवर्क पर हर डिवाइस कहीं भी कनेक्ट होने से पहले एक नाम खोजता है।
sdproxy उसके बीच में, आपके राउटर पर बैठती है, और आपको तय करने देती है कि आगे क्या होगा: इसे कैश करें, इसे ब्लॉक करें, इसे किसी अन्य रिज़ॉल्वर पर रूट करें, उन्नत ML सुरक्षा मॉडल लागू करें, या प्रति बच्चा समय सीमा लागू करें। कोई क्लाउड सब्सक्रिप्शन नहीं, कोई मासिक शुल्क नहीं, कोई बाहरी सेवा नहीं जो डाउन हो जाए।
यह Go में लिखी गई है, एक सिंगल बाइनरी में कंपाइल होती है, और सस्ते होम राउटरों (TP-Link, GL.iNet या NetGear पर OpenWrt, pfSense, OPNsense या बस एक साधारण Linux बॉक्स) पर चलाने के लिए पर्याप्त लीन है।
विकल्पों की तुलना में मुख्य लाभों के लिए KEY_ADVANTAGES.md देखें।
पुराना UDP/TCP (पोर्ट 53), एन्क्रिप्टेड DNS-over-TLS (DoT), DNS-over-HTTPS (DoH), और DNS-over-QUIC (DoQ)।
sdproxy मूल रूप से Alt-Svc हेडर और SVCB/HTTPS ALPN पैरामीटर को पार्स करती है ताकि मानक DoH स्ट्रीम को उड़ान में ही उच्च-प्रदर्शन HTTP/3 (QUIC) कनेक्शनों में सहजता से अपग्रेड किया जा सके।TLS Server Name Indication (SNI) को एन्क्रिप्ट करके आपकी ब्राउज़िंग को ISP डीप-पैकेट निरीक्षण से बचाती है।
_dns.resolver.arpa SVCB/HTTPS) और /.well-known/origin-svcb / /.well-known/ech HTTPS एंडपॉइंट्स के माध्यम से अपनी कुंजियाँ आपके लोकल नेटवर्क पर मूल रूप से प्रसारित करती है।HTTPS/SVCB रिकॉर्ड (और L7 .well-known फ़ॉलबैक) को पूछताछ करती है, उनकी ECH कुंजियाँ निकालती है, और TLS हैंडशेक को पूरी तरह से स्वायत्त रूप से सुरक्षित करती है।एक मूल, ज़ीरो-एलोकेशन लॉजिस्टिक रिग्रेशन ML इन्फरेंस इंजन हॉट पाथ पर चलता है। यह बॉटनेट, मैलवेयर और C2 इंफ्रास्ट्रक्चर द्वारा उपयोग किए जाने वाले Algorithmically Generated Domains (DGA) को तुरंत पहचानने और ब्लॉक करने के लिए Shannon एन्ट्रॉपी, स्वर/व्यंजन स्क्यू, ट्रेलिंग डिजिट पैटर्न, और व्यंजन श्रृंखलाएँ निकालता है।
eTLD+1) पूछे गए अद्वितीय सबडोमेन को ट्रैक करती है।sdproxy केवल क्वेरी को आँख बंद करके फ़ॉरवर्ड नहीं करती; यह अपस्ट्रीम का गतिशील रूप से मूल्यांकन करती है।
max_secure_upstreams (डिफ़ॉल्ट 5) स्वस्थ सर्वरों को एक साथ क्वेरी करती है। पेलोड (CNAME श्रृंखलाएँ, अंतिम IP एंडपॉइंट) का गहराई से निरीक्षण करती है, fastest, ordered, और consolidate (मर्ज किया गया उत्तर सेट) प्राथमिकताओं का समर्थन करती है, और यदि अपस्ट्रीम असहमत हों या ज़हरीला NULL-IP लौटाएँ तो प्रतिक्रिया को ड्रॉप या ब्लॉक कर देती है।हाल ही में कुछ उत्तर दिया? इसे कैश से परोसें। sdproxy 32 क्रिप्टोग्राफ़िक रूप से सीड किए गए मेमोरी शार्ड्स का उपयोग करती है, जिसमें रीबूट के दौरान वैकल्पिक डिस्क पर्सिस्टेंस होती है। यदि कोई रिकॉर्ड लोकप्रिय रहते हुए समाप्त हो जाता है, तो sdproxy एक बैकग्राउंड प्रीफ़ेच ट्रिगर करती है ताकि आपके डिवाइस कभी कैश मिस नोटिस न करें। यह RFC 8767 Stale-Serving और serve_stale_infinite आउटेज फ़ॉलबैक का पूरी तरह से समर्थन करती है।
इसे अपनी DHCP लीज़ फ़ाइलों और /etc/hosts पर इंगित करें और यह अपस्ट्रीम रिज़ॉल्वर को परेशान किए बिना या LAN क्वेरी को अपस्ट्रीम लीक किए बिना लोकल नाम लुकअप (आपका NAS, आपका प्रिंटर, आपका Pi) का उत्तर देगी। dnsmasq, ISC DHCP, Kea, और odhcpd के साथ काम करती है।
किसी डिवाइस की पहचान को भिन्न अपस्ट्रीम रिज़ॉल्वर समूह या पैरेंटल प्रोफ़ाइल से मैप करें।
CC:XX IPinfo के माध्यम से), Client-name, TLS SNI (sni:), HTTP DoH Paths (path:), और Listener Ports (port:)।force-and: true के साथ कई पहचानकर्ताओं को संयोजित करें (जैसे, Subnet AND Listener Port)।rcode: REFUSED, NXDOMAIN, BLOCK, DROP) बाइंड करें।प्रति बच्चा एक प्रोफ़ाइल सेट करें, उनके डिवाइस असाइन करें, और कॉन्फ़िगर करें:
group या प्रति-device)। ALLOW, BLOCK, FREE, LOG, UNLIMITED, और अस्थायी UNTRIGGER विंडो ओवरराइड का समर्थन करती है।वैकल्पिक, पासवर्ड-संरक्षित ब्राउज़र-आधारित UI (HTTP/HTTPS, या DoH पोर्ट 443 पर मल्टीप्लेक्स्ड) लाइव संचालन के लिए।
Server-Side Request Forgery (SSRF) और ब्राउज़र पिवोटिंग हमलों को रोकने के लिए निजी या बोगॉन IP (RFC1918, लूपबैक, लिंक-लोकल, ULA) वाली किसी भी अपस्ट्रीम प्रतिक्रिया को ड्रॉप कर देती है।