
وكيل DNS بسيط وسريع بميزات ليست بهذه البساطة. يركز على إعادة توجيه DNS الموجّه والتصفية والرقابة الأبوية.
وكيل DNS يمنحك تحكماً حقيقياً في شبكتك المنزلية.
أمضيت سنوات كاستشاري في "ساحة" الشبكات والأمن "الكبيرة". كان/لا يزال أمن DNS عملي اليومي، ولكنه أيضاً هواية مفضلة للعب بها. لأن لدي أطفالاً الآن، وأحتاج أن أكون أباً مسؤولاً، توليت بنفسي مسؤولية تصفية الإنترنت "الكبير السيئ" لهم. لذلك بنيت sdproxy (وكيل DNS البسيط). إنه يجلب حمايات/أساليب/دقة على مستوى المؤسسات/الكبار إلى مستوى الشبكة المنزلية (نوعاً ما).
الوكيل مكتوب بلغة Go ويُترجم إلى ملف ثنائي خفيف لأجهزة التوجيه الرخيصة. لا توجد اشتراكات سحابية أو رسوم شهرية. يتحدث كل أنواع DNS ويتضمن تحكماً تكيفياً في القبول للبقاء مستقراً. إنه مجرد دقة خفيفة (نوعاً ما)، شرسة، مصممة بهندسة هولندية لغرفة المعيشة. فقط أنت، وملف تنفيذي واحد، وملف yaml.
وتذكر... إنه دائماً DNS!
ملاحظة: ملف full_reference_config.yaml في هذا المستودع (المضمّن أيضاً في الملف الثنائي عبر sdproxy --example-config) يكون دائماً أحدث من هذا الـ README. عند الشك، تحقق هناك.
DNS هو دفتر هاتف الإنترنت - كل جهاز على شبكتك يبحث عن اسم قبل أن يتصل بأي مكان.
يجلس sdproxy في وسط ذلك، على جهاز التوجيه الخاص بك، ويتيح لك أن تقرر ما يحدث بعد ذلك: تخزينه مؤقتاً، أو حظره، أو توجيهه إلى مُحلِّل مختلف، أو تطبيق نماذج أمنية متقدمة بالتعلم الآلي، أو فرض حدود زمنية لكل طفل. لا اشتراك سحابي، لا رسوم شهرية، لا خدمة خارجية تتعطل.
إنه مكتوب بلغة Go، ويُترجم إلى ملف ثنائي واحد، وهو خفيف بما يكفي للعمل على أجهزة توجيه منزلية رخيصة (OpenWrt على TP-Link أو GL.iNet أو NetGear، أو pfSense، أو OPNsense، أو مجرد صندوق Linux عادي).
راجع KEY_ADVANTAGES.md للاطلاع على المزايا الرئيسية مقارنةً بالبدائل.
UDP/TCP القديم العادي (المنفذ 53)، وDNS المشفّر عبر TLS (DoT)، وDNS عبر HTTPS (DoH)، وDNS عبر QUIC (DoQ).
sdproxy أصلياً ترويسات Alt-Svc ومعاملات SVCB/HTTPS ALPN لترقية تدفقات DoH القياسية بسلاسة إلى اتصالات HTTP/3 (QUIC) عالية الأداء أثناء التشغيل.يحمي تصفحك من الفحص العميق للحزم من قبل مزود خدمة الإنترنت عبر تشفير مؤشر اسم الخادم في TLS (SNI).
sdproxy كخادم ECH كامل، ويفك تشفير client hellos ويبث مفاتيحه الخاصة أصلياً إلى شبكتك المحلية عبر DDR (_dns.resolver.arpa SVCB/HTTPS) ونقاط نهاية HTTPS /.well-known/origin-svcb / /.well-known/ech.sdproxy بنشاط سجلات HTTPS/SVCB الخاصة بهم (والبدائل الاحتياطية لـ L7 .well-known)، ويستخرج مفاتيح ECH الخاصة بهم، ويؤمّن مصافحة TLS بشكل مستقل تماماً.يعمل محرك استدلال تعلم آلي أصلي بانحدار لوجستي بدون تخصيص ذاكرة على المسار الساخن. يستخرج إنتروبيا شانون، وانحراف حروف العلة/الحروف الساكنة، وأنماط الأرقام اللاحقة، وسلاسل الحروف الساكنة للكشف الفوري عن النطاقات المولّدة خوارزمياً (DGA) المستخدمة من قبل شبكات البوتات والبرمجيات الخبيثة وبنية C2 وحظرها.
_for-sale. وفق RFC 10023 والنطاقات المُوقَفة_for-sale. وفق RFC 10023 (server.for_sale): يستقصي _for-sale.<qname> و_for-sale.<apex> بحثاً عن سجلات TXT صالحة وفق RFC 10023 (v=FORSALE1;) باستخدام ذاكرة مؤقتة للأحكام مقسمة إلى 64 جزءاً، وعمليات تنقل كاملة في ذاكرة السلسلة الأب المؤقتة، ودمج SingleFlight. يدعم disabled أو BLOCK أو DROP أو LOG أو أي RCODE قياسي في DNS.server.parked): يكتشف النطاقات المُوقَفة، والنطاقات الأب الوسيطة، وقمم eTLD+1 عبر الاستقصاء النشط والفحص السلبي لسجلات NS وSOA وTXT وCNAME وA/AAAA الموثوقة بحثاً عن مزودي إيقاف النطاقات وتحقيق الدخل من السوق الثانوية الشائعين (Sedo، Bodis، ParkingCrew، Above.com، Dan.com، Afternic، CashParking، HugeDomains، Squadhelp/Atom، Uniregistry، ParkLogic، RookMedia، إلخ).(client/subnet, apex domain) ضمن نافذة زمنية قابلة للتهيئة (مع exempt_shared_hosting الاختياري) لاعتراض أنفاق DNS البطيئة والمنخفضة وتسريب برمجيات سرقة المعلومات دون السماح بحجب الخدمة بين العملاء.rrs:) مع دعم التعبيرات النمطيةrtype_policy)، أو لواحق النطاقات، أو عناوين IP/CIDR، أو التعبيرات النمطية (/pattern/) عبر التهيئة المضمّنة أو الملفات المحلية أو عناوين URL البعيدة.rrs:): تجاوز النطاقات العامة أو الخاصة بكل مجموعة (مطابقة تامة أو تعبير نمطي /pattern/) بعناوين IPv4/IPv6 ثابتة أو أسماء مستعارة CNAME عودية شفافة (مثل فرض SafeSearch).لا يقوم sdproxy بإعادة توجيه الاستعلامات بشكل أعمى فحسب؛ بل يقيّم الخوادم العلوية ديناميكيًا.
max_secure_upstreams (الافتراضي 5) من الخوادم السليمة في مجموعة واحدة في آنٍ واحد. يفحص بعمق بصمات مجموعات RRset القانونية (سلاسل CNAME، ونقاط النهاية النهائية لعناوين IP، وSVCB/HTTPS، وحالة DNSSEC) مع دعم تفضيلات fastest وordered وconsolidate (مجموعة الإجابات المدمجة). في الوضع strict، تُفرض المشاركة بنسبة 100% وتكافؤ الإجابات؛ وفي الوضع loose، تُستخدم أغلبية المستجيبين السليمين. يُسقط أو يحجب الاستجابة إذا اختلفت الخوادم العلوية أو أعادت عنوان IP فارغًا مسمومًا (NULL-IP).هل أجبت عن شيء مؤخرًا؟ قدّمه من ذاكرة التخزين المؤقت. يستخدم sdproxy 32 شريحة ذاكرة مُبذَّرة تشفيريًا مع استمرارية اختيارية على القرص آمنة من الأعطال عبر عمليات إعادة التشغيل (بما في ذلك أخذ بصمة تهيئة التوجيه). إذا انتهت صلاحية سجل لا يزال شائعًا، يُطلق sdproxy جلبًا مسبقًا في الخلفية حتى لا تلاحظ أجهزتك أبدًا فقدانًا في ذاكرة التخزين المؤقت. يدعم بالكامل تقديم السجلات القديمة وفق RFC 8767، وحدود انتهاء صلاحية RRSIG الصارمة في DNSSEC، وبدائل الانقطاع serve_stale_infinite.
وجّهه إلى ملفات عقود DHCP و/etc/hosts وسيجيب عن عمليات البحث عن الأسماء المحلية (خادم NAS الخاص بك، وطابعتك، وجهاز Pi الخاص بك) دون إزعاج مُحلِّل علوي أو تسريب استعلامات LAN إلى الأعلى. يعمل مع dnsmasq وISC DHCP وKea وodhcpd.
اربط هوية الجهاز بمجموعة مُحلِّلات علوية مختلفة أو ملف أبوي مختلف.
mac:<mac> وmac:<glob>)، وعنوان IP / CIDR، وEDNS0 Client Subnet (ecs:<ip> وecs:<cidr>)، وASN (ASxxxx)، ورمز الدولة (CC:XX عبر IPinfo)، واسم العميل، وTLS SNI (sni:)، ومسارات HTTP DoH (path:)، ومنافذ المستمع (port:).server.trusted_proxies): تقيّد تأكيدات الهوية المقدَّمة من العميل عبر EDNS0 Option 65001 (mac:) وEDNS0 Client Subnet (ecs:) بالمُمرِّرات المحلية المصرَّح لها (مثل dnsmasq --add-mac / --add-subnet، مع الافتراضي loopback 127.0.0.0/8 و::1/128).force-and: true (مثل الشبكة الفرعية AND منفذ المستمع).rcode: REFUSED، NXDOMAIN، BLOCK، DROP) أو رايات bypass_local / bypass_global مباشرةً بقاعدة توجيه.