الإعدادات
معظم وظائف Chute يتم التحكم فيها بواسطة ملف الإعدادات. يمكنك تعديله في محرر النصوص الخاص بك، أو في المحرر المدمج في Chute iOS أو Chute tvOS أو Chute Mac (تبويب Config في النافذة الرئيسية، أو Preferences... في الواجهة الأقدم) أو Chute Android. أما Chute Dashboard فلا يحتوي على محرر إعدادات — ما يعدّله هو قواعد المحرك العامل، وليس الملف أبداً.
يستطيع Chute iOS مزامنة ملفات الإعدادات عبر iCloud Drive، وهي ميزة مرخّصة. أما Chute Mac فليست لديه مزامنة iCloud خاصة به: مشاركة ملف هناك تعني اختيار ملف موجود صدفةً في iCloud Drive من لوحة الاستيراد، ثم يُشار إليه في مكانه.
أقسام الإعدادات
يتم تنظيم ملف الإعدادات إلى أقسام مسماة:
| القسم | الغرض |
|---|---|
[General] |
إعدادات عامة (التسجيل، IPv6، DNS، منافذ البروكسي، إلخ) |
[Proxy] |
تعريفات خوادم البروكسي الصادرة |
[Proxy Group] |
تعريفات مجموعات السياسات (select, url-test, fallback, load-balance, ssid, subnet) |
[Rule] |
قواعد مطابقة وتوجيه حركة المرور |
[Host] |
تعيينات DNS المحلية من المضيف إلى IP |
[DNS] |
إعدادات DNS، تقبل مفاتيح DNS الخاصة بـ [General] وكذلك التجاوزات لكل نطاق بأسلوب [Host] |
[URL Rewrite] |
قواعد إعادة كتابة الرابط |
[Header Rewrite] |
قواعد إعادة كتابة ترويسات HTTP |
[Body Rewrite] |
قواعد البحث والاستبدال في محتوى HTTP |
[Map Local] |
قواعد الاستجابة الوهمية |
[MITM] |
إعدادات فك تشفير HTTPS |
[Script] |
تعريفات سكريبتات JavaScript |
[SSID Setting] |
إعدادات لكل شبكة: التعليق، وتجاوزات DNS لشبكة Wi-Fi أو لنوع شبكة |
[Replica] |
عوامل تصفية تسجيل حركة المرور |
[Module] |
ملفات الوحدات الخارجية |
[WireGuard <name>] |
إعدادات نفق WireGuard (اسم النسخة مطلوب، مثل [WireGuard HomeServer]) |
[AmneziaWG <name>] |
إعدادات نفق AmneziaWG، متوافقة مع WireGuard مع معاملات تمويه (اسم النسخة مطلوب، مثل [AmneziaWG HomeServer]) |
[Tailscale] |
إعدادات Tailscale العامة (فريد على مستوى الملف كله؛ ويُقرأ عنوان القسم [Tailscale <name>] على أنه هذا القسم) |
[Proxy Provider] |
مصادر قوائم البروكسي الخارجية |
[Rule Provider] |
مصادر مجموعات القواعد الخارجية |
[Ruleset <name>] |
مجموعة قواعد مضمّنة تُستخدم عبر RULE-SET,<name> — راجع مجموعة القواعد |
ملاحظة: تُعرَف الأقسام
[Panel]و[Ponte]و[MTProto]و[Keystore]و[Port Forwarding]و[Testing]و[DHCP]و[Snell Server]كي لا تُنتج إعدادات Surge خطأً (ويُسجَّل لكل منها إشعار واحد)، وتُحفظ أسطرها حرفياً عند حفظ الإعدادات، لكن لا أثر لها في Chute.
قسم DNS
يمكن كتابة مفاتيح [General] المتعلقة بـ DNS، بشكل مكافئ، تحت قسم [DNS] من المستوى الأعلى. وتُعالَج الأسطر في ذلك القسم بحسب المفتاح:
| السطر | المعالجة |
|---|---|
dns-server و direct-dns-server و proxy-dns-server و doh (الاسمان المستعاران doh-server و doh-service) و dot و doq و doh3 و encrypted-dns-server و allow-dns-svcb و encrypted-dns-follow-outbound-mode و hijack-dns و always-real-ip |
تماماً كما في [General]؛ ويُخزَّن المفتاح كما لو كان مكتوباً هناك |
| أي سطر آخر | يُحلَّل بصيغة [Host] لكل نطاق، مثل *.example.com = server:1.1.1.1 |
| مفتاح ليس هذا ولا ذاك | يُتجاهل مع إشعار في السجل؛ ويبقى السطر نفسه محفوظاً |
[DNS]
doh = https://dns.google/dns-query
hijack-dns = 8.8.8.8:53
*.example.com = server:1.1.1.1
ملاحظة: بما أن كلا شكلي الأسطر مقبول هنا، يمكن أن يمزج قسم
[DNS]بين إعدادات خادم DNS والتجاوزات لكل نطاق. لا تكرر الإعداد نفسه في[General]و[DNS]: فسطرdohثانٍ، على سبيل المثال، يُبلَّغ عنه كإعداد DoH مكرر.ملاحظة: يُقرأ
fallback-dns-serverوencrypted-dns-skip-cert-verificationتحت[DNS]أيضاً، رغم أنهما ليسا في الصف الأول. أما المفتاح الذي ليس إعداد DNS فلا يُتجاهل هنا — بل يُقرأ كتجاوز لنطاق بعينه، فمفتاح[General]في غير موضعه مثلoptimistic-dns = falseيصبح بصمت التعيينoptimistic-dns←false. ولا يحصل على إشعار إلا السطر الذي يرفضه محلّل التجاوزات هو الآخر. انظر DNS.
تضمين ملف آخر
يمكن لملف الإعدادات أن يسحب ملفاً آخر. يكتب Surge #!include <path>، ويكتب Shadowrocket include = <other.conf> قبل أول قسم. وكلاهما يُقرأ، ويُدرَج الملف المضمَّن مكان الموجّه نفسه، فيقع جزء [Rule] داخل القسم الذي سمّاه.
#!include Rulesets/company.list
- يُحلّ المسار نسبةً إلى مجلد الملف الذي ذكره، ويجوز أن يحوي
*— فـ#!include Rulesets/*.listيسحب مجلداً كاملاً من أجزاء القواعد بترتيب الأسماء. - يتداخل التضمين حتى 8 مستويات، ولا يُسحب الملف المسحوب — بما فيه ملف الإعدادات نفسه — مرتين، فلا تنفلت الحلقة؛ والملف الذي يضمّن نفسه يُتجاهل ببساطة.
- لا يُوسَّع التضمين إلا إذا حُمِّل ملف الإعدادات من ملف. أما إذا سُلِّم إلى المحرك نصاً — وهذا هو المعتاد حين تعبر الإعدادات إلى النفق — فلا مجلد يُحَلّ المسار نسبةً إليه، فيُبلَّغ عن الملف بأنه غير مكتمل بدل معاملته كملف كامل. ويُحفظ الموجّه نفسه عند حفظ الإعدادات: يُكتب كما قُرئ تماماً، ولا يُكتب محتوى الملف المضمَّن في ملف الإعدادات أبداً.
التعليقات
السطر الذي يبدأ بـ # أو ; أو // تعليق. والعلامات الثلاث نفسها تفتح تعليقاً مضمَّناً أيضاً، لكن فقط مباشرة بعد مسافة أو علامة جدولة، ولا تفعل ذلك أبداً داخل علامات الاقتباس ("…" أو '…'، مع \ لتهريب الحرف التالي). ولذلك يبقى :// في الرابط، ومسار مثل a//b، وقيمة base64 غير مقتبسة تصادف أن تحتوي // أو # كاملة دون اقتطاع. يتم الاحتفاظ بالتعليقات والأسطر الفارغة عند حفظ الإعدادات.
تعمل التعليقات المضمَّنة بشكل مختلف في أقسام إعادة الكتابة وفي أسطر ssid / subnet من [Proxy Group]:
| الموضع | # |
; |
// |
الاقتباس |
|---|---|---|---|---|
[URL Rewrite] |
كما سبق | كما سبق | كما سبق | لا يوجد: يُقسَّم السطر عند المسافات، وأول كلمة تبدأ بعلامة تنهي السطر |
[Header Rewrite] |
ليست تعليقاً أبداً، ولذلك يحتفظ header-add X-Color #ff0000 بقيمته |
ليست تعليقاً أبداً | كما سبق | "…" |
[Body Rewrite] و[Map Local] |
كما سبق | ليست تعليقاً أبداً | كما سبق | "…"؛ وفي سطر jq أيضاً '…' |
أسطر ssid / subnet من [Proxy Group] |
كما سبق | كما سبق | كما سبق | "…" فقط: الفاصلة العليا جزء من اسم شبكة مثل Bob's iPhone |
أسطر التوجيهات — #!include و#!MANAGED-CONFIG و#!IOS-ONLY وما شابهها — تُقرأ بوصفها توجيهات قبل أن ينطبق أي من ذلك. والملفات التي تنزّلها مجموعة القواعد أو مجموعة النطاقات أو مزوّد البروكسي ليست أقسام إعدادات: فلا يكون التعليق فيها إلا سطراً كاملاً.
هذه الصفحة ترجمة للنسخة الإنجليزية. في حال وجود اختلاف، يُعتمد على النسخة الإنجليزية.
ملاحظة: التطبيق لا يدعم اللغة العربية حاليًا.