مجموعة السياسات
قد تحتوي مجموعة السياسات على عدة سياسات. يمكن أن تكون خادم بروكسي، مجموعة سياسات أخرى، أو سياسة مدمجة (DIRECT و REJECT بصيغها المختلفة أو PROXY).
هناك سبعة أنواع من المجموعات: select، url-test، fallback، load-balance، random، relay، و ssid (ويُكتب أيضاً subnet). يعلن القسم [Proxy Group] عن مجموعات السياسات. كما يُقبل النوع smart ويُعامل معاملة url-test. أما المجموعة من أي نوع آخر — external في Surge أو نوع لا يعرفه Chute — فتحتفظ بأعضائها وتعمل كمجموعة select مع ملاحظة في السجل، بدل رفضها.
مجموعة الاختيار اليدوي
اختيار السياسة التي ستستخدم من واجهة المستخدم.
SelectGroup = select, ProxyHTTP, ProxyHTTPS, DIRECT, REJECT
معاملات اختيارية: default= (العضو المختار مبدئياً — اسمه، أو فهرسه بدءاً من 0؛ وselect= وpolicy-select-name= في Shadowrocket تعنيان الشيء نفسه)، policy-provider:Name (استيراد الأعضاء من مزود بروكسي)، filter= / exclude-filter= (تعبيرات نمطية تطبق على الأعضاء المقدمين من المزود)، و HIDDEN=true. وتقبل جميع أنواع المجموعات باستثناء ssid أيضاً معاملات الاشتراك والعضوية.
في نسخة iOS، تبدّل أداة Today (Today Widget) السياسة لأول ثلاث مجموعات
selectغير مخفية؛ ويُضبط عدد ما تعرضه منها عبر استخدام أداة Today لاختيار المجموعة (Use Today Widget to Select Group) في التطبيق. في نسخة macOS، يمكنك تبديل السياسة من قائمة شريط القوائم.
مجموعة اختبار الرابط التلقائي
تحديد السياسة تلقائياً عن طريق قياس زمن الاستجابة إلى رابط.
AutoTestGroup = url-test, ProxySOCKS5, ProxySOCKS5TLS, url = http://www.google.com/generate_204
المعاملات
url: اختياري
يرسل Chute طلب HTTP GET عادياً (غير مشفّر) للرابط، عبر كل سياسة، إلى المنفذ 80 على مضيف الرابط: يُتجاهل مخطط https:// وأي منفذ في الرابط، لذا استخدم رابط http:// يُخدَّم على المنفذ 80. يهتم الاختبار فقط باستلام بيانات استجابة، حتى لو كانت الاستجابة خطأ HTTP. والعضو الذي يحمل test-url= خاصاً به يُفحص عند ذلك الرابط بدلاً منه. عند إغفاله، يُستخدم رابط الفحص الافتراضي http://www.gstatic.com/generate_204. ويحل proxy-test-url في [General] محل هذه القيمة الافتراضية في كل مجموعة تُغفل url.
interval: اختياري، ثانية (الافتراضي: 600s).
الفاصل الزمني الذي يُعاد بعده اختبار السياسات. يقود مؤقّت عام بدقة ثانية واحدة إعادة الاختبار التلقائية كل interval ثانية، سواء كانت مجموعة السياسات مستخدمة أم لا. وهناك استثناءان: المجموعة التي تحمل lazy=true لا تبدأ الاختبار حتى تُستخدم لأول مرة، كما يتوقف الاختبار مؤقتاً ما دامت المجموعة خاملة لمدة أطول من idle-timeout. والقيمة 0 تعادل إغفاله.
tolerance: اختياري، مللي ثانية (الافتراضي: 100ms).
تختبر كل جولة جميع الأعضاء في آن واحد. وحين لا يكون أول عضو يجيب هو العضو المستخدم حالياً، ينتظر Chute مدةً إضافية تصل إلى tolerance مللي ثانية — ولا تتجاوز أبداً timeout الخاص بالجولة — ليجيب العضو المستخدم: فإن أجاب خلال هذه المهلة احتفظ بمكانه، وإلا انتقلت المجموعة إلى العضو الذي أجاب أولاً. وإلى أن تختار جولةٌ ما عضواً، يؤخذ أول عضو يجيب مباشرةً؛ أما الجولة التي لا يجيب فيها أي عضو فلا تغيّر شيئاً. والقيمة 0 تعادل إغفاله.
timeout: اختياري، ثانية (الافتراضي: 5s).
التخلي عن سياسة إذا لم تنته خلال المهلة. وعند إغفال timeout أو ضبطه على 0 تُطبَّق قيمة test-timeout في [General] إن كانت مضبوطة.
lazy: اختياري (true/false، الافتراضي: false).
عند التفعيل، يتم اختبار السياسات فقط عند أول استخدام بدلاً من بدء التشغيل.
max-failed-times: اختياري (الافتراضي: 0، معطل).
عدد حالات فشل الاختبار المتتالية التي تُعتبر بعدها السياسة غير سليمة. هذا الخيار فعّال فقط لـ مجموعات موازنة التحميل، حيث تُستبعد السياسات غير السليمة من الاختيار. أما في مجموعات url-test و fallback فيُتتبع عدد حالات الفشل لكنه لا يؤثر على الاختيار. عند عدم التعيين (0)، لا تستبعد حالات فشل الاختبار أي سياسة أبداً.
expected-status: اختياري (الافتراضي: فارغ).
expected-status=204
لا تُحتسب ناجحةً إلا الإجابة التي تحمل حالة متوقعة: رمز واحد (204)، أو نطاق (200-299)، أو قائمة منهما مفصولة بـ / (200/204/300-399). السياسة التي تُجيب بحالة أخرى تخرج من الجولة، ويُحتسب ذلك إخفاقاً. أما القيمة التي لا تطابق أياً من هذه الأشكال فتُتجاهل مع تحذير، ويُقبل حينها أي رد. تعمل في مجموعات url-test.
idle-timeout: اختياري، ثانية.
idle-timeout = 120
عندما لا تُستخدم مجموعة السياسات (أي لا يسحب منها أي اتصال جديد سياسة) لمدة أطول من هذه المدة، تتوقف اختبارات الرابط الدورية مؤقتاً. ويُستأنف الاختبار بمجرد استخدام المجموعة مرة أخرى. ولا يُغلق هذا الخيار أي اتصالات إطلاقاً.
مدعوم أيضاً: HIDDEN=true و filter= و exclude-filter= و policy-provider:Name.
مجموعة الاحتياط
اختيار سياسة متاحة حسب الأولوية. يتم اختبار التوفر بالوصول إلى رابط، مثل مجموعة اختبار الرابط التلقائي. السياسة المعرفة في المقدمة لها أولوية عالية. تختبر كل جولة جميع الأعضاء في آن واحد، وتستخدم المجموعة أول عضو، بحسب ترتيب الكتابة، أجاب في آخر جولة. وقبل أن تنتهي أي جولة، وبعد جولة لم يجب فيها أي عضو، تستخدم العضو الأول. ولا تسري نتائج الجولة إلا عند انتهائها — فور إجابة جميع الأعضاء، وإلا عند انقضاء timeout — فلا تغيّر المجموعة عضوها في منتصف جولة. ولا يحدث التبديل إلا حين تغيّر جولةٌ العضوَ المستخدم: عندها يذكر إشعار Policy Group Primary Changed العضو المستخدم قبل التبديل وبعده، ويغلق interrupt-exist-connections اتصالات العضو الذي تُرك.
FallbackGroup = fallback, ProxySOCKS5, ProxySOCKS5TLS, url = http://www.google.com/generate_204
المعاملات
url: اختياري
تحديد الرابط الذي سيتم اختباره؛ وكما في مجموعة url-test، يكون الفحص طلب HTTP GET عادياً إلى المنفذ 80 على مضيف الرابط، والعضو الذي يحمل test-url= خاصاً به يُفحص عند ذلك الرابط بدلاً منه. عند إغفاله، يُستخدم رابط الفحص الافتراضي http://www.gstatic.com/generate_204. ويحل proxy-test-url في [General] محل هذه القيمة الافتراضية في كل مجموعة تُغفل url.
interval: اختياري، ثانية (الافتراضي: 600s).
الفاصل الزمني الذي يُعاد بعده اختبار السياسات. الدلالات نفسها الواردة في مجموعة اختبار الرابط التلقائي، باستثناء أن idle-timeout — شأنه شأن expected-status — خاص بـ url-test وحدها: فمجموعة fallback لا سكون لها وتواصل الاختبار على الفاصل الزمني.
timeout: اختياري، ثانية (الافتراضي: 5s).
التخلي عن سياسة إذا لم تنته حتى المهلة. وعند إغفال timeout أو ضبطه على 0 تُطبَّق قيمة test-timeout في [General] إن كانت مضبوطة.
lazy / max-failed-times: اختياري.
مثل مجموعة اختبار الرابط التلقائي. مدعوم أيضاً: HIDDEN=true و filter= و exclude-filter= و policy-provider:Name.
مجموعة SSID
تختار سياسة وفقاً للشبكة الحالية — اسم شبكة Wi-Fi أو نقطة الوصول أو نوع الواجهة أو الموجِّه. ويمكن كتابة النوع أيضاً subnet، وهو الاسم الحالي في Surge.
SSIDGroup = subnet, default = ProxyHTTP, cellular = ProxyHTTP, "Home WiFi" = DIRECT, SSID:Office* = ProxySOCKS5, TYPE:WIRED = DIRECT, ROUTER:192.168.1.1 = DIRECT
المعاملات
default: مطلوب.
السياسة عند عدم العثور على خيار SSID مطابق.
cellular: اختياري.
السياسة تحت شبكة الجوال. إذا لم يتم توفيرها، سيتم استخدام السياسة الافتراضية. وبدقة أكبر، تُستخدم كلما لم يكن الجهاز على Wi-Fi ولم يطابق أي عضو.
defaultإلزامي. الأعضاء أزواج<selector> = <policy>تُفحص بالترتيب، وأول تطابق هو المعتمد. المحدد هو اسم شبكة (ضعه بين علامتي اقتباس إذا احتوى على مسافات أو نقطتين) أوSSID:<name>أوBSSID:<address>أوTYPE:WIFI/TYPE:CELLULAR/TYPE:WIREDأوROUTER:<gateway address>؛ ويمكن استخدام حرفَي البدل*و?في الأسماء. يُقبلMCCMNC:لكنه لا يطابق أبداً. على Apple TV تستخدم المجموعةdefaultدائماً.
مجموعة موازنة التحميل
توزيع الطلبات عبر عدة بروكسيات باستخدام استراتيجية موازنة تحميل.
LBGroup = load-balance, ProxySOCKS5, ProxyHTTPS, url = http://www.google.com/generate_204, strategy = round-robin
المعاملات
strategy: اختياري (الافتراضي: round-robin)
تحديد استراتيجية موازنة التحميل:
| الاستراتيجية | الوصف |
|---|---|
round-robin |
توزيع الطلبات بالتساوي عبر جميع البروكسيات بالتناوب |
consistent-hashing |
توجيه نفس اسم المضيف باستمرار إلى نفس البروكسي |
sticky-sessions |
الاستمرار في إعادة استخدام آخر بروكسي مختار لجميع الاتصالات؛ الاختيار الثابت عام (وليس لكل عميل) وتنتهي صلاحيته بعد 600 ثانية من لحظة اتخاذه |
url: اختياري
url = http://www.google.com/generate_204
يرسل Chute طلب HTTP GET عادياً إلى المنفذ 80 على مضيف الرابط لاختبار توفر البروكسي. عند إغفاله، يُستخدم رابط الفحص الافتراضي http://www.gstatic.com/generate_204. ولا تؤثر نتائج الاختبار على الاختيار إلا عندما يكون max-failed-times أكبر من 0؛ فمع القيمة الافتراضية 0 لا تُستبعد البروكسيات غير السليمة. ويحل proxy-test-url في [General] محل هذه القيمة الافتراضية في كل مجموعة تُغفل url.
interval: اختياري، ثانية (الافتراضي: 600s).
interval = 300
كم مرة يتم إعادة اختبار توفر البروكسي. والقيمة 0 تعادل إغفاله.
timeout: اختياري، ثانية (الافتراضي: 5s).
timeout = 3
مهلة طلب اختبار التوفر. وعند إغفال timeout أو ضبطه على 0 تُطبَّق قيمة test-timeout في [General] إن كانت مضبوطة.
lazy: اختياري (true/false، الافتراضي: false).
مثل مجموعة اختبار الرابط التلقائي: لا يبدأ الاختبار حتى تُستخدم المجموعة لأول مرة.
max-failed-times: اختياري (الافتراضي: 0، معطل).
max-failed-times = 3
عدد حالات فشل الاختبار المتتالية التي يُوسم بعدها البروكسي بأنه غير سليم ويُستبعد من موازنة التحميل. مع القيمة الافتراضية 0، لا تستبعد نتائج الاختبار أي بروكسي أبداً. وإذا كانت جميع البروكسيات غير سليمة، تُستخدم جميعها من جديد.
HIDDEN: اختياري (true/false، الافتراضي: false).
HIDDEN = true
عند التفعيل، لا تعرض التطبيقات مجموعة السياسات في قوائمها: تُسقطها قائمة شريط القوائم في Chute Mac وتبويب البروكسيات (Proxies) في نافذته الرئيسية، وChute iOS وأداة Today الخاصة به، وChute tvOS، وChute Android، وChute Dashboard، ووحدة تحكم الويب. وتستخدمها القواعد والمجموعات الأخرى كالمعتاد. أما المجموعة المخفية المختارة حالياً — تلك التي يستخدمها الوضع العام مثلاً — فتبقى معروضة وعليها علامة الاختيار، لترى ما هو قيد الاستخدام. وعندما توجّه HTTP Control API الوضع العام إلى مجموعة select، تعرض قوائم الوضع العام في التطبيقات — التي لا تضم مجموعات select عادةً — تلك المجموعة أيضاً وعليها علامة الاختيار. ولا تزال HTTP Control API تعيد كل المجموعات، مع "hidden": true أو false لكل منها.
يُكتب المفتاح عرفاً بأحرف كبيرة، لكن مطابقته غير حساسة لحالة الأحرف، لذا يعمل hidden=true أيضاً. متاح أيضاً في مجموعات select و url-test و fallback و ssid.
ملاحظة: معامل
interrupt-exist-connectionsهو الآن إعداد عام[General]. انظر الخيارات المتنوعة.
المجموعة العشوائية
مجموعة random في Shadowrocket: يختار كل اتصال جديد عضواً واحداً عشوائياً.
RandomGroup = random, ProxyA, ProxyB, ProxyC
يختار كل اتصال من بين الأعضاء باحتمال متساوٍ، مستقلاً عن الاتصالات التي سبقته. ولا يختار UDP إلا من بين الأعضاء الذين يمرّرون UDP؛ وإن لم يوجد أي منهم فلا تمرّر المجموعة UDP ويسري udp-policy-not-supported-behaviour. يُكتب الأعضاء كما في مجموعة select، بما في ذلك مراجع policy-provider:، ويحتفظ كل عضو بـ underlying-proxy الخاص به. لا يوجد اختيار يمكن تغييره: تعرض وحدة تحكم الويب وHTTP Control API أعضاءها لكنهما ترفضان تغيير الاختيار، ولا أثر لـ default=. ويخفيها HIDDEN=true كما يخفي المجموعات الأخرى.
مجموعة الترحيل
تربط أعضاءها بالترتيب المكتوب في مسار واحد. يُتصل بالعضو الأول مباشرة (أو عبر underlying-proxy الخاص به)، ويُوصَل إلى كل عضو لاحق عبر الأعضاء الذين يسبقونه، ويتصل العضو الأخير بالوجهة — وهو الترتيب نفسه الذي يستخدمه Clash وmihomo.
RelayGroup = relay, Entry, Exit
يمر الاتصال عبر RelayGroup من الجهاز إلى Entry، ومن Entry إلى Exit، ومن Exit إلى الوجهة؛ وترى الوجهة الاتصال قادماً من Exit.
تحتاج مجموعة الترحيل إلى عضوين على الأقل يُكتبان كما في مجموعة select؛ ويمكن أن يكون العضو سياسة أو مجموعة أخرى. يمكن للعضو الأول استخدام أي بروتوكول. أما كل عضو لاحق فيصل إلى خادمه عبر الأعضاء الذين يسبقونه، لذا يجب أن يكون من نوع يقبل التسلسل — راجع underlying-proxy؛ وإذا كان العضو (أو السياسة التي تختارها مجموعة عضوة حالياً) لا يقبل التسلسل، يُرفض الاتصال ويُسجَّل، ولا يُرسل مباشرة أبداً. داخل مجموعة الترحيل يُتجاهل underlying-proxy الخاص بأي عضو لاحق، لأن الأعضاء الذين يسبقونه هم مساره. وإذا كان بين الأعضاء مجموعة ترحيل، فإنها تُفرَد في موضعها إلى أعضائها هي، بحدٍّ أقصى 8 قفزات للمسار كله؛ وإذا كان الاختيار الحالي لمجموعة عضوة مجموعةَ ترحيل أخرى، فلا يمكن إدراج قفزاتها عند إنشاء الاتصال، لذا يُرفض الاتصال ويُسجَّل. ولا يمكن الوصول إلى الأعضاء التالين للعضو الأول إلا عبر الأعضاء الذين يسبقونهم، ولا يرسل Chute إليهم ping مباشراً. يُبقي WireGuard وAmneziaWG وSSH اتصالاً واحداً عبر منبعها الخاص، لذا يمكن أن تكون العضو الأول لا عضواً لاحقاً. وتحمل مجموعة الترحيل UDP حين يستطيع UDP الخاص بعضوها الأخير المرور عبر الأعضاء الذين يسبقونه، وفق قواعد underlying-proxy: مخرج VMess أو VLESS أو Trojan أو AnyTLS عبر أي أعضاء، ومخرج Shadowsocks أو SOCKS5 أو Hysteria2 أو TUIC أو MASQUE فقط حين يحمل الأعضاء السابقون UDP. وإلا يخضع UDP المرسل إليها لـ udp-policy-not-supported-behaviour. وليس لها فحص سلامة ولا شيء يُختار فيها.
معاملات الاشتراك والعضوية
تعمل هذه المعاملات على مجموعات select و url-test و fallback و load-balance (ويعمل underlying-proxy على كل المجموعات باستثناء مجموعات SSID):
[Proxy Group]
Airport = select, policy-path=https://example.com/nodes.list, update-interval=86400, policy-regex-filter="^(HK|JP) \d{1,2}$"
Everything = url-test, include-all-proxies=true
Streaming = fallback, HK-Node, include-other-group=Airport, policy-regex-filter="^HK"
- يملأ
policy-path=<URL>(Surge) المجموعة من اشتراك: يحوّله Chute إلى مزود بروكسي مخفي بصيغةformat=auto، تكون قيمةintervalفيه هيupdate-intervalالخاص بالمجموعة (الافتراضي 86400). ويُبقيpolicy-regex-filter=العقد التي تطابق أسماؤها فقط. لا يظهر المزود المخفي في أي قائمة مزودين ولا يُكتب في الملف، ويُحفظ سطر المجموعة كما كتبته. - يضيف
include-all-proxies=trueكل سياسات قسم[Proxy]، ويضيفinclude-other-group=<group>(قابل للتكرار) أعضاء مجموعة أخرى تكرارياً. يُوسَّع كلاهما بعد قراءة الإعدادات كاملة؛ وتُقطع الحلقات، ولا يُنتج اسم المجموعة غير المعروف سوى تنبيه. والأعضاء الذين أدرجتهم بنفسك هم ما يُحفظ. ينقلinclude-other-groupأعضاء المجموعة الأخرى ومزوديها، لا مرشحاتها: فالعقد التي يقدّمها المزوّد تُرشَّح بمعاملاتfilter=وpolicy-regex-filter=وexclude-type=الخاصة بالمجموعة المُضمِّنة نفسها، ولهذا تضبط Streaming أعلاه مرشحاً خاصاً بها — فمن دونه كانت Streaming ستأخذ كل عقد اشتراك Airport. - يُبقي
exclude-type=Shadowsocks|Vmessبروتوكولات كاملة خارج الأعضاء الذين يساهم بهم المزوّد — والسبب المعتاد هو عميل لا يستطيع حمل UDP فوقها. تُفصل الأسماء بـ|، وتُطابَق دون حساسية لحالة الأحرف وبأسمائها البديلة، فـssوShadowsocksيشيران إلى النوع نفسه. ولا يمس الأعضاء الذين أدرجتهم بنفسك، ويُعاد كتابته عند حفظ الإعدادات. - يرسل
underlying-proxy=<policy>(Surge Mac 6.9 / iOS 5.22) أعضاء البروكسي في المجموعة عبر منبع واحد: فكل سياسة بروكسي مُدرجة مباشرة أو جلبهاpolicy-pathأوinclude-all-proxiesأوinclude-other-groupتظهر في المجموعة سياسةً مشتقة باسم "Member (via Upstream)"، تتصل عبر ذلك المنبع بدلاً منunderlying-proxyالخاص بالعضو نفسه. وتُستخدم السياسة الأصلية كما كانت في كل مكان آخر. ولا يتأثر الأعضاء الذين هم مجموعات سياسات (فيمكنهم ضبطunderlying-proxyالخاص بهم)، ويبقىDIRECTوREJECTعلى حالهما. وإذا كانت المجموعة مُسلسلة عبر نفسها، تُرفض الاتصالات التي تمر عبرها وتُسجَّل. - يستبدل
external-policy-modifier="key=value,…"(Surge) هذه المعاملات في كل سياسة مستوردة عبرpolicy-path، كما فيexternal-policy-modifier="test-url=http://apple.com/,tfo=true". ولا يمس إلا السياسات الآتية من الاشتراك؛ ولإرسال المجموعة كلها عبر منبع، استخدمunderlying-proxyأعلاه. - تُقسَّم المعاملات عند الفواصل الواقعة خارج علامات الاقتباس، لذا يجب وضع التعبير النمطي الذي يحتوي على فاصلة — مثل المثال أعلاه — بين علامتي اقتباس.
- المعاملات التي لا يعرفها Chute، مثل
evaluate-before-useوno-alertوicon-urlوpersistent، تُحفظ وتُكتب مجدداً، لكن دون أي تأثير.
مزود البروكسي
يسمح مزودو البروكسي باستيراد قوائم البروكسي من مصادر خارجية (ملفات أو روابط). معرف في القسم [Proxy Provider]:
[Proxy Provider]
MyProvider = url=https://example.com/proxies.yaml, interval=3600
المعاملات
| المعامل | مطلوب | الوصف |
|---|---|---|
type |
لا | http (الافتراضي) أو file. ولمجموعة القواعد صيغة inline أيضاً عبر قسم [Ruleset <name>]؛ أما مزوّد البروكسي فلا صيغة مضمّنة له، وكتابة type=inline هنا لا تضيف أي عضو |
url |
نعم لـ type=http |
رابط لجلب قائمة البروكسي منه |
path |
نعم لـ type=file |
مسار الملف المحلي لقائمة البروكسي |
interval |
لا | عمر التحديث بالثواني (الافتراضي: 86400). في كل مرة تُحمَّل فيها السياسات — عند بدء المحرك وعند إعادة تحميل الإعدادات — تُجلب من جديد في الخلفية النسخة المخزّنة الأقدم من هذه المدة؛ ولا يُحدَّث شيء أثناء عمل المحرك. القيمة 0 لا تحدّث النسخة المخزّنة أبداً، لكن يبقى ثمة جلب أول حين لا توجد ذاكرة مؤقتة؛ أما القيمة السالبة فلا تُجلب إطلاقاً، فيبقى المزوّد خاملاً ما لم توجد ذاكرة مؤقتة صالحة سابقة |
format |
لا | صيغة الحمولة: native أو surge تقرأ قائمة أسطر بأسلوب [Proxy]؛ و auto أو عدم وجود قيمة يختار بحسب المحتوى؛ و mihomo-yaml تقرأ مستند YAML وتعود إلى قائمة الأسطر إذا كانت الحمولة كذلك بوضوح |
filter |
لا | تعبير نمطي للتضمين لمطابقة أسماء البروكسي فقط |
exclude-filter |
لا | تعبير نمطي للاستبعاد لمطابقة أسماء البروكسي |
underlying-proxy |
لا | تتصل كل عقدة من عقد المزود عبر هذه السياسة أو المجموعة (override: dialer-proxy في mihomo) بدلاً من منبع العقدة نفسها. راجع underlying-proxy |
policy |
لا | السياسة أو المجموعة التي تُنزَّل القائمة عبرها (proxy: في mihomo)؛ وللمجموعة يُستخدم اختيارها لحظة بدء التنزيل. بدونها، أو مع DIRECT، تُجلب القائمة مباشرة؛ واسمٌ غير معرّف يرفض التنزيل بدلاً من جلبها مباشرة |
حمولة YAML هي مستند بأسلوب mihomo يحتوي على قائمة
proxies:(أوpayload:)؛ أما حمولة قائمة الأسطر فتضم سطراً واحداً بأسلوب[Proxy]لكل سياسة، مثلName = trojan, example.com, 443, password=….
تتم الإشارة إلى مزودي البروكسي من مجموعات السياسات بالبادئة policy-provider::
[Proxy Group]
MyGroup = select, policy-provider:MyProvider
هذه الصفحة ترجمة للنسخة الإنجليزية. في حال وجود اختلاف، يُعتمد على النسخة الإنجليزية.
ملاحظة: التطبيق لا يدعم اللغة العربية حاليًا.