القواعد

يستطيع Chute توجيه الطلبات إلى خادم بروكسي آخر أو الاتصال بالمضيف مباشرة، وفقاً لقواعد مخصصة.

الأولوية

تتم مطابقة القواعد من الأولى إلى الأخيرة، بالترتيب الذي تظهر به في ملف الإعدادات. بمعنى آخر، القواعد في أعلى القائمة لها أولوية أعلى من القواعد التي تليها. تُوضع القواعد التي تضيفها الوحدات قبل قواعد ملف الإعدادات نفسه، بترتيب تحميل الوحدات، وتأتي القواعد التي يُدرجها Chute أثناء التشغيل لـ Tailscale قبلهما معاً.

التركيب

تتكون كل قاعدة من 3 أجزاء: نوع القاعدة، مطابق حركة المرور (باستثناء قاعدة FINAL)، وسياسة: TYPE, VALUE, POLICY. مثال: DOMAIN-SUFFIX,apple.com,DIRECT IP-CIDR,192.168.0.0/16,ProxyA

يجب أن تكون السياسة اسم خادم بروكسي، أو مجموعة سياسات، أو سياسة مدمجة مثل DIRECT أو REJECT (أو إحدى صيغها) أو PROXY. ينبغي أن تنتهي القواعد بقاعدة FINAL لتعريف السلوك الافتراضي. إذا لم يحتوِ ملف الإعدادات على قاعدة FINAL، يتصرف Chute كما لو أُضيفت FINAL,DIRECT في النهاية.

مثال:

[Rule]
DOMAIN-SUFFIX,company.com,ProxyA
DOMAIN-KEYWORD,google,DIRECT
GEOIP,US,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,ProxyB

أنواع القواعد

قواعد مبنية على النطاق

النوع الصيغة يطابق
DOMAIN DOMAIN,www.apple.com,Proxy تطابق تام لاسم النطاق
DOMAIN-SUFFIX DOMAIN-SUFFIX,apple.com,Proxy تطابق لاحقة اسم النطاق
DOMAIN-KEYWORD DOMAIN-KEYWORD,google,Proxy احتواء النطاق على كلمة مفتاحية
DOMAIN-WILDCARD DOMAIN-WILDCARD,*.apple.com,Proxy تطابق نمط أحرف البدل
DOMAIN-REGEX DOMAIN-REGEX,^mail\..+\.com$,Proxy تطابق تعبير نمطي للنطاق
DOMAIN-SET DOMAIN-SET,https://example.com/domains.txt,DIRECT مجموعة نطاقات يتم تنزيلها من رابط URL

قواعد مبنية على IP

النوع الصيغة يطابق
IP-CIDR IP-CIDR,192.168.0.0/16,DIRECT عنوان IP في نطاق CIDR
IP-CIDR6 IP-CIDR6,2001:db8::/32,DIRECT عنوان IPv6 في نطاق CIDR
GEOIP GEOIP,US,DIRECT رمز الدولة من قاعدة بيانات GeoIP
IP-ASN IP-ASN,13335,DIRECT عنوان IP ينتمي إلى ASN

قواعد مستوى HTTP

النوع الصيغة يطابق
USER-AGENT USER-AGENT,Instagram*,DIRECT ترويسة User-Agent
URL-REGEX URL-REGEX,^http://google\.com.*,DIRECT تطابق الرابط الكامل لطلب HTTP عادي مع تعبير نمطي
PROTOCOL PROTOCOL,TLS,Proxy البروتوكول المكتشف (HTTP/TLS/QUIC/إلخ)

قواعد العملية (macOS و Android)

النوع الصيغة يطابق
PROCESS-NAME PROCESS-NAME,Telegram,Proxy اسم العملية (مطابقة أحرف البدل)
PROCESS-PATH PROCESS-PATH,/Applications/Safari.app,Proxy مسار العملية الكامل (مطابقة أحرف البدل)
PROCESS-NAME-REGEX PROCESS-NAME-REGEX,^Safari$,DIRECT اسم العملية (مطابقة تعبير نمطي)

قواعد المنفذ والمصدر

النوع الصيغة يطابق
DEST-PORT DEST-PORT,80,DIRECT منفذ الوجهة
SRC-IP SRC-IP,192.168.20.100,DIRECT عنوان IP المصدر (عنوان IP مفرد أو CIDR)
SRC-PORT SRC-PORT,52345,DIRECT منفذ المصدر
IN-PORT IN-PORT,6152,DIRECT منفذ البروكسي الوارد على Chute

قواعد المطابقة المتقدمة

النوع الصيغة يطابق
SUBNET SUBNET,TYPE:WIFI,Proxy سمات الشبكة الفرعية (TYPE, BSSID, SSID, ROUTER)
HOSTNAME-TYPE HOSTNAME-TYPE,AAAA,Proxy نوع سجل DNS (A/AAAA/إلخ)
IN-TYPE IN-TYPE,SOCKS5,Proxy نوع الاتصال الوارد (HTTP/SOCKS5/TUN)
IN-USER IN-USER,user1,Proxy اسم مستخدم المصادقة الواردة
IN-NAME IN-NAME,my-proxy,Proxy اسم خادم البروكسي الوارد

ملاحظة: تطابق قاعدتا SUBNET وHOSTNAME-TYPE حركة المرور الفعلية — تطابق SUBNET الشبكة التي يتصل بها الجهاز حالياً (لا يملك Apple TV هوية شبكة، لذا لا تطابق SUBNET عليه أبداً). وتطابق IN-TYPE وIN-USER حركة المرور الفعلية أيضاً: تسمّي IN-TYPE المدخل الذي وصل عبره الاتصال (HTTP أو SOCKS5 أو TUN)، وتسمّي IN-USER اسم المستخدم الذي تحقّق منه ذلك المدخل مقابل http-auth — وبلا بيانات اعتماد مُعدّة لا يوجد ما يُتحقق منه، فلا تطابق IN-USER شيئاً. أما IN-NAME فمقبولة كي يُحمَّل ملف Surge، لكن Chute يشغّل مستمع HTTP واحداً ومستمع SOCKS5 واحداً بلا أسماء، فلا يوجد اسم مدخل لمطابقته ولا تُفعَّل القاعدة أبداً؛ استخدم IN-TYPE أو IN-PORT بدلاً منها.

قواعد الدمج المنطقي

النوع الصيغة يطابق
AND AND,((DOMAIN,example.com),(DEST-PORT,443)),Proxy جميع القواعد الفرعية متطابقة
OR OR,((DOMAIN,example.com),(DOMAIN,test.com)),Proxy أي قاعدة فرعية متطابقة
NOT NOT,((DOMAIN,example.com)),Proxy القاعدة الفرعية غير متطابقة

قواعد خاصة

النوع الصيغة يطابق
RULE-SET RULE-SET,SYSTEM,DIRECT حزمة قواعد من رابط URL أو مزود قواعد أو مجموعات مدمجة
SCRIPT SCRIPT,MyRuleScript,PROXY مطابقة قواعد مخصصة عبر JavaScript
FINAL FINAL,ProxyB الافتراضي عند عدم تطابق أي قاعدة أخرى (يجب أن يكون الأخير)

الخيارات

no-resolve

بالنسبة لطلب يكون اسم مضيفه نطاقاً، يقيّم Chute قائمة القواعد على مرحلتين. في المرحلة الأولى، يتم تخطي القواعد المبنية على IP (GEOIP و IP-CIDR و IP-ASN). إذا لم تتطابق أي قاعدة أخرى، يحلّ Chute النطاق عبر DNS ثم يقيّم القواعد مرة أخرى باستخدام عنوان IP الناتج. أضف خيار no-resolve لإبقاء القاعدة المبنية على IP متخطاة في المرحلة الثانية أيضاً، بحيث لا تطابق إلا الطلبات التي تحمل عنوان IP بالفعل.

GEOIP,US,DIRECT,no-resolve
IP-CIDR,172.16.0.0/12,DIRECT,no-resolve

على سطر RULE-SET، يشمل no-resolve كل قاعدة مبنية على IP داخل المجموعة، كأن كل واحدة منها تحمله: RULE-SET,https://example.com/cn-ip.list,DIRECT,no-resolve. أما المجموعتان المدمجتان SYSTEM وLAN فتُفكّان إلى قواعد منفصلة ولا تأخذان هذا الخيار.

ملاحظة: بسبب التقييم على مرحلتين، يمكن لقاعدة لاحقة غير مبنية على IP أن تطابق قبل قاعدة سابقة مبنية على IP لطلب اسم مضيفه نطاق. إذا فشل تحليل DNS، فإن القواعد المبنية على IP ببساطة لن تطابق أبداً وتُطبق قاعدة FINAL؛ ولا يتم إجهاض تقييم القواعد.

force-remote-dns

فرض تحليل DNS عبر خادم البروكسي البعيد بدلاً من DNS المحلي.

DOMAIN-SUFFIX,google.com,Proxy,force-remote-dns

ملاحظة: يتم تحليل هذا الخيار حالياً لأغراض التوافق فقط وليس له أي تأثير في الإصدارات الحالية.

extended-matching

توسيع مطابقة القاعدة المبنية على النطاق لتفحص أيضاً ترويسة Host في HTTP بالإضافة إلى اسم مضيف الاتصال. تأتي الترويسة من أول طلب في اتصال العميل بمستمع بروكسي HTTP — وفي HTTPS هي ترويسة Host الخاصة بطلب CONNECT نفسه — لذا يفيد هذا الخيار عندما يوجّه العميل طلبه إلى عنوان IP، أو إلى اسم غير الذي تحمله ترويسة Host. أما الاتصالات عبر TUN أو SOCKS5 فلا تحمل ترويسة Host، ولا يغيّر الخيار فيها شيئاً.

DOMAIN-SUFFIX,example.com,Proxy,extended-matching

requires-resolve

بالنسبة لقواعد SCRIPT، يقبل المحلل هذا الخيار لكنه لا يؤخر تقييم السكريبت. يتوفر $request.dnsResult في السكريبت فقط عندما تكون الجلسة قد حُلّت بالفعل (على سبيل المثال، الطلبات الموجهة مباشرة إلى عنوان IP، أو مرحلة المطابقة الثانية بعد تحليل DNS).

SCRIPT,MyRuleScript,PROXY,requires-resolve

pre-matching

صالح فقط للقواعد التي سياستها REJECT أو أحد صيغها (REJECT-DROP وREJECT-TINYGIF وغيرها). تُقيَّم قواعد pre-matching في مرحلة منفصلة قبل ذاكرة التخزين المؤقت لنتائج القواعد وقبل جدول القواعد العادي، لذا يُطبق الرفض المطابق في المرحلة الأولى، قبل أي تحليل DNS قد يستدعيه جدول القواعد. يقبل سطر RULE-SET أو DOMAIN-SET الخيار pre-matching ويحتفظ به، لكن المجموعة لا تُطابَق في تلك المرحلة المبكرة: فهي تشارك في موضعها نفسه من قائمة القواعد.

DOMAIN-SUFFIX,tracker.example.com,REJECT,pre-matching

dns-failed

صالح فقط لقاعدة FINAL. عندما يتطلب قرار الطلب بحث DNS محلياً ويفشل هذا البحث، يُسلَّم الطلب إلى سياسة FINAL بدلاً من أن يفشل — راجع القاعدة النهائية.

FINAL,Proxy,dns-failed

notification-text

يرسل إشعار نظام عند مطابقة القاعدة: العنوان هو النص، والمحتوى يذكر الوجهة والسياسة (host:port → policy؛ وعلى Android host:port · policy · process). يحدد notification-interval عدد الثواني التي يجب أن تمر قبل أن تُرسل القاعدة نفسها إشعاراً آخر (الافتراضي 300). يمكن لأي قاعدة، بما فيها FINAL، أن تحمل هذين الخيارين. يقبلهما سطر RULE-SET أو DOMAIN-SET ويحتفظ بهما، لكن المطابقة داخل المجموعة لا ترسل إشعاراً أبداً.

DOMAIN-SUFFIX,bank.example,DIRECT,notification-text="Bank site opened",notification-interval=60
FINAL,Proxy,notification-text=Fell%20to%20FINAL

ضع النص الذي يحتوي على مسافات بين علامتي اقتباس، أو اكتب كل مسافة على الشكل %20، واكتب الفاصلة %2C. يرسل Chute الإشعار بنفسه ويتبع مفتاح التطبيق الخاص بهذه الإشعارات — Allow Notification على iPhone، وShow report event notifications على Mac، وإذن الإشعارات الذي يمنحه النظام لـ Chute على Android — فلا يظهر شيء عند إيقافه، ولا يُعرض الإشعار على Apple TV أبداً. تُسجَّل كل مطابقة أيضاً كحدث إشعار قاعدة — راجع تقارير الإشعارات.

الأسماء البديلة

  • يُقبل DOMAIN-MATCH كاسم بديل لـ DOMAIN-KEYWORD.
  • يُقبل NETWORK كاسم بديل لـ PROTOCOL.
  • يُقبل DST-PORT كاسم بديل لـ DEST-PORT.

مجموعة النطاقات

يدعم Chute تحميل مجموعات النطاقات من رابط URL خارجي باستخدام نوع القاعدة DOMAIN-SET. يجب أن يكون الحقل الأول بعد النوع رابط http(s). المعامل الاختياري update-interval هو أقصى عمر بالثواني تبلغه النسخة المنزّلة قبل أن تُنزَّل من جديد؛ ولا يوجد مؤقت — راجع مجموعة القواعد الخارجية.

DOMAIN-SET,https://example.com/domains.txt,DIRECT
DOMAIN-SET,https://example.com/domains.txt,DIRECT,update-interval=86400

يحتوي ملف مجموعة النطاقات على نطاقات مجردة، واحد لكل سطر: example.com يطابق النطاق بعينه؛ .example.com أو +.example.com يطابق النطاق وجميع نطاقاته الفرعية. الأسطر التي تبدأ بـ # أو // هي تعليقات.

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

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

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

results matching ""

    No results matching ""