DNS

يستخدم Chute عميل DNS مخصصاً لدعم الميزات المتقدمة. قد يتصرف بشكل مختلف عن عميل DNS في نظام التشغيل الخاص بك.

سيعمل Chute كخادم DNS عند تطبيق قاعدة DIRECT على الجلسة. سيتحقق Chute من سجل DNS للمضيف أولاً، ثم يبدأ المقبس بعنوان IP المعاد في سجل DNS. بهذه الطريقة، ستتجاوز جميع الجلسات المطبقة عليها قاعدة DIRECT إعدادات DNS الخاصة بالنظام وتوجه عبر خادم DNS الخاص بـ Chute.

سيقوم Chute iOS بتكوين خادم DNS الخاص بالنظام إلى خادم DNS الخاص بـ Chute.

خادم DNS الأعلى

يستخدم Chute عناوين خادم DNS من نظام التشغيل افتراضياً. يمكنك تجاوزها باستخدام خدمات خادم DNS أو DoH (DNS-over-HTTPS) أو DoT (DNS-over-TLS) أو DoQ (DNS-over-QUIC) أو DoH3 (DNS-over-HTTP/3) باستخدام خيار 'dns-server'.

قسم DNS

تُكتب خيارات DNS عادةً في [General]، لكن يمكن كتابتها بشكل مكافئ تحت قسم [DNS] من المستوى الأعلى: إذ تتصرف dns-server و doh (الاسمان المستعاران doh-server و doh-service) و dot و doq و doh3 و direct-dns-server و proxy-dns-server و encrypted-dns-server و allow-dns-svcb و encrypted-dns-follow-outbound-mode و hijack-dns و always-real-ip بالطريقة نفسها في أي من القسمين. كما يقبل القسم نفسه أسطر تعيين DNS المحلي، أي الصيغة الخاصة بكل نطاق المستخدمة في [Host]، فيمكن أن يتعايش كلا شكلي الأسطر في قسم واحد. أما أي مفتاح آخر فيُقرأ أولاً بوصفه سطر تعيين: فالسطر بصيغة key = value الذي لا يحمل عنوان IP ولا بادئة من نوع server: يصبح اسماً مستعاراً، ولذلك فإن مفتاح [General] وُضع هنا في غير موضعه — optimistic-dns = false — يعيّن الاسم optimistic-dns إلى false بصمت بدلاً من أن يثير خطأً. ولا يُتجاهل مع ملاحظة في السجل إلا السطر الذي يرفضه محلل التعيين هو الآخر. ويُقرأ هنا أيضاً fallback-dns-server وencrypted-dns-skip-cert-verification.

[DNS]
doh = https://dns.google/dns-query
always-real-ip = *.lan
*.example.com = server:1.1.1.1

التفاصيل

يستعلم Chute جميع خوادم DNS في وقت واحد لتحسين الأداء، مثل dnsmasq مع معامل '--all-servers'. سيتم استخدام أول إجابة من الخوادم. سيعرض تطبيق Chute iOS و Chute Dashboard أي خادم يستجيب أولاً. إذا لم يتلق Chute أي إجابة خلال ثانيتين، فسيستعلم جميع الخوادم مرة أخرى. لاحظ أن خوادم DNS التقليدية و DoT و DoQ فقط هي التي تشارك في إعادة المحاولات؛ أما DoH و DoH3 و syslib فيُستعلم عنها في الجولة الأولى فقط. بعد 3 إعادات محاولة (4 محاولات إجمالاً) أو 10 ثوانٍ، سيستسلم Chute ويبلغ عن خطأ DNS. تشمل إعادات المحاولة هذه عمليات البحث التي يجريها Chute بنفسه والأسئلة التي يتولاها من واجهة TUN ومن ترحيل UDP في SOCKS5؛ أما السؤال المرسل مباشرة إلى منفذ استماع DNS في Chute فيُرسل إلى الخوادم مرة واحدة ولا يُعاد، فتتولى إعادة المحاولة لدى عميله الأمر.

تعتمد الخوادم التي يُستعلَم منها على اسم النطاق. فالنطاق الذي يكون حكم القاعدة له DIRECT يستخدم direct-dns-server عند ضبطه، وأسماء مضيفي خوادم البروكسي تستخدم proxy-dns-server، والنطاق الذي له تعيين DNS محلي يستخدم الخادم المعيَّن هناك، وكل ما عدا ذلك يستخدم المجموعة الرئيسية (dns-server و doh و dot و doq و doh3). وتخدم direct-dns-server عمليات البحث التي يجريها Chute حين يفتح اتصالاً مباشراً، ولا تخدم سؤال التطبيق إلا حين يصل السؤال إلى محلِّل Chute: فعبر TUN يُجاب عن أسئلة A و AAAA التي ترسلها التطبيقات بعناوين IP وهمية بدلاً من ذلك. عندما لا تُرجع مجموعة مخصصة أي إجابة يُعاد الاستعلام عبر المجموعة الرئيسية، وعندما لا تُرجع المجموعة الرئيسية أي إجابة يُستعلَم من fallback-dns-server مرة واحدة قبل الإبلاغ عن الخطأ.

قد تحتوي بعض أسماء النطاقات على خوادم أسماء مرجعية (authoritative) ضعيفة الأداء، مما يتسبب في إرجاع خوادم DNS العليا إجابات فارغة بسبب انتهاء مهلة الخادم أو مشاكل اتصال أخرى. سيبلغ Chute عن خطأ DNS فارغ إذا أعادت خوادم DNS العليا إجابات DNS فارغة بشكل صريح، أو إذا أعادت بعض الخوادم إجابات فارغة وفشلت أخرى في الاستجابة خلال 3 ثوانٍ.

بعض سجلات DNS لها TTL قصير جداً بسبب الإعدادات، ويفرض Chute حداً أدنى لـ TTL قدره 60 ثانية: تُرفع قيم TTL الأقصر إلى 60 ثانية. DNS المتفائل مفعل افتراضياً — تُعاد نتيجة DNS المخزنة مؤقتاً فوراً مع التحديث في الخلفية، ويمكن تعطيله عبر optimistic-dns = false. وتُخزَّن مؤقتاً أيضاً إجابة NXDOMAIN التي تحمل سجل SOA للمنطقة، للمدة التي يحددها ذلك السجل للإجابات السلبية، ضمن حد أدنى 60 ثانية وحد أقصى يوم واحد؛ وإلى أن تنتهي تلك المدة يُجاب عن الاسم بـ NXDOMAIN دون سؤال الخوادم مرة أخرى. ولا تُخزَّن مؤقتاً إجابة NXDOMAIN من الخادم الأعلى إذا كان الاسم مشمولاً بتعيين أو اسم مستعار في [Host]، لأن التعيين أو الاسم المستعار له الأولوية.

تحتفظ ذاكرة DNS المؤقتة بـ 200 سجل. على iOS وtvOS لا يُسمح لها بالنمو بلا حد: يُرفض طلب ذاكرة مؤقتة غير محدودة، وتُحفظ ذاكرة الـ 200 سجل، ويُسجَّل إشعار بذلك.

عندما يكون IPv6 متاحاً ومفعلاً، سيرسل عميل DNS في Chute كلاً من استعلامات A و AAAA إلى خوادم DNS العليا. سيتم استخدام أول إجابة A أو AAAA يتم إرجاعها. على الشبكات أحادية المكدس، تُحجب الإجابة الخاصة بعائلة عناوين غير قابلة للتوجيه حالياً لصالح العائلة الأخرى، ولا تُستخدم إلا كخيار احتياطي عندما لا تعطي العائلة الأخرى أي نتيجة.

S. Smart Rabbit LLC © All Rights Reserved            updated 2026-09-29 21:57:05

هذه الصفحة ترجمة للنسخة الإنجليزية. في حال وجود اختلاف، يُعتمد على النسخة الإنجليزية.

ملاحظة: التطبيق لا يدعم اللغة العربية حاليًا.

results matching ""

    No results matching ""