خادم DNS
يمكنك استخدام هذا الخيار لتجاوز إعدادات DNS الخاصة بالنظام. يدعم Chute خدمات خادم DNS و DoH (DNS-over-HTTPS) و DoT (DNS-over-TLS) و DoQ (DNS-over-QUIC) و DoH3 (DNS-over-HTTP/3).
[General]
dns-server = 8.8.8.8, 8.8.4.4
doh = cloudflare, google, 1111
dot = dns.google, cloudflare-dns.com
doq = dns.adguard.com
doh3 = https://dns.google/dns-query
يمكنك استخدام الكلمة المفتاحية system لإضافة خوادم DNS إضافية إلى إعدادات النظام. (سيتم تجاهل الخوادم المكررة)
يمكنك استخدام الكلمة المفتاحية syslib للحصول على نتيجة DNS باستخدام API النظام المدمج. وعلى macOS يُتخطى syslib المكتوب على مستوى المجموعة ما دامت واجهة TUN نشطة، لأن محلّل النظام حينئذٍ يشير إلى Chute نفسه؛ أما server:syslib في [Host] ومسار .local فما زالا يستخدمانه.
[General]
dns-server = system, syslib, 8.8.8.8, 8.8.4.4
يمكن أن يحمل المدخل منفذاً: 192.0.2.53:5353، أو [2001:db8::1]:5353 لعناوين IPv6. لا تُقبل أسماء المضيفين في dns-server؛ استخدم DoH أو DoT أو DoQ أو DoH3 للمحلِّل المعروف باسمه. ويمكن كتابة هذه هنا أيضاً مع مخططها — https:// أو tls:// أو quic:// أو h3:// — فتنضم إلى doh أو dot أو doq أو doh3، كما في encrypted-dns-server.
حالياً، هناك 5 خدمات DoH مدمجة. المعرفات بأحرف صغيرة وحساسة لحالة الأحرف:
cloudflare(Cloudflare)google(Google)1111(1.1.1.1)securedns(SecureDNS)dnssb(DNS.SB)
يمكنك أيضاً تكوين خدمة DoH الشخصية الخاصة بك. على سبيل المثال، إذا كنت تستخدم https://dns.nextdns.io/xxxxxx كنقطة نهاية DoH لـ NextDNS، يمكنك التكوين هكذا:
[General]
doh = google, dns.nextdns.io/xxxxxx
يُبلَّغ عن أي مدخل DoH غير صالح كخطأ في الإعدادات ويُرفض سطر doh.
من أجل التوافق مع إعدادات Surge، تُقبل الكتابتان doh-server و doh-service كاسمين بديلين لـ doh.
خدمة DNS-over-TLS (DoT)
يمكنك تكوين خدمات DoT لتشفير استعلامات DNS عبر TLS.
[General]
dot = dns.google, cloudflare-dns.com
يجب أن يكون كل مدخل خدمة DoT اسم نطاق يدعم DNS-over-TLS. سيتصل Chute باسم المضيف على المنفذ 853 افتراضياً؛ ويمكن أيضاً كتابة المدخل بصيغة host:port أو host:port:peer-name (استخدم [IPv6]:port لعناوين IPv6) لتجاوز المنفذ واسم نظير TLS.
إذا تعذر حل اسم مضيف DoT أو كان غير قابل للوصول، سيتم تخطيه بصمت.
يمكنك مزج DoT و DoH و DoQ و DoH3 وخوادم DNS التقليدية في نفس الإعدادات:
[General]
dns-server = system, 8.8.8.8
doh = cloudflare
dot = dns.google
doq = dns.adguard.com
doh3 = https://dns.google/dns-query
خدمة DNS-over-QUIC (DoQ)
يمكنك تكوين خوادم DoQ لتشفير استعلامات DNS عبر QUIC.
[General]
doq = dns.adguard.com
يجب أن يكون كل مدخل DoQ اسم نطاق أو عنوان IP يدعم DNS-over-QUIC. يُستخدم المنفذ 853 افتراضياً؛ ويمكن أيضاً كتابة المدخل بصيغة host:port أو host:port:peer-name (استخدم [IPv6]:port لعناوين IPv6) لتجاوز المنفذ واسم نظير TLS. يستخدم Chute نقل QUIC لاستعلامات DNS، مما يوفر زمن استجابة أقل مقارنة بتشفير DNS المعتمد على TCP.
يمكن تحديد عدة خوادم DoQ مفصولة بفواصل:
[General]
doq = dns.adguard.com, dns.nextdns.io
إذا كان خادم DoQ غير قابل للوصول، سيتم تخطيه بصمت.
خدمة DNS-over-HTTP/3 (DoH3)
يمكنك تكوين خدمات DoH3 لـ DNS-over-HTTPS باستخدام نقل HTTP/3 (QUIC).
[General]
doh3 = https://dns.google/dns-query
يجب أن يكون كل مدخل DoH3 رابط HTTPS كامل لمحلل DNS يدعم HTTP/3. يمكن تحديد عدة خوادم DoH3 مفصولة بفواصل:
[General]
doh3 = https://dns.google/dns-query, https://cloudflare-dns.com/dns-query
يجمع DoH3 بين خصوصية DNS-over-HTTPS وفوائد أداء نقل QUIC. إذا كان خادم DoH3 لا يدعم HTTP/3 أو كان غير قابل للوصول، سيتم تخطيه بصمت.
DNS عبر TCP
[General]
dns-server = tcp://8.8.8.8, tcp://[2001:4860:4860::8888]:53
يُستعلَم من المحلِّل المكتوب بصيغة tcp://IP[:port] عبر TCP (RFC 7766) بدلاً من UDP؛ والمنفذ الافتراضي 53. استخدمه على شبكة تُسقط DNS عبر UDP أو تعبث به. ويُقبل حيثما يُقبل المحلِّل العادي: في dns-server، ومجموعات DNS المخصصة، وdns-server= في مدخل تعليق SSID، وقائمة server: في [Host]. وكالمحلِّل العادي لا يقبل إلا عنوان IP — لا اسم مضيف ولا system ولا syslib. وتنطبق الخيارات لكل خادم مثل #disable-qtype= كالمعتاد. ومع #proxy يمر الاستعلام عبر تلك السياسة، عبر TCP كما يفعل كل استعلام عادي يمر عبر سياسة. ولا يقبله encrypted-dns-server.
مجموعات DNS المخصصة
إلى جانب المجموعة الرئيسية أعلاه، توجد ثلاث مجموعات اختيارية تخدم أسماء بعينها:
[General]
direct-dns-server = 223.5.5.5, https://doh.pub/dns-query, system
proxy-dns-server = 1.1.1.1, tls://dns.google
fallback-dns-server = 8.8.8.8
direct-dns-server
تحلّ النطاقات التي يكون حكم القاعدة لها DIRECT: عمليات البحث التي يجريها Chute حين يفتح اتصالاً مباشراً، واستعلام التطبيق حين يصل ذلك الاستعلام إلى محلِّل Chute — سواء أُرسل إلى منفذ استماع DNS في Chute، أو كان عن اسم مدرج في always-real-ip، أو عن نوع سجل غير A و AAAA. أما استعلامات A و AAAA التي ترسلها التطبيقات عبر TUN فلا تصل إليه: إذ تجيب عنها طبقة IP الوهمي مباشرةً، أياً كان ما تقوله القواعد. ولا تُستشار إلا قواعد النطاقات، فالاستعلام الذي يرسله تطبيق عن نطاق لا تطابقه أي قاعدة نطاق — أي نطاق يتوقف حكمه على قاعدة IP مثل IP-CIDR أو GEOIP — يتبع FINAL: فيستخدم هذه المجموعة عندما يكون FINAL هو DIRECT، ويستخدم المجموعة الرئيسية عندما يكون بروكسي. أما بحث Chute نفسه عن مثل هذا النطاق فيستخدم المجموعة الرئيسية، لأن الاتصال لم يُربط بـ DIRECT بعد. إذا لم يُضبط المفتاح، تجيب المجموعة الرئيسية عن كل شيء.
proxy-dns-server
تحلّ أسماء مضيفي خوادم البروكسي الخاصة بك. إذا لم يُضبط المفتاح، تستخدم هذه الأسماء المجموعة الرئيسية.
fallback-dns-server
يُستعلَم منها مرة واحدة عندما لا تُرجع المجموعة الرئيسية أي إجابة على الإطلاق، قبيل فشل البحث. ويجوز كتابته، كسائر مفاتيح DNS، في [General] أو [DNS]، ومرة واحدة فقط.
يمكن أن تمزج مدخلات هذه المجموعات بين وسائل النقل: ip[:port] و [v6][:port] و system و syslib وعنوان DoH (https://…) و tls://host[:port] لـ DoT و quic://host[:port] لـ DoQ و h3://… لـ DoH3. ويمكن لمدخلات DNS العادية و DoH و DoT و DoQ و DoH3 أن تنتهي بـ اللاحقة #proxy؛ أما system#proxy و syslib#proxy فيُتخطيان مع تحذير. عندما لا تُرجع direct-dns-server أو proxy-dns-server أي إجابة، يُعاد الاستعلام عبر المجموعة الرئيسية. ولا يجوز أن يظهر كل مفتاح إلا مرة واحدة. ويستخدم مدخل tcp://IP[:port] DNS عبر TCP.
للتوافق مع Shadowrocket، يُقرأ dns-direct-system = true على أنه direct-dns-server = system ويُحفظ بهذه الصيغة. وبالمثل يضيف dns-fallback-system = true القيمة system إلى fallback-dns-server؛ وإذا أعلن الملف fallback-dns-server أيضاً دُمج الاثنان في مجموعة واحدة.
خيارات DNS المشفّر
encrypted-dns-server
encrypted-dns-server = https://dns.google/dns-query, tls://dns.google, quic://dns.adguard.com, h3://cloudflare-dns.com/dns-query
قائمة Surge الموحّدة للمحلِّلات المشفّرة. ينضم كل مدخل إلى doh أو dot أو doq أو doh3 بحسب مخططه (https:// و tls:// و quic:// و h3://)، أما tcp:// والمخططات الأخرى فتُتجاهل مع تنبيه. ولاستخدام DNS عبر TCP اكتب tcp:// في dns-server أو في مجموعة مخصصة بدلاً من ذلك — راجع DNS عبر TCP.
encrypted-dns-follow-outbound-mode (الافتراضي: false)
encrypted-dns-follow-outbound-mode = true
يجعل الاتصالات بخوادم DoH و DoT و DoQ و DoH3 العليا تتبع وضع الخروج والقواعد مثل أي طلب آخر: اتصال مباشر في الوضع المباشر، والسياسة المختارة في الوضع العام، وفي وضع القواعد سياسة القاعدة المطابقة — ويمكن مطابقتها بـ PROTOCOL,DOH و PROTOCOL,DOT و PROTOCOL,DOQ و PROTOCOL,DOH3. يُتخطى الخادم الأعلى الذي يكون حكمه REJECT. أما DoQ و DoH3 فيستخدمان QUIC، لذا يمر اتصالهما عبر ترحيل UDP للسياسة المختارة؛ وحين لا تحمل تلك السياسة — أو اختيارها الحالي إن كانت مجموعة — أي UDP، يحسم الأمرَ udp-policy-not-supported-behaviour: القيمة الافتراضية REJECT تتخطى ذلك الخادم، و DIRECT يستعلم منه مباشرة.
encrypted-dns-skip-cert-verification (الافتراضي: false)
encrypted-dns-skip-cert-verification = true
لا يتحقق من شهادات خوادم DoH و DoT و DoQ و DoH3 العليا — وهو مخصص للمحلِّل الذي يستخدم شهادة موقّعة ذاتياً. كما أنه يُزيل الحماية من انتحال هوية المحلِّل.
إرسال الاستعلام عبر سياسة
[General]
dns-server = 1.1.1.1#proxy, 8.8.8.8#proxy=HK
doh = https://dns.google/dns-query#proxy=Proxy%20Group
doq = dns.adguard.com#proxy=HK
يمكن أن ينتهي مدخل في dns-server أو doh أو dot أو doq أو doh3 أو إحدى المجموعات المخصصة بـ #proxy أو #proxy=<policy>، فيمر الاستعلام حينها عبر تلك السياسة بدلاً من الاتصال المباشر. تستخدم #proxy وحدها السياسة المختارة للوضع العام، أو سياسة قاعدة FINAL إن لم توجد سياسة مختارة؛ أما #proxy=<name> فتسمّي سياسة أو مجموعة، مع كتابة المسافات بصيغة %20. يتحول مدخل DNS العادي إلى DNS عبر TCP، لأن ليس كل سياسة قادرة على تمرير UDP. أما مدخل DoQ أو DoH3 فيبقى على QUIC، ويمر اتصاله عبر ترحيل UDP للسياسة: وحين لا تحمل السياسة — أو اختيارها الحالي إن كانت مجموعة — أي UDP، يُتخطى ذلك الخادم الأعلى مع تحذير، ولا يُستعلم منه مباشرة أبداً. وإذا كانت السياسة غير موجودة أو تؤول إلى REJECT، يُتخطى ذلك الخادم الأعلى. ولا تستخدم عمليات البحث عن اسم مضيف خادم البروكسي نفسه أي خادم أعلى يمر عبر بروكسي.
خيارات لكل خادم
[General]
dns-server = 1.1.1.1#disable-ipv6, 8.8.8.8#disable-qtype=65
doh = https://dns.google/dns-query#h3=true, https://10.0.0.1/dns-query#skip-cert-verify=true
يحمل مقطع # نفسه خيارات تخص هذا الخادم وحده. تُوصل الخيارات المتعددة بـ &، ويمكن حذف =true:
h3=true— سؤال خادم DoH هذا عبر HTTP/3 بدلاً من HTTP/2.skip-cert-verify=true— عدم التحقق من شهادة هذا الخادم الأعلى وحده. بالنسبة لذلك الخادم تزول الحماية من محلِّل منتحَل، تماماً كما يفعل المفتاح العامencrypted-dns-skip-cert-verificationلجميع الخوادم العليا.disable-ipv4=true/disable-ipv6=true— عدم سؤال هذا الخادم عن سجلات A / AAAA أبداً.disable-qtype=65— عدم سؤاله عن هذا النوع من السجلات. وdisable-qtype-65تعني الشيء نفسه، كما تُعطِّل قائمةٌ مفصولة بفواصل عدة أنواع دفعةً واحدة: فـ8.8.8.8#disable-qtype=65,64مدخل واحد معطَّل فيه النوعان. والتقسيم إلى مدخلات يعرف مقطع#، فالفاصلة خارجه ما زالت تفصل بين الخوادم —8.8.8.8#proxy, 1.1.1.1خادمان اثنان.
يُتخطّى الخادم المعطَّل لنوع سؤال ما قبل إرسال الاستعلام، فلا يستهلك محاولة ولا مهلة؛ وإذا رفضت كل خوادم المجموعة ذلك النوع، يفشل البحث بدل انتظار إجابات لم يرسلها أحد.
استعلامات HTTPS و SVCB
allow-dns-svcb = true
معطَّل افتراضياً: تُجاب استعلامات HTTPS (النوع 65) و SVCB (النوع 64) الصادرة عن التطبيقات باستجابة NOERROR فارغة بدلاً من تمريرها، لأن تلميحات العناوين في هذه السجلات تتيح للتطبيق الالتفاف على IP الوهمي والقواعد. اضبطه على true لتمريرها. ويشمل هذا الخيار أيضاً الاستعلامات التي ترسلها التطبيقات عبر TUN، سواء إلى عنوان DNS الخاص بـ Chute نفسه أو إلى محلِّل يختطفه hijack-dns. لا تتأثر استعلامات ECH التي يجريها Chute نفسه.
هذه الصفحة ترجمة للنسخة الإنجليزية. في حال وجود اختلاف، يُعتمد على النسخة الإنجليزية.
ملاحظة: التطبيق لا يدعم اللغة العربية حاليًا.