Chute Dashboard
Chute Dashboard تطبيق macOS مجاني يتصل بنسخة عاملة من Chute — Chute iOS عبر Wi-Fi أو كابل USB، أو Chute Android عبر الشبكة أو adb، أو Chute Mac على الجهاز نفسه — ويعرض ما تفعله تلك النسخة: كل اتصال مع القاعدة والسياسة اللتين حسمتاه، والطلب والاستجابة مفكوكَي التشفير للمضيفين المشمولين بـفك تشفير HTTPS، وإجابات DNS، وجلسات UDP. ويتيح لك أيضاً تشكيل حركة المرور وأنت تراقبها: قائمة مضيفي MitM وكل عائلة من قواعد إعادة الكتابة والاستجابة الوهمية قابلة للتحرير مباشرة.
هذه ليست وحدة تحكم الويب. فوحدة التحكم يقدّمها المحرك نفسه وتُفتح في متصفّح؛ أما Dashboard فتطبيق مستقل يخاطب المحرك عبر قناة التحكم الثنائية، ولذلك يحتاج على الجهاز إلى
external-controller-accessلا إلىexternal-http-controller. يتداخل الاثنان، ولكلٍّ منهما ما ليس عند الآخر — انظر ما لا يصل إليه Dashboard. ويُستثنى من ذلك Dashboard العامل على الـ Mac نفسه الذي يعمل عليه المحرك: فهو يتصل بمقبس محلي يفتحه المحرك دائماً، ولا يحتاج إلى أي إعداد على الإطلاق.
واجهة Dashboard مترجمة إلى اللغات نفسها التي كُتب بها هذا الدليل باستثناء العربية؛ على نظام عربي تظهر بالإنجليزية.
السماح لـ Dashboard بالاتصال
لا شيء يستمع قبل أن يأذن الجهاز.
Chute iOS — في محرر الإعدادات افتح External Controller:
- فعّل External Controller Access — وهو المفتاح الذي تقول حاشيته Allow Chute Dashboard/Chute CLI to Connect.
- اضبط Port و Password. لا يجوز أن تكون كلمة المرور فارغة، ويجب أن تكون من اختيارك: المستمع الذي يمكن الوصول إليه من الشبكة يرفض البدء بكلمة مرور فارغة أو افتراضية.
- اترك Allow Access From Wi-Fi مطفأً ما لم تحتج إليه. الإطفاء هو الافتراضي ويعني أن المستمع يبقى على الهاتف نفسه — كابل USB يصل إليه، أما الأجهزة الأخرى على Wi-Fi فلا. أما التشغيل فيعني أن أي شخص على الشبكة يعرف كلمة المرور يستطيع قراءة كل ما رآه هذا التشغيل.
- احفظ، ثم ابدأ النفق (أو أعد تشغيله). تعرض لوحة التحكم الآن External Access Port:
<port>— هذا السطر هو تأكيد أن المستمع يعمل.
Chute Mac — القيم الثلاث نفسها تُكتب في [General]:
[General]
external-controller-access = password@127.0.0.1:6170
127.0.0.1 يحصره في الـ Mac الذي تجلس أمامه؛ أما عنوان الشبكة المحلية أو 0.0.0.0 فيفتحه للأجهزة الأخرى. في قسم General من نافذة الإعدادات حقول للمفتاح نفسه. أما Dashboard العامل على الـ Mac نفسه فلا يحتاج هذا المفتاح إطلاقاً — انظر Connect to Local Machine أدناه.
Chute Android — في محرر الإعدادات افتح External Controller واكتب القيمة نفسها في External Access:
- تكفي
password@127.0.0.1:6170لـ Connect via USB: يشغّل Dashboard الأمرadb forwardلذلك المنفذ ويتصل عبر الكابل، فيمكن أن يبقى المستمع على الهاتف نفسه. ويتطلب ذلك وجودadbعلى الـ Mac — يبحث عنه Dashboard تحتANDROID_HOMEوANDROID_SDK_ROOT، وفيPATH، وفي/usr/local/binو/opt/homebrew/bin، وفي~/Library/Android/sdk— وتفعيل تنقيح USB على الهاتف مع السماح لهذا الـ Mac. - أما
password@0.0.0.0:6170فيفتحه للشبكة من أجل Connect to Remote Machine. وكما في iOS، يرفض المستمع الذي يمكن الوصول إليه من الشبكة أن يبدأ بكلمة مرور فارغة أو افتراضية.
احفظ، ثم شغّل الـ VPN (أو أعد تشغيله). بعدها يعرض مفتاح External Access في لوحة التحكم العنوان الذي يستمع عليه، ويوقف المستمع ويعيد تشغيله ما دام الـ VPN يعمل.
الاتصال
يفتح Dashboard بنافذة New Dashboard؛ ولكل اتصال نافذته، فيمكن فتح عدة أجهزة في آن واحد. ثلاث طرق للدخول:
| الحقول | متى | |
|---|---|---|
| Connect to Local Machine | لا شيء | Chute Mac على هذا الـ Mac نفسه. يخاطب Dashboard مقبس المحرك المحلي مباشرة — بلا مضيف ولا منفذ ولا كلمة مرور ولا سطر external-controller-access. |
| Connect to Remote Machine | Host و Port و Password | عنوان Wi-Fi للجهاز (iPhone: الإعدادات ← Wi-Fi ← ⓘ)، أو عنوان Mac آخر. يتطلب تشغيل Allow Access From Wi-Fi على الهاتف. |
| Connect via USB | Device و Port و Password | iPhone موصول بكابل ويثق بهذا الـ Mac، أو جهاز Android يراه adb. اختره من Device: وأدخل المنفذ نفسه الذي ضبطته — يعثر Dashboard على قناة الكابل بنفسه، وينفّذ تمرير المنفذ عبر adb لأجهزة Android. يعمل مع إطفاء Allow Access From Wi-Fi، ويُظهر حركة الشبكة الخلوية أيضاً، إذ لا يلزم أن يكون الجهاز على Wi-Fi أصلاً. |
لا يُحفظ الجهاز البعيد إلا إذا حفظته بنفسك: يخزّن Save المضيف والمنفذ وكلمة المرور تحت اسم تختاره، وهذه الأسماء هي ما يسرده تبويب Saved Remote Machine في المرة القادمة.
إن كانت كلمة المرور خاطئة تقول النافذة Password does not match، عبر USB كما عبر الشبكة. وإن تعذّر الوصول إلى الجهاز، تُفتح النافذة مع ذلك وتعرض Connecting…: فمع iPhone عبر USB تبقى عندها بينما يواصل Dashboard المحاولة، حتى يستجيب الهاتف أو تنقر Close، وأي اتصال آخر ينتهي إلى Connection Closed. وإن اختفى الجهاز لاحقاً — توقف النفق، أو انتُزع الكابل، أو غيّر الهاتف شبكته — تُبلّغ نافذة Dashboard Connection Closed وتعرض Reconnect.
النافذة
يبدّل شريط الأدوات بين خمس طرق عرض — Recent و Active و DNS و UDP و MitM — وحقل Filter على يمينه صندوق بحث عن نمط المضيف، مشترك مع شريط التصفية. ويظهر ذلك الشريط وحده في Recent و Active، ويختفي في DNS و UDP و MitM. اللوحة في الأسفل يساراً هي سرعة الرفع والتنزيل الحيّة؛ انقرها لبسط الرسم البياني.
تحمل طريقتا العرض Recent و Active كلٌّ منهما زر Reload، وتحمل Recent زر Clean الذي يفرّغ القائمة. وإلى جانبهما مفتاحان يعملان على المحرك العامل، تماماً كمفاتيح التطبيقات:
- Enable Traffic Capture ← Disable Traffic Capture: يشغّل التقاط أجسام الطلبات والاستجابات (الإعداد
replica). بدونه تظهر الصفوف بمعلومات توجيهها، لكن تبويبات البيانات لا يمكن اختيارها. ويظل الزر يعرض Traffic Capture إلى أن يُبلّغ الجهاز عن وضعه الحالي. - Enable MitM (N rules) ← Disable MitM (N rules): يشغّل فك تشفير HTTPS للمضيفين الـ N في قائمة مضيفي MitM؛ ومع قائمة فارغة يُحذف العدد. لا يفعل المفتاح شيئاً مفيداً قبل أن يكون على الجهاز CA موثوق ومضيف واحد على الأقل — انظر صفحة فك تشفير HTTPS.
لا يعدّل أيٌّ من المفتاحين ملف الإعدادات؛ وإعادة التشغيل تعيد ما يقوله الملف.
يجمّع الشريط الجانبي الاتصالات حسب العميل: All Clients، ثم Local لعملاء الجهاز نفسه و Remote للأجهزة الأخرى التي تستخدم هذا الـ Chute بروكسياً. اختيار أحدها يحصر كل قائمة فيه. وحين يكون الجهاز Chute Mac، فالعملاء المحليون هم التطبيقات بالاسم والأيقونة، وفي قائمة السياق Show in Finder.
Active و Recent
Active هو المفتوح الآن؛ و Recent هو سجل الجهاز، يُقرأ من سجلات التشغيل ويُرتَّب برقم الاتصال — والأحدث في الأسفل. وانقر رأس عمود لترتّب حسبه بدلاً من ذلك. يتشارك الاثنان مجموعة أعمدة واحدة:
| العمود | |
|---|---|
| ID | رقم الاتصال في المحرك — الرقم نفسه الذي تعرضه وحدة التحكم والتطبيقات |
| Date، Duration | متى بدأ، وكم يستمر أو استمر |
| Client | العملية (Chute Mac)، أو اسم حزمة التطبيق (Chute Android)، أو العنوان المحلي |
| Method، Server، Status | Method هو نوع الاتصال — HTTP أو HTTPS أو SOCK أو TCP أو UDP، لا فعل الطلب؛ و Server هو الوجهة host:port؛ و Status حالة الاتصال: Active أو Completed أو Suspend |
| Policy | السياسة التي اختارتها القاعدة |
| Upload، Download | البايتات في كل اتجاه |
| Flags | ما فعله Chute بالاتصال — انظر مفتاح الرموز أدناه |
عمود Flags أسرع طريقة لمعرفة ما إذا كانت قاعدة كتبتها تُطبَّق:
| العلامة | المعنى |
|---|---|
M |
مفكوك التشفير (اعترضه MitM) |
H |
عُدّلت ترويسة |
B |
غيّرت قاعدة إعادة كتابة المحتوى أو سكريبت جسماً |
R |
عملت قاعدة إعادة كتابة |
K |
أجابت قاعدة استجابة وهمية بدلاً من الخادم |
ولا يُعلَّم B إلا إذا تغيّر مضمون الجسم: فالجسم الذي احتجزه Chute لمطابقته بالقواعد فحسب، أو أعاد تقطيعه أو ضغطه دون أن يغيّر مضمونه، لا يُعلَّم.
يحتفظ Recent بما يصل إلى 5000 صف؛ Load Older في أسفل القائمة يجلب الصفحة التالية من الجهاز، والقائمة تحدّث نفسها كل بضع ثوانٍ. وحين تكون القائمة النشطة أطول مما تحمله حزمة تحكم واحدة، تقول ملاحظة تحت الجدول إن المحرك اقتطعه — الصفوف موجودة على الجهاز، وسيعرضها Recent متى أُغلقت.
النقر بالزر الأيمن على صف يعرض Copy curl Command و Export Selected as HAR… / CSV… و Export All as HAR… / CSV… و Set Filter to <host>؛ ويعرض الصف النشط أيضاً Kill Connection الذي يغلقه على الجهاز. والنقر بالزر الأيمن داخل تحديد من عدة صفوف يُبقي التحديد، فيأخذ Export Selected as HAR… / CSV… كل الصفوف المحددة؛ أما الأوامر الخاصة باتصال واحد فتعمل على الصف الذي نقرت عليه. وأربعة أوامر أخرى تعمل على قواعد الجهاز لذلك المضيف، وهي أقصر طريق من اتصال تنظر إليه إلى القاعدة التي تغيّره: Add MitM Rule for و Enable MitM for و Add Header Rewrite for و Add Body Rewrite for <host>.
ملاحظة: الصف اتصال لا طلب. اتصال keep-alive حمل عدة طلبات يبقى صفاً واحداً، والبيانات الملتقطة تحوي تلك الرسائل كلها متتالية؛ والترويسات المعروضة هي لأحد تلك الطلبات. لذلك يُنتج متصفّح يفتح صفحة صفوفاً أقل من عدد موارد الصفحة.
شريط التصفية
يضيّق شريط التصفية ما يُعرض. لا يغيّر ما يسجّله الجهاز — ولتغيير ذلك استخدم [Replica] على الجهاز.
| عنصر التحكم | الخيارات |
|---|---|
| Filter Host/URL… | نص يُطابَق مع المضيف، وhost:port، والعملية أو التطبيق، والسياسة، والقاعدة، ونوع الاتصال — لا مع مسار الرابط |
| Method | GET، POST، PUT، DELETE، PATCH، HEAD، OPTIONS، CONNECT |
| Status | 1xx – 5xx |
| Traffic | Active، Completed، Suspend |
| Type | JSON، HTML، XML، Image، Text، Binary — من نوع محتوى الاستجابة |
| Duration | < 100ms، 100ms–1s، 1s–5s، > 5s |
| Size | < 1 KB، 1–100 KB، 100 KB–1 MB، > 1 MB |
| MitM Only | الاتصالات مفكوكة التشفير فقط |
| Modified | الاتصالات التي غيّرت قاعدةٌ ترويساتها، أو غيّرت قاعدةٌ أو سكريبتٌ جسمها — H أو B. والصف الذي يحمل R وحدها أو K وحدها لا يمرّ. |
Clear Filters يعيد كل شيء.
تفاصيل الاتصال
اختر صفاً فتُفتح تفاصيله في لوحة تحت القائمة. التبويبات من اليسار إلى اليمين:
General — ما تعرضه القائمة، مبسوطاً: نوع الاتصال ورمز الحالة؛ ووضع الخروج والسياسة والقاعدة المطابِقة؛ وحجم البيانات وذروة السرعة؛ والعنوانان المحلي والبعيد؛ ووقت البدء؛ وحالة SSL/MitM (Intercepted أو Header Modified أو Body Modified أو Mocked)؛ و Rules Fired — قواعد إعادة الكتابة والاستجابة الوهمية التي غيّرت هذا الاتصال، منقولة بنص القاعدة نفسها. والقائمة محدودة من الطرفين: يحتفظ المحرك بـ 16 إصابة على الأكثر لكل اتصال، ويعرض Dashboard ثمانياً منها ثم يُلحق … N more، فالقاعدة التي تنطلق مع كل كتلة تزاحم البقية.
Timing — فيمَ صُرف إعداد الاتصال، كما قاسه المحرك:
| السطر | يُحسب من ← إلى |
|---|---|
| Proxy Ready Cost | وصول اتصال العميل ← جاهزية Chute لمعالجته |
| DNS Resolve | ← تحليل الاسم (غائب حين لا تحتاج القاعدة إلى عنوان) |
| Rule Cost | ← حسم جدول القواعد |
| Remote Ready Cost | ← اتصال المخرج المختار وجاهزيته |
| Active | عمر الاتصال كله، من وصوله إلى إغلاقه |
السطر الذي قيمته صفر يُحذف بدل أن يُعرض صفراً، فالاتصال الذي لم تحتج قاعدته إلى عنوان لا يحمل سطر DNS Resolve أصلاً. والطلب البطيء يكون بطيئاً غالباً في سطر واحد بالضبط من الأسطر الأخرى، وأيّ سطر هو يدلّ على موضع البحث: DNS في قسم DNS، و Remote Ready في السياسة أو الخادم خلفها.
Req Hdr / Resp Hdr — الترويسات جدولاً، مع Query Parameters و Cookies مفصولةً للطلب و Cookies للاستجابة. الترويسة التي عدّلتها قاعدة مميّزة. Copy Selected ينسخ الصفوف المحددة.
Req Data / Resp Data — الجسم الملتقط بصيغة Hex أو Text أو JSON (شجرة قابلة للبسط مع بحث) أو Image (Fit / Actual Size)؛ ويُفتح بصيغة Text أياً كان الجسم، وأجسام multipart تُقسَّم إلى أجزائها. Export as bin يحفظ البايتات الخام، ويعرض عرض Text أيضاً Open in Sublime Text و Open in VSCode حين يكون أحدهما مثبّتاً. ولا يمكن اختيار هذين التبويبين إلا إذا وُجدت بيانات ملتقطة: كان التسجيل مفعّلاً حين جرى الاتصال، وسمحت مرشّحات [Replica] بالمضيف.
ملاحظة: تُعرض الأجسام كما التُقطت. الاستجابة المضغوطة —
Content-Encoding: gzip— لا تُفكّ هنا، فعرضها في Text و JSON ضجيج؛ أما عرض Hex و Export as bin فيعطيانك البايتات لفكّها في مكان آخر. يرفض الجهاز تسليم جسم يتجاوز 2 MiB — فيعرض التبويب حينها Unable to load this body — ويعرض Hex أول 1 MiB.
DNS و UDP
DNS هو ذاكرة محلِّل الجهاز المؤقتة: كل نطاق مع العناوين التي حُلّ إليها، والخادم الذي أجاب أولاً (يسأل Chute كل الخوادم المضبوطة معاً — انظر DNS)، و TTL ومصدر السجل. وذلك العمود الأخير هو المصدر — Config أو System أو Dynamic — لا نوع سجل DNS. ويُبلَّغ عن TTL بما لا يقل عن 600 ثانية، فالأقصر منها يظهر 600.
الزر الأيمن يعرض Copy Domain و Copy IPs و Copy DNS Server و Set Filter to <domain>؛ ويعرض السجل المحلول ديناميكياً أيضاً Delete DNS Record of <domain>. و Purge DNS Cache في الأسفل يفرّغ الذاكرة المؤقتة كلّها. وهذان الأخيران يعملان على ذاكرة الجهاز المؤقتة لا على عرض Dashboard لها.
UDP يسرد جلسات UDP — المضيف والخادم والسياسة والحالة. لا أجسام لـ UDP.
أدوات MitM
تدير طريقة العرض MitM عائلات القواعد الخمس على الجهاز في خمس لوحات: MitM Rules و Header Rewrite و Body Rewrite و Mock Response و URL Rewrite. ما يصحّ عليها جميعاً:
- القائمة هي نسخة القواعد لدى المحرك العامل، وتبدأ بما أعلنه ملف الإعدادات.
- إضافة قاعدة ترسلها إلى الجهاز الذي يحلّلها كما يحلّل سطر إعداد؛ والسطر الذي لا يُحلَّل يُرفض بخطأ ولا يُخزَّن. ويُستثنى مضيف MitM Rules: فهو نمط لا سطر قاعدة، وأي سلسلة غير فارغة تُلحَق كما كُتبت.
- التغييرات تعيش في المحرك العامل فقط. لا تُكتب في ملف الإعدادات، وإعادة التحميل أو التشغيل تعيد ما يقوله الملف. استخدم اللوحات لإيجاد القاعدة التي تعمل، ثم اكتبها في الإعداد.
- هل تُطبَّق القاعدة؟ يظهر ذلك في عمود Flags بالقائمة (
R،K) وفي Rules Fired بلوحة التفاصيل.
MitM Rules — نمط مضيف واحد لكل قاعدة، host[:port][/path]، مع البادئة - للاستثناء: *.google.com، api.example.com:8443، api.example.com/v2/*، -*.apple.com. الصيغة نفسها التي يقبلها مفتاح hostname في صفحة فك تشفير HTTPS. والعدد على مفتاح MitM في شريط الأدوات هو طول هذه القائمة.
Header Rewrite — نموذج: URL Regex، و Request أو Response، و Add / Replace / Delete / Replace (regex)، و Header Name، و Header Value؛ ومع Replace (regex) يُضاف Value Regex، ويُستبدَل ما يطابقه في قيمة الترويسة بقيمة Replacement. يركّب Dashboard سطر الإعداد لك؛ والصيغة موضحة في صفحة إعادة كتابة الترويسات.
Body Rewrite — سطر إعداد واحد يُكتب كما تكتبه في الملف، بأيٍّ من الصيغ التي يقرؤها المحرك: صيغة Surge http-response url-regex pattern replacement (أو http-request)، وصيغتها http-response-jq url-regex jq-program (أو http-request-jq)، و url-regex response regex pattern replacement (أو request)، و url-regex jsonpath-response jsonpath $.path value (أو jsonpath-request). انظر إعادة كتابة المحتوى.
Mock Response — URL Regex، ونوع Response Body: file (مسار، مع Browse…) أو text أو base64 أو tiny-gif (صورة GIF شفافة مدمجة بحجم 1×1 بلا محتوى)، و Status Code اختياري، و Response Headers اختيارية بصيغة Name: Value مفصولة بـ |.
ملاحظة: مسار
fileيقرؤه الجهاز الذي يشغّل Chute وقت الطلب. المسار على الـ Mac له معنى حين يتصل Dashboard بـ Chute Mac على الجهاز نفسه، ولا معنى له حين يتصل بـ iPhone — فلا/Users/…على الهاتف. للجهاز البعيد اخترtextأوbase64لينتقل المحتوى داخل القاعدة (انظر استجابة وهمية)، أو قدّم الملف من رابط واستخدم URL Rewrite.
URL Rewrite — URL Regex و Target و Type: header يعيد كتابة الطلب في مكانه (Map Remote عند Surge)، و 302 و 307 يعيدان توجيه العميل، و reject و reject-200 و reject-img و reject-dict و reject-array و reject-tinygif تجيب دون الاتصال بالخادم. انظر إعادة كتابة الرابط.
التصدير
- HAR — الزر الأيمن على القائمة: الصفوف المحددة أو كلها، ملف HAR 1.2 تفتحه في أدوات مطوّري المتصفّح (Network ← استيراد) أو Charles أو Proxyman. مُدخل لكل صف فيه طلب HTTP ملتقَط؛ أما البقية — كـ TCP الصرف مثلاً — فتُستبعد، ويذكر تعليق الملف (comment) عددها. وتُضمَّن الأجسام إن كان التسجيل مفعّلاً: يجلبها Dashboard من الجهاز أولاً، تحت لوحة تقول Exporting HAR… — Fetching the captured bodies from the device. — مع شريط تقدّم وزر Cancel الذي يُلغي التصدير. والجسم الذي يتجاوز 512 KiB يُسجَّل بحجمه فقط، ولا يحمل التصدير الواحد أكثر من 64 MiB من الأجسام.
- CSV — مجموعة ثابتة من الأعمدة لجدول بيانات:
ID,Method,URL,Status Code,Status,Duration,Upload,Download,Process,Start Time. وهي ليست أعمدة القائمة نفسها؛ فلا عمود Date ولا Client ولا Server ولا Policy ولا Flags فيها. وMethodهو طريقة الطلب وURLهو العنوان الكامل، كما في تصدير HAR: فحركة HTTPS التي مرت عبر بروكسي HTTP دون فك تشفيرها تعطيCONNECTوhttps://host. أما الصف الذي لا طلب HTTP فيه — TCP مجرد، أو HTTPS نقلها TUN دون فك تشفيرها — فيعطي نوع الاتصال والمضيف بدلاً منهما. - Copy curl Command — استدعاء
curlيكرّر الطلب من الـ Mac بطريقته (method) وترويساته وجسمه؛ ويُجلب الجسم من الجهاز أولاً. ويُترك حسابContent-Lengthلـ curl. أما الصف الذي ليس إلا نفقاً — CONNECT لم يُفكّ تشفيره، أو TCP صرف — فلا يعطي إلاcurlوالرابط. - Export as bin — جسم واحد كما التُقط.
يبني Dashboard ملف HAR من القائمة ومن الأجسام التي يجلبها من الجهاز. ويستطيع المحرك بناء واحد بنفسه — بالقاعدة المطابِقة والسياسة وإعادات الكتابة التي عملت في كائن _kl لكل مُدخل، وبأزمنة إرسال واستقبال مأخوذة من الالتقاط — عبر Export HAR (تصدير HAR) في وحدة التحكم أو GET /api/connections/export?format=har.
ما لا يصل إليه Dashboard
يخاطب Dashboard قناة التحكم الثنائية للمحرك، وبعض ما يستطيعه المحرك موجود فقط في HTTP Control API. لهذه استخدم وحدة تحكم الويب أو الواجهة البرمجية:
- حزمة التشخيص والصحة وعدّادات الرفض والأحداث؛
- مجاميع الإصابات لكل قاعدة في صفحة Rules بوحدة التحكم، والجواب الذي تعطيه: هل عملت هذه القاعدة يوماً؛
- ملف HAR الذي يبنيه المحرك نفسه، أعلاه؛
- السجل.
وأمر آخر يجدر بك معرفته قبل الاعتماد عليه:
- على iPhone و Apple TV و Android، فك تشفير HTTPS والتقاط الأجسام ميزتان مرخّصتان. بلا ترخيص يتصل Dashboard ويعرض كل اتصال بقاعدته وسياسته، لكن صفوف HTTPS لا يُفك تشفيرها أبداً — بلا علامة
M— وتبويبات البيانات لا يمكن اختيارها. وعلى iPhone و Android لا يبقى مفتاح MitM في التطبيق مفعّلاً، بل تظهر دعوة للشراء بدلاً من ذلك؛ أما Apple TV فلا يحمل صف MitM في شاشة التحكم أصلاً. انظر الترخيص والتفعيل.
هذه الصفحة ترجمة للنسخة الإنجليزية. في حال وجود اختلاف، يُعتمد على النسخة الإنجليزية.
ملاحظة: التطبيق لا يدعم اللغة العربية حاليًا.