الوحدات
يدعم Chute ملفات الوحدات الخارجية (.sgmodule) لتوسيع الإعدادات بقواعد، سكريبتات، مضيفي MitM، وتعيينات DNS قابلة لإعادة الاستخدام والمشاركة. تتبع الوحدات تنسيق وحدات Surge.
تعرف الوحدات في القسم [Module]:
[Module]
https://example.com/my-module.sgmodule
/path/to/local-module.sgmodule
~/.chute/custom-module.sgmodule
الروابط تجلب عن بعد؛ المسارات التي تبدأ بـ / أو ~ تحمل من نظام الملفات المحلي.
هيكل ملف الوحدة
ملف .sgmodule يتبع نفس صيغة ملف الإعدادات الرئيسي. الأقسام المدعومة:
| القسم | الغرض |
|---|---|
[MITM] |
إضافة أسماء مضيفين إلى قائمة فك تشفير MITM |
[Script] |
تسجيل سكريبتات JavaScript |
[URL Rewrite] |
إضافة قواعد إعادة كتابة الرابط |
[Header Rewrite] |
إضافة قواعد إعادة كتابة الترويسات |
[Rule] |
إضافة قواعد التوجيه |
[Host] |
إضافة تعيينات DNS من المضيف إلى IP |
للتوافق، يُقبل القسم
[DNS]داخل الوحدة كاسم بديل لـ[Host].
بيانات الوحدة الوصفية
يمكن للوحدات تضمين توجيهات بيانات وصفية (أسطر تبدأ بـ #!):
#!name = My Custom Module
#!desc = Blocks ads and trackers for example.com
#!system = ios,macos
| التوجيه | الوصف |
|---|---|
#!name |
اسم الوحدة (يعرض في واجهة المستخدم) |
#!desc |
وصف الوحدة |
#!system |
مرشح المنصة: ios, macos (مفصولة بفواصل) |
#!arguments |
يعلن متغيرات الوحدة بقيم افتراضية (مثل #!arguments = var1:default1, var2:default2) |
#!system بيانات وصفية إعلامية تُعرض في محرر الوحدات؛ ولا يقيّد التحميل حالياً — تُطبق الوحدة على جميع المنصات.
يمكن أن يظهر #!arguments عدة مرات؛ والإعلانات اللاحقة تلغي السابقة. وتُستبدل العناصر النائبة {{{variable}}} في متن الوحدة بالقيمة المحسوبة: تُقدَّم القيمة البديلة التي يوفرها التطبيق، ثم القيمة الافتراضية من #!arguments، ثم السلسلة الفارغة.
مثال وحدة
#!name = Ad Block Module
#!desc = Block common ad domains
#!system = ios,macos
[Rule]
DOMAIN-SUFFIX,doubleclick.net,REJECT
DOMAIN-SUFFIX,googlesyndication.com,REJECT
DOMAIN-SUFFIX,googleadservices.com,REJECT
[Host]
localhost = 127.0.0.1
[MITM]
hostname = *.google-analytics.com
[URL Rewrite]
^https://example\.com/old-api https://example.com/new-api 302
تُزال التوجيهات
%APPEND%/%INSERT%الموجودة داخل قيمةhostnameفي الوحدة وتُدمج أسماء المضيفين في قائمة MitM؛ أما بادئة الاستبعاد-في بداية اسم المضيف فتبقى محفوظة.
دورة حياة الوحدة
- تحمل الوحدات بعد تحليل الإعدادات الرئيسية.
- تضاف القواعد، السكريبتات، مضيفو MitM، ومضيفو DNS من الوحدات إلى مديري وقت التشغيل.
- عند إزالة وحدة أو تعطيلها، يتم إلغاء تسجيل جميع قواعدها، سكريبتاتها، ومضيفيها.
- يُجلب محتوى الوحدات البعيدة عند بدء النفق، ولا يعاد جلبه إلا عند تغيّر قائمة روابط
[Module]عند إعادة تحميل الإعدادات.
هذه الصفحة ترجمة للنسخة الإنجليزية. في حال وجود اختلاف، يُعتمد على النسخة الإنجليزية.
ملاحظة: التطبيق لا يدعم اللغة العربية حاليًا.