الوحدات
يدعم 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 |
بيانات الوحدة الوصفية
يمكن للوحدات تضمين توجيهات بيانات وصفية (أسطر تبدأ بـ #!):
#!name = My Custom Module
#!desc = Blocks ads and trackers for example.com
#!system = ios,macos
| التوجيه | الوصف |
|---|---|
#!name |
اسم الوحدة (يعرض في واجهة المستخدم) |
#!desc |
وصف الوحدة |
#!system |
مرشح المنصة: ios, macos (مفصولة بفواصل) |
إذا تم تحديد #!system وكانت المنصة الحالية غير متطابقة، يتم تخطي الوحدة بصمت.
مثال وحدة
#!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
دورة حياة الوحدة
- تحمل الوحدات بعد تحليل الإعدادات الرئيسية.
- تضاف القواعد، السكريبتات، مضيفو MITM، ومضيفو DNS من الوحدات إلى مديري وقت التشغيل.
- عند إزالة وحدة أو تعطيلها، يتم إلغاء تسجيل جميع قواعدها، سكريبتاتها، ومضيفيها.
- يعاد جلب الوحدات البعيدة وفقاً لفاصل تحديث الإعدادات المدارة للإعدادات الرئيسية.