خيارات متنوعة
[General]
ipv6 = true
loglevel = notify
skip-proxy = 127.0.0.1, 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12, 100.64.0.0/10, localhost, *.local
tun-excluded-routes = 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12
tun-included-routes = 192.168.1.12/32
خيارات شائعة
تفعيل دعم IPv6 الكامل (الافتراضي: true)
ipv6 = true
loglevel (الافتراضي: warning)
loglevel = notify
واحد من none, fatal, warning, notify, info أو verbose. لا ينصح بتفعيل verbose في الاستخدام اليومي لأن هذا سيبطئ الأداء بشكل كبير.
skip-proxy
skip-proxy = 127.0.0.1, 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12, 100.64.0.0/10, localhost, *.local
في نسخة iOS، يفرض هذا الخيار معالجة الاتصالات إلى نطاقات النطاق/IP هذه بواسطة Chute TUN، بدلاً من بروكسي Chute. في نسخة macOS، ستطبق هذه الإعدادات على النظام عند تفعيل "Set as System Proxy". يستخدم هذا الخيار لإصلاح مشاكل التوافق مع بعض التطبيقات.
- لتحديد نطاق واحد، أدخل اسم النطاق - على سبيل المثال، apple.com.
- لتحديد جميع المواقع على نطاق، استخدم نجمة قبل اسم النطاق - على سبيل المثال، *apple.com.
- لتحديد جزء محدد من نطاق، حدد كل جزء - على سبيل المثال، store.apple.com.
- لتحديد مضيفين أو شبكات بعناوين IP، أدخل عنوان IP محدد مثل 192.168.2.11 أو نطاق عناوين، مثل 192.168.2.* أو 192.168.2.0/24.
ملاحظة: إذا أدخلت عنوان IP أو نطاق عناوين، ستتمكن فقط من تجاوز البروكسي عند الاتصال بذلك المضيف باستخدام ذلك العنوان، وليس عند الاتصال بالمضيف باسم نطاق يتحلل إلى ذلك العنوان.
مقاطعة الاتصالات الحالية
interrupt-exist-connections = true
عند التفعيل، سيؤدي تغيير السياسة المختارة في أي مجموعة سياسات (عبر URL Test، Fallback، Load Balance، SSID، أو الاختيار اليدوي) إلى إنهاء الاتصالات الحالية التي كانت تستخدم السياسة القديمة بشكل آمن. هذا يضمن استخدام الاتصالات للبروكسي المختار حديثاً فوراً بدلاً من البقاء على القديم.
يتم إغلاق كل اتصال متأثر بشكل آمن مع مهلة 3 ثوانٍ قبل الإغلاق القسري.
الافتراضي:
false. هذا إعداد عام — يؤثر على جميع مجموعات السياسات.
Network Framework (macOS / tvOS)
network-framework = true
تفعيل Apple Network.framework للاتصالات الصادرة. هذا مفعل افتراضياً على macOS و tvOS، ومعطل على iOS. يمكن أن يوفر استخدام Network.framework أداء أفضل وتكاملاً حديثاً مع مكدس TLS على المنصات المدعومة.
الافتراضي:
trueعلى macOS/tvOS،falseعلى iOS.
استبعاد أسماء المضيفين البسيطة
exclude-simple-hostnames = true
عند التفعيل، تتجاوز الطلبات إلى أسماء المضيفين البسيطة (أسماء ذات تسمية واحدة بدون نقطة، مثال localhost) قواعد البروكسي وتحل محلياً. هذا يساعد في تجنب استعلامات DNS غير الضرورية لأسماء الشبكة المحلية.
الافتراضي:
false.
تعطيل سجل قاعدة البيانات
disable-db-record = true
عند التفعيل، يتوقف Chute عن كتابة سجلات حركة المرور إلى قاعدة البيانات المحلية. هذا يمكن أن يحسن الأداء ويقلل استخدام التخزين، لكن سجل حركة المرور لن يكون متاحاً في Chute Dashboard.
الافتراضي:
false.
عرض السرعة في شريط القوائم (Mac فقط)
menu-bar-show-speed = true
عند التفعيل، يعرض Chute Mac سرعة الرفع والتنزيل الحالية في شريط القوائم.
الافتراضي:
false.
اختطاف خوادم DNS الأخرى
hijack-dns = 8.8.8.8:53
افتراضياً، يرجع Chute فقط عناوين IP وهمية لاستعلامات DNS المرسلة إلى عنوان DNS الخاص بـ Chute (198.18.0.2). الاستعلامات المرسلة إلى DNS القياسي سيتم توجيهها ببساطة.
بعض الأجهزة أو البرامج تستخدم دائماً خادم DNS مبرمج بشكل ثابت. (على سبيل المثال، Google Speakers تستخدم دائماً 8.8.8.8). يمكنك استخدام هذا الخيار لاختطاف الاستعلام للحصول على عنوان وهمي.
يمكنك استخدام hijack-dns = *:53 لاختطاف جميع استعلامات DNS.
المسارات المستبعدة
tun-excluded-routes = 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12
يستطيع Chute VIF معالجة بروتوكولات TCP و UDP فقط. استخدم هذا الخيار لتجاوز نطاقات IP محددة للسماح لجميع حركات المرور بالمرور.
ملاحظة: هذا الخيار يعمل فقط لنوع Enhanced Mode VIF (utun) — ليس له تأثير عند استخدام نوع PacketTunnel VPN. الطلبات التي يعالجها خادم بروكسي Chute لن تتأثر. ادمج 'skip-proxy' و 'tun-excluded-routes' للتأكد من أن حركة HTTP معينة تتجاوز Chute.
قد يتسبب هذا الخيار في خطأ نظام ENOMEM (Cannot allocate memory). يبدو أنه خطأ في نظام iOS. يرجى عدم استخدام هذا الخيار إذا أمكن.
المسارات المضمنة
tun-included-routes = 192.168.1.12/32
افتراضياً، ستعلن واجهة Chute VIF عن نفسها كمسار افتراضي. لكن نظراً لأن واجهة Wi-Fi لديها مسار أصغر، قد لا تمر بعض حركات المرور عبر واجهة Chute VIF. استخدم هذا الخيار لإضافة مسار أصغر.
ملاحظة: هذا الخيار يعمل فقط لنوع Enhanced Mode VIF (utun) — ليس له تأثير عند استخدام نوع PacketTunnel VPN.
استكشاف البروتوكول
sniffing-enabled = true
sniffing-timeout = 100
يستطيع Chute اكتشاف البروتوكول الفعلي للاتصال عن طريق فحص البايتات الأولية. هذا يمكن قواعد مثل PROTOCOL,HTTPS,Proxy من العمل بشكل صحيح حتى للاتصالات الواردة غير HTTP.
sniffing-enabled (الافتراضي: false)
sniffing-enabled = true
تفعيل اكتشاف البروتوكول لاتصالات TCP.
sniffing-timeout (الافتراضي: 100ms)
sniffing-timeout = 200
الحد الأقصى للوقت بالمللي ثانية لانتظار البيانات الأولية لتحديد البروتوكول. قم بزيادة هذه القيمة إذا فشل اكتشاف البروتوكول على الاتصالات البطيئة.
تجاوز TUN
bypass-tun = 192.168.0.0/16, 10.0.0.0/8
مشابه لـ skip-proxy، لكنه يعمل على مستوى توجيه TUN/VIF. الاتصالات إلى نطاقات IP هذه ستتجاوز واجهة TUN بالكامل وتذهب عبر مكدس شبكة النظام مباشرة.
ملاحظة: هذا الخيار يعمل فقط لنوع Enhanced Mode VIF (utun). ليس له تأثير عند استخدام نوع PacketTunnel VPN.
عرض صفحة خطأ للرفض
show-error-page-for-reject = true
عند التفعيل، يرجع Chute صفحة خطأ سهلة الاستخدام للطلبات المرفوضة بدلاً من إسقاط الاتصال ببساطة.
DNS المتفائل
optimistic-dns = true
عند التفعيل، يرجع Chute نتيجة DNS المخزنة مؤقتاً فوراً مع تحديث السجل في الخلفية. هذا يقلل زمن انتقال الاتصال على حساب احتمالية إرجاع سجلات DNS قديمة.
السماح بالوصول عبر Wi-Fi
allow-wifi-access = true
عند التفعيل في سياق الجوال/المقنن، سيستمر Chute في العمل عبر اتصالات Wi-Fi. هذا خاص بـ macOS.
الإعدادات المدارة
يدعم Chute الإعدادات المدارة عن بعد عبر ترويسة #!MANAGED-CONFIG في أعلى ملف الإعدادات:
#!MANAGED-CONFIG https://example.com/config.conf interval=86400 strict=false
| المعامل | مطلوب | الافتراضي | الوصف |
|---|---|---|---|
<url> |
نعم | — | رابط جلب الإعدادات منه |
interval |
لا | 86400 (24h) | فاصل التحديث بالثواني |
strict |
لا | false | عندما يكون true، لا يمكن تجاوز الإعدادات المدارة محلياً |
سيقوم Chute بإعادة جلب الإعدادات بشكل دوري من الرابط المحدد وتطبيقها. التعديلات المحلية على إعدادات مدارة صارمة لا يتم الاحتفاظ بها.
Replica / تسجيل حركة المرور
يتحكم القسم [Replica] في سلوك تسجيل حركة المرور وتصفيته:
[Replica]
hide-apple-request = true
hide-udp = true
hide-crashlytics-request = true
use-keyword-filter = false
keyword-filter = example
| المفتاح | النوع | الافتراضي | الوصف |
|---|---|---|---|
hide-apple-request |
Boolean | false | إخفاء طلبات خدمات Apple من سجل حركة المرور |
hide-udp |
Boolean | false | إخفاء حركة UDP من سجل حركة المرور |
hide-crashlytics-request |
Boolean | false | إخفاء طلبات Crashlytics من سجل حركة المرور |
use-keyword-filter |
Boolean | false | تفعيل تصفية حركة المرور بالكلمات المفتاحية |
keyword-filter |
String | — | كلمات مفتاحية مفصولة بفواصل لتصفية سجلات حركة المرور |
المفتاح
replicaفي[General](replica = true) يفعل تسجيل حركة المرور. استخدم القسم[Replica]لتصفية ما يتم تسجيله.
HTTP Control API و Web UI
[General]
external-http-controller = 127.0.0.1:9090
external-http-secret = your-secret-token
external-http-ui = true
external-http-cors = false
يوفر Chute HTTP Control API مدمج وواجهة إدارة ويب، مشابهة للوحات تحكم Clash و Surge. تعرض API حالة النواة، حركة المرور، الاتصالات، DNS، عناصر تحكم السياسات، وإدارة الإعدادات عبر نقاط نهاية REST.
external-http-controller (الافتراضي: معطل)
external-http-controller = 127.0.0.1:9090
العنوان والمنفذ لخادم تحكم HTTP. استخدم 127.0.0.1 للوصول المحلي فقط. الربط بـ 0.0.0.0 أو عنوان غير loopback يمكن الوصول عن بعد ويتطلب external-http-secret غير فارغ.
external-http-secret (الافتراضي: فارغ)
external-http-secret = your-secret-token
رمز Bearer المستخدم لمصادقة API. يجب أن تتضمن الطلبات الترويسة Authorization: Bearer <secret>. مطلوب عندما يكون المتحكم مربوطاً بعنوان غير loopback أو عند الرغبة في الوصول عن بعد.
external-http-ui (الافتراضي: true)
external-http-ui = true
عند التفعيل، يقدم Chute واجهة ويب مدمجة عند عنوان المتحكم. توفر واجهة الويب لوحة معلومات عامة، إدارة الاتصالات، فحص DNS، مراقبة حركة المرور، عناصر تحكم السياسات، وتحرير الإعدادات. عيّن إلى false لإبقاء API مفعلة مع تعطيل واجهة المستخدم.
external-http-cors (الافتراضي: false)
external-http-cors = true
تفعيل ترويسات CORS (Cross-Origin Resource Sharing) على استجابات API. مفيد عندما تحتاج واجهة الويب أو أدوات خارجية للوصول إلى API من أصل مختلف.
نقاط نهاية API:
| الطريقة | نقطة النهاية | الوصف |
|---|---|---|
GET |
/api/status |
حالة وقت التشغيل، المنافذ، وقت التشغيل |
GET |
/api/traffic |
عدادات حركة المرور العامة ولكل سياسة |
GET |
/api/connections |
الاتصالات النشطة الحالية |
DELETE |
/api/connections/:id |
إغلاق اتصال |
GET |
/api/connections/history |
سجلات الاتصالات التاريخية |
GET |
/api/dns |
سجلات ذاكرة DNS المؤقتة |
DELETE |
/api/dns/cache |
مسح ذاكرة DNS المؤقتة |
GET |
/api/config |
الإعدادات الحالية |
PUT |
/api/config |
إعادة تحميل الإعدادات |
GET |
/api/policies |
مجموعات السياسات والاختيار الحالي |
PUT |
/api/policies/:group |
تغيير اختيار مجموعة السياسات |
PUT |
/api/mode |
تعيين نمط التوجيه الصادر |
GET |
/api/features |
حالات مفاتيح الميزات |
PUT |
/api/features/mitm |
تبديل MITM |
PUT |
/api/features/record-traffic |
تبديل تسجيل حركة المرور |
ملاحظة: هذه الميزة معطلة افتراضياً. تستخدم API استجابات JSON بالتنسيق
{"ok": true, "data": {...}}للنجاح و{"ok": false, "error": {"code": "...", "message": "..."}}للأخطاء.