خيارات متنوعة
[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 أو نطاق عناوين، ستتمكن فقط من تجاوز البروكسي عند الاتصال بذلك المضيف باستخدام ذلك العنوان، وليس عند الاتصال بالمضيف باسم نطاق يتحلل إلى ذلك العنوان.
استماع خادم البروكسي
interface = 127.0.0.1
port = 8118
socks-interface = 127.0.0.1
socks-port = 8119
يتحكم interface / port في عنوان ومنفذ استماع خادم بروكسي HTTP (الافتراضي 127.0.0.1:8118). ويتحكم socks-interface / socks-port في خادم بروكسي SOCKS5 (الافتراضي 127.0.0.1:8119).
مصادقة البروكسي الوارد
http-auth = username:password
يتطلب من العملاء المصادقة قبل استخدام خوادم بروكسي HTTP و SOCKS5 الخاصة بـ Chute. يمكن تكرار السطر للسماح ببيانات اعتماد متعددة.
تجاوز طلبات النظام
bypass-system = true
عند التفعيل، تتجاوز الطلبات المرسلة بواسطة عمليات النظام معالجة Chute.
الافتراضي:
true.
Real IP دائماً
always-real-ip = *.example.com, tracker.example.org
عندما يقدم Chute عناوين IP وهمية لاستعلامات DNS المختطفة (انظر hijack-dns)، تتم الإجابة دائماً على أسماء المضيفين المطابقة لهذه القائمة المفصولة بفواصل بعناوين IP الحقيقية المحللة بدلاً من ذلك. العلامات النجمية (wildcards) مدعومة.
مقاطعة الاتصالات الحالية
interrupt-exist-connections = true
عند التفعيل، سيؤدي تغيير السياسة المختارة في أي مجموعة سياسات (عبر URL Test، Fallback، Load Balance، SSID، أو الاختيار اليدوي) إلى إنهاء الاتصالات الحالية التي كانت تستخدم السياسة القديمة بشكل آمن. هذا يضمن استخدام الاتصالات للبروكسي المختار حديثاً فوراً بدلاً من البقاء على القديم.
يتم إغلاق كل اتصال متأثر بشكل آمن مع مهلة 3 ثوانٍ قبل الإغلاق القسري.
الافتراضي:
false. هذا إعداد عام — يؤثر على جميع مجموعات السياسات.
Network Framework (macOS / tvOS)
network-framework = true
تفعيل Apple Network.framework للاتصالات الصادرة. يمكن أن يوفر استخدام Network.framework أداء أفضل وتكاملاً حديثاً مع مكدس TLS على المنصات المدعومة.
الافتراضي:
trueعلى macOS،falseعلى iOS و tvOS.
استبعاد أسماء المضيفين البسيطة
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,TLS,Proxy من العمل بشكل صحيح حتى للاتصالات الواردة غير HTTP.
sniffing-enabled (الافتراضي: false)
sniffing-enabled = true
تفعيل اكتشاف البروتوكول لاتصالات TCP.
sniffing-timeout (الافتراضي: 100ms)
sniffing-timeout = 200
الحد الأقصى للوقت بالمللي ثانية لانتظار البيانات الأولية لتحديد البروتوكول. قم بزيادة هذه القيمة إذا فشل اكتشاف البروتوكول على الاتصالات البطيئة.
حظر QUIC
block-quic = auto
يتحكم هذا الخيار في ما إذا كان Chute سيرفض حركة مرور QUIC المكتشفة، بما في ذلك HTTP/3. يعمل QUIC عبر UDP ولا يمكن فك تشفيره بواسطة HTTP MITM في Chute. قد يدفع رفض QUIC العملاء المتوافقين إلى إعادة المحاولة عبر TCP، مما يتيح معالجة البروكسي المعتمدة على TCP وفك تشفير HTTPS عند تفعيله.
| القيمة | السلوك |
|---|---|
off |
عدم تطبيق حظر عام على QUIC (الافتراضي). تتبع حركة QUIC المكتشفة قواعد التوجيه العادية. |
on |
رفض كل تدفق QUIC مكتشف، بما في ذلك حركة المرور الموجهة إلى DIRECT. |
auto |
رفض QUIC المكتشف فقط عندما تكون سياسة الخروج النهائية بروكسي. يُسمح بحركة المرور الموجهة إلى DIRECT، وتظل حركة المرور الموجهة إلى REJECT مرفوضة وفقًا لتلك القاعدة. |
بالنسبة إلى حركة المرور الداخلة عبر TUN، يرد Chute على تدفق QUIC المرفوض برسالة ICMP/ICMPv6 Port Unreachable، مما يسمح للعملاء المتوافقين بالعودة إلى TCP دون انتظار انتهاء مهلة QUIC.
يتم اكتشاف QUIC الخاص بـ
block-quicتلقائيًا ولا يتطلبsniffing-enabled؛ إذ يتحكمsniffing-enabledفي اكتشاف بروتوكولات TCP. استخدم قاعدةPROTOCOL,QUIC,...عند الحاجة إلى معالجة تدفقات QUIC منفردة بواسطة القواعد.
تجاوز 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 = false
عند التفعيل، يرجع Chute نتيجة DNS المخزنة مؤقتاً فوراً مع تحديث السجل في الخلفية. هذا يقلل زمن انتقال الاتصال على حساب احتمالية إرجاع سجلات DNS قديمة.
الافتراضي:
true. عيّنoptimistic-dns = falseللتعطيل.
السماح بالوصول عبر Wi-Fi
allow-wifi-access = true
الغرض منه السماح للأجهزة الأخرى على نفس شبكة Wi-Fi بالوصول إلى منافذ بروكسي HTTP/SOCKS5 الخاصة بـ Chute. يظهر المفتاح في تطبيقات Chute وتُحفظ القيمة في الإعدادات.
تنبيه: النواة حالياً تخزن هذا العلم لكنها لا تفرضه بعد.
الإعدادات المدارة
يدعم Chute الإعدادات المدارة عن بعد عبر ترويسة #!MANAGED-CONFIG في أعلى ملف الإعدادات:
#!MANAGED-CONFIG https://example.com/config.conf interval=86400 strict=false
| المعامل | مطلوب | الافتراضي | الوصف |
|---|---|---|---|
<url> |
نعم | — | رابط جلب الإعدادات منه |
interval |
لا | 86400 (24h) | فاصل التحديث بالثواني |
strict |
لا | false | محجوز؛ يؤثر حالياً فقط على تسجيل التحديثات |
سيقوم 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.com من سجل حركة المرور |
hide-udp |
Boolean | false | محجوز؛ يُحلَّل لكن لا يطبق حالياً في وقت التشغيل |
hide-crashlytics-request |
Boolean | false | محجوز؛ يُحلَّل لكن لا يطبق حالياً في وقت التشغيل |
use-keyword-filter |
Boolean | false | تفعيل تصفية حركة المرور بالكلمات المفتاحية |
keyword-filter |
String | — | كلمات مفتاحية مفصولة بفواصل لتصفية سجلات حركة المرور |
المفتاح
replicaفي[General](replica = true) يفعل تسجيل حركة المرور. استخدم القسم[Replica]لتصفية ما يتم تسجيله.
الوصول إلى المتحكم الخارجي (Chute Dashboard)
external-controller-access = [email protected]:6155
يبدأ خادم التحكم عن بعد المستخدم بواسطة Chute Dashboard. القيمة هي password@host:port؛ ويمكن اختيارياً أن يسبق كلمة المرور اسم مستخدم (user:password@host:port). تفتح قناة USB مرافقة على port + 1.
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": "..."}}للأخطاء.