الحالة والسرعة

أسباب تعذّر الاتصال، واختبارات السرعة، والتقطّع، وسجل المسارات، والانقطاعات، والتقارير لمزوّد الخدمة.

عندما يتعذر اتصال شيء ما

يفحص kilobat why <host> (MCP: diagnose_connection) مضيفًا واحدًا طبقة بعد طبقة من هذا الـ Mac دون تشغيل curl أو nc، فلا يستطيع ملف تعريف صارم حظر الفحص نفسه. يجرّب IPv4 وIPv6 منفصلين، فتحصل شبكة IPv6 المعطّل فيها، وهو سبب شائع لتعليق الوكلاء أو استمرار إعادة الاتصال، على إجابة واضحة. يذكر الواجهة المستخدمة مثل Wi-Fi أو نقطة اتصال هاتف أو VPN، ويجرب كل واجهة عند تعددها. يبلّغ عن الوكيل الذي يختاره النظام أو ملف PAC، ومع --app يبلّغ عن HTTPS_PROXY في بيئة ذلك التطبيق دون كلمات سر. عند تشغيل VPN أو وكيل، يقارن المسار المباشر بالنفق. يذكر الاسم الخاص المرسل إلى محلّل VPN الخاص أي محلّل استُخدم وما إذا كان يجيب. للتعليمات البرمجية في حاوية أو جهاز افتراضي أو جهاز بعيد شبكة خاصة: مرّر --context وينتهي التقرير بأمر لتشغيله هناك. عندما تقدم خدمة مستضافة الطلب من خوادمها، كما يفعل Warp لنقطة استدلال مخصصة، يذكر --context provider متى يكون الهدف خاصًا (localhost أو عنوان LAN أو Tailscale) وبالتالي خارج نطاق وصولها رغم أنه يعمل من الـ Mac.

أعطه URL الفاشل بدقة، بما فيه الاستعلام: يطلب ذلك URL، لكن كل المخرجات تعرض قيم الاستعلام كـ [redacted]، فيبقى رابط التنزيل الموقّع خاصًا. يرسل الطلب كما يفعله التطبيق: عبر HTTPS_PROXY الخاص به أو وكيل النظام أو، باستخدام --proxy <url>، عنوان وكيل يضبطه التطبيق في إعداداته. عندما يعمل الوكيل ولا تعمل الاتصالات المباشرة، كما في شبكات شركات كثيرة، يذكر ذلك بدلًا من الفشل؛ وعندما تعمل الاتصالات المباشرة ويفشل الطلب عبر وكيل التطبيق، يذكر أن الشبكة سليمة ومسار التطبيق ليس كذلك. يحصل الإعداد الذي لا يستطيع قراءته أو المرور عبره، مثل مفتاح وكيل Hugging Face في LM Studio لتنزيلات huggingface.co، على ملاحظة خاصة تستشهد بما أبلغ عنه المستخدمون، وتقول النتيجة إن الشبكة تصل إلى المضيف، لا إن طلب التطبيق يعمل. لا يغيّر Kilobat إعدادات تطبيق آخر أبدًا. يحصل الخادم الذي يرفض HEAD على طلب GET واحد لبايت واحد، وليس تنزيلًا. يتبع حتى خمس إعادات توجيه، ويذكر القفزة الفاشلة، ويفحص IPv4 وIPv6 للمضيف الذي تنتهي عنده الإعادات. مع --app يسرد اتصالات التطبيق المفتوحة بذلك المضيف أو وكيله، ويذكر استخدام إصدار IP أو خادم مختلف عن الفحص الجديد، وينظر مجددًا بعد بضع ثوانٍ: يُبلّغ عن النقل الذي هدأ بأنه هادئ، لا أنه اكتمل. يسجّل التقرير اسم التطبيق وإصداره والطريقة المرسلة والمسار، ومع --failed-at وقت فشل التطبيق بجوار وقت إجراء الفحص. يعني نجاح الفحص أن هذا الطلب يعمل الآن من هذا الـ Mac عبر ذلك المسار؛ ولا يستطيع رؤية حالة نقل جارٍ بالفعل، فراقبه باستخدام kilobat bandwidth <app>.

عندما ينتمي المضيف أو التطبيق إلى خدمة لها صفحة حالة عامة، مثل slack.com أو GitHub، ينتهي الفحص بطبقة صفحة الحالة التي تعرض ما تبلّغ به الصفحة. إذا أبلغت الصفحة عن انقطاع ولم يفشل شيء على هذا الـ Mac، تبدأ الخلاصة به: «Slack متوقف لدى الجميع، وليس لديك وحدك»، مع عنوان الحادث ورابطه. إذا فشلت شبكة هذا الـ Mac نفسها، يكون الانقطاع ملاحظة جانبية. وتُذكر الصفحة السليمة كذلك. راجع هل المشكلة لديهم أم لديّ؟ عندما يحتمل أن تكون الشبكة نفسها سبب الفشل، توضح طبقة حظر الشبكة ما إذا كانت تحظر الموقع، وعندما ترفض الخدمة الموقع الذي يبدو اتصالك فيه، توضح طبقة المنطقة ذلك؛ ويتصدر أي منهما الخلاصة. راجع محظور هنا، وليس متوقفًا.

لماذا تختلف اختبارات السرعة

يرسل اختبار سرعة Kilobat اتصال HTTPS واحدًا في كل مرة إلى أقرب مركز بيانات لـ Cloudflare، لمدة 8 ثوانٍ في كل اتجاه وبحد أقصى 80 MB، ويقيس استجابة 1.1.1.1 قبل عمليات النقل وأثناءها. تفتح Speedtest by Ookla وfast.com وأداة macOS networkQuality عدة اتصالات في آن واحد وتختار خوادمها، لذا تعرض عادةً أرقامًا أعلى على الاتصالات السريعة أو البعيدة. اختر 4 اتصالات بجوار زر الاختبار في علامة السرعة، أو شغّل kilobat speedtest --parallel، لترى مدى تأثير ذلك في اتصالك. يحتفظ كل اختبار محفوظ بمركز بيانات Cloudflare وعدد الاتصالات والرابط (نطاق Wi-Fi والقناة والإشارة ومعدل الرابط، أو Ethernet) وVPN الذي مرّ عبره ومقدار حركة البيانات الأخرى على الـ Mac أثناء الاختبار. يضع السجل ‹ مقارنة اختبارات السرعة وkilobat speed-compare وMCP compare_speed_tests اختبارين جنبًا إلى جنب ويسرد الفروق مع ملاحظة عن تأثير كل منها في النتيجة. تسرد الفروق لا الأسباب؛ إذ تتنافس الأجهزة الأخرى على شبكتك أيضًا ولا يراها Kilobat.

سجل المسارات

تتبع الأدوات ‹ DNS وLAN ‹ التتبع 3 مرات، أو kilobat trace <host> --rounds 3، المسار ثلاث مرات بثلاثة مسابير لكل قفزة وتحفظ كل تتبّع. يجمع السجل ‹ المسارات المحفوظة كل التتبعات المحفوظة إلى مضيف قفزة بقفزة، مثل mtr: الفقد وأفضل ومتوسط وأسوأ وآخر تأخير، والقفزات التي تغيرت موجّهاتها وموضع بدء التأخير المستمر. القفزة التي تتخطى الردود بينما تجيب القفزات اللاحقة تعني أن الموجّه يحدّ معدل المسابير، وليس فقدًا. للشبكة المحلية وحدها، يشغّل kilobat lan-test <device> اختبار iperf3 لمدة خمس ثوانٍ مقابل جهاز يشغّل iperf3 -s؛ ثبّت iperf3 بنفسك، فلا يثبّت Kilobat أي شيء.

اختبار التقطع

قد تتقطّع المكالمات وبث الألعاب وسطح المكتب البعيد رغم أن السرعة والفقد يبدوان جيدين، لأن ارتفاع استجابة ping بضع مئات المللي ثانية يختفي في المتوسط. يقيس اختبار التقطّع في الصحة استجابة الموجّه (أو الإنترنت) كل 50 ms لمدة 20 ثانية، ويرسم كل استجابة باللون الوردي للارتفاعات، مع الوسيط والمئين 95 والمئين 99 وأسوأ استجابة. ويخبرك إن كانت الارتفاعات تتكرر بانتظام، وهو ما يشير غالبًا إلى مسح AirDrop/AWDL، أو تحدث عشوائيًا، ما يشير إلى ازدحام الشبكة أو التداخل أو ضعف الإشارة. لا تجيب موجّهات كثيرة إلا عن نحو عشرة طلبات في الثانية؛ يتعرف Kilobat على هذا النمط ولا يحسبه فقدًا. مع Pro، يعيد المقارنة مع زمن الاستجابة المنخفض الاختبار بعد إيقاف AirDrop/AWDL مؤقتًا ويخبرك إن أفاد ذلك.

يوقف نمط زمن الاستجابة المنخفض AirDrop وSidecar وUniversal Control مؤقتًا لمدة 15 دقيقة أو ساعة أو ساعتين، أو حتى إغلاق تطبيق مثل اللعبة أو المكالمة، وبحد أقصى 4 ساعات. يعيدها دائمًا عند انتهاء الوقت أو إغلاق التطبيق أو Kilobat أو تغير الشبكة، وعند التشغيل التالي إذا تعطل الـ Mac. يطلب macOS موافقة المسؤول. تعرض لوحة «القريب» في الصحة أيضًا ما إذا كان راديو AirDrop نشطًا وما يستخدمه، ومستوى ظهورك في AirDrop، وأجهزة Bluetooth التي تشارك Wi-Fi نطاق 2.4 GHz عندما تطلب ذلك.

تعرض قائمة Wi-Fi أجهزة Bluetooth أسفل الشبكات: اضغط أحدها للاتصال أو قطع الاتصال. تشير علامة 2.4 GHz إلى سماعات الرأس ولوحات المفاتيح والفأرات المتصلة التي تشارك Wi-Fi النطاق، مع اختصار إلى شبكة 5 GHz معروفة. أسفلها AirDrop، مع مستوى ظهوره وما يستخدم الرابط وإيقاف زمن الاستجابة المنخفض مؤقتًا. لا تظهر Bluetooth إلا بعد اختيار «إظهار أجهزة Bluetooth»، فلا يطلب macOS الوصول إلا عندئذٍ.

هل المشكلة لديهم أم لديّ؟

عندما لا يفتح Slack أو Zoom أو GitHub، يكون السؤال: هل المشكلة في اتصالك أم في خدمتهم؟ يقرأ Kilobat صفحات الحالة العامة لأكثر من سبعين خدمة مستخدمة على Mac، بما فيها مزوّدو الذكاء الاصطناعي (راجع وكلاء الذكاء الاصطناعي أدناه): Zoom وSlack وMicrosoft Teams Free وOutlook.com وOneDrive وGoogle Meet وGmail وGoogle Drive وDocs وCalendar وChat وDiscord وGoTo Meeting وFaceTime وiMessage وiCloud وApp Store وApple Music وApple TV وDropbox وBox وNotion وAirtable وProton و1Password وFigma وCanva وMiro وLinear وAsana وJira وConfluence وTrello وGrammarly وClaude وChatGPT وPerplexity وCursor وGitHub وGitLab وBitbucket وnpm وDocker وPostman وVercel وNetlify وSupabase وCloudflare وTailscale وEpic Games وReddit. يطابق كل تطبيق بمعرّف حزمته وكل موقع بنطاقه. يعرض kilobat down --list كل صفحة والعنوان الذي يقرأه Kilobat.

لا يستعلم إلا لسبب: عند فتح الصحة وتأكد سلامة اتصالك، للتطبيقات في المقدمة أو التي تنقل بيانات؛ وعندما يحدد فحص اتصال مضيفًا أو تطبيقًا له صفحة حالة؛ وعندما تتجمّد مكالمة بعد الموجّه؛ ومرة كل دقيقة عندما يستمر تطبيق له صفحة حالة في الفشل بفتح اتصالات (اتصالات تنتظر رد الخادم في عينتين متتاليتين) مع سلامة اتصالك. عندئذٍ يخطرك مرة لكل حادث، مثل «يواجه Slack انقطاعًا»، مع زر يفتح صفحة الحالة. تُحفظ إجابة كل صفحة ثلاث دقائق، وينتظر خمس ثوانٍ كحد أقصى. أوقف الإشعارات في الإعدادات ‹ المراقبة ‹ أخبرني عند تعطل خدمة أستخدمها. تظهر الانقطاعات أعلى الصحة وفي صف الخدمات بالقائمة والنظرة العامة، ولا يظهر الصف إلا عند وجود مشكلة في خدمة تستخدمها.

يكرر Kilobat ما تقوله الصفحة فقط. يقول إن الخدمة متوقفة لدى الجميع فقط عندما تبلغ صفحتها عن انقطاع، وإن المشكلة «ليست لديك» فقط عندما يجتاز اتصالك الفحص؛ وعندما تكون الصفحة خضراء يقول إنها لا تبلّغ عن مشكلات، ولا يعتبر الصفحة التي لا يستطيع قراءتها انقطاعًا. لا تنشر بعض الخدمات حالة عامة: Webex وTeams للعمل أو المدرسة (تظهر حالته للمسؤولين) وSpotify وSteam وWhatsApp وTelegram وSignal. تُفحص المكالمات والمواقع في المتصفح عبر فحص اتصال، لأن Kilobat لا يرى الموقع المفتوح في علامة التبويب. في Terminal، استخدم kilobat down slack أو kilobat down github.com أو kilobat down للتطبيقات العاملة الآن؛ ويستخدم الوكلاء service_status. هذا مجاني.

وكلاء الذكاء الاصطناعي ومقدمو النماذج

تنقسم صفحات حالة ذكاء اصطناعي كثيرة إلى أجزاء، ويقرأ Kilobat الجزء الذي يستخدمه كل تطبيق: تتضمن صفحة Anthropic أقسام claude.ai وClaude API وClaude Code، فلا يُحسب انقطاع claude.ai على Claude Code، بينما يُحسب حادث API يذكر Claude Code. تقسّم صفحة OpenAI بين ChatGPT وCodex وAPI؛ وتفصل GitHub خدمة Copilot عن البقية؛ وتضم صفحة Cursor المحرّر وCLI الخاص به. عندما لا تذكر الصفحة أي جزء منها، تُحسب الصفحة كلها. الخدمات المشمولة: Claude وClaude Code وClaude API؛ وChatGPT وCodex وOpenAI API؛ وGitHub Copilot؛ وCursor وCLI الخاص به؛ وGemini Code Assist (الذي يستخدمه Gemini CLI عند تسجيل الدخول عبر Google) وVertex AI من موجز Google Cloud؛ وMistral وGroq وCohere وFireworks AI وTogether AI وHugging Face وPerplexity؛ وWindsurf وZed وWarp وReplit وLovable وBolt وv0.

تُطابق وكلاء البرمجة حسب العملية (claude وcodex وgemini وcursor-agent وcopilot)، ويُطابق أي تطبيق حسب API الذي يتصل به: يبحث Kilobat عن عناوين api.anthropic.com وapi.openai.com وapi.githubcopilot.com وapi.mistral.ai وapi.groq.com ومضيفي API للمزوّدين الآخرين بمجرد تعثّر اتصال، ويحتفظ بها عشر دقائق. وهكذا يُكتشف أيضًا وكيل مثل Aider، الذي يستخدم المزوّد الذي أعددته، أو محرّر يستدعي Claude API. عندما يستمر أحدها في فشل الاتصال مع سلامة خطك وإبلاغ المزوّد عن مشكلة، يسمّي الإشعار الطرفين: «Claude Code: تبلّغ Anthropic عن انقطاع — ليس اتصالك». يمكن للوكيل العالق في الأخطاء الاستعلام بنفسه: kilobat down claude-code أو kilobat down api.openai.com أو أداة MCP service_status؛ ويسرد kilobat down claude وkilobat down openai كل أجزاء تلك الصفحة.

غير مشمولة لعدم وجود مصدر حالة عام يستطيع Kilobat قراءته: Grok وواجهة xAI API (ترفض صفحتها الطلبات خارج المتصفح)، وDeepSeek وOpenRouter وReplicate (أصبحت حالتها جزءًا من صفحة Cloudflare)، وJetBrains AI وKiro وAmazon Q (خلف تسجيل دخول AWS)، وGemini API في Google AI Studio. يعمل Ollama وLM Studio على الـ Mac لديك.

محظور هنا، وليس متوقفًا

قد تعني صفحة حالة سليمة وموقع لا يزال لا يُحمّل أن شبكتك تحظره: Wi-Fi في فندق أو مطار، أو شبكة مدرسة أو مكتب، أو شركة اتصالات، أو قواعد بلد. عندما يشير فحص اتصال أو kilobat down أو تطبيق يفشل إلى ذلك، يقيس Kilobat الأمر ويوضحه، مثل «يبدو أن Slack محظور على هذه الشبكة، وليس متوقفًا: لا يُترجم اسمه هنا، بينما يعيد محلّل آمن عنوانه الحقيقي». يذكر نوع الشبكة (شبكتك المنزلية كما حددتها في الأجهزة، أو بيانات الهاتف أو نقطة اتصاله، أو Wi-Fi عامة عرضت صفحة تسجيل دخول، أو Wi-Fi عادية) ويقترح خيارات محايدة فقط: شبكة أخرى، أو بيانات الهاتف أو التجوال، أو سؤال من يدير هذه الشبكة. يقيس Kilobat الحظر؛ ولا يساعد على تجاوزه أو يقترح طريقة لذلك مطلقًا.

ما يُحتسب والاختبار الضابط اللازم لكل حالة:

  • العبث بـ DNS. يقول DNS على هذا الـ Mac إن الاسم غير موجود، أو لا يجيب، أو يرد بعنوان لا تستخدمه خدمة عامة (0.0.0.0 أو 127.0.0.1 أو عنوان خاص)، أو يعيد العنوان نفسه لاسم مختلق، أو يرسله إلى خادم لا يستطيع عرض شهادة صالحة للاسم، بينما يعيد سؤال DNS-over-HTTPS واحد إلى محلّل DNS الموثوق عنوانًا عامًا يستطيع ذلك. أما العنوان المختلف الذي يعرض شهادة صالحة أو يقع في نطاق العناوين نفسه فيعني أن CDN يختار خادمًا قريبًا، وليس عبثًا. ولا تُحتسب الأسماء غير الموجودة لدى المحلّل الموثوق أيضًا، أو فشل DNS لكل الأسماء، أو DNS المنقسم للنطاق عبر VPN أو الشركة، أو الأسماء التي لا تعرفها إلا الشبكات الخاصة.
  • قطع اتصال آمن. يُفتح الاتصال، ثم يُعاد ضبط مصافحة TLS أو تصمت فور تسمية الموقع، مرتين، بينما يجيب الخادم نفسه عند تسميته موقعًا آخر. أما الخادم الذي لا يجيب لأي اسم، أو المحاولة الثانية الناجحة، أو الاتصال الذي لا يُفتح أصلًا، فهو فشل عادي.
  • لا يتصل شيء. لا يتصل أي عنوان من عناوين الخدمة بينما يستجيب محلّل DNS الموثوق نفسه. لا تُحتسب هذه الحالة إلا عندما لا تبلّغ صفحة حالة الخدمة عن مشكلات، وتوضح الخلاصة أن انقطاعًا لم تُبلّغ عنه الصفحة بعد سيبدو بالطريقة نفسها.
  • صفحات الحظر. يدعم طلب HTTP عادي يُجاب عنه برمز HTTP 451 أو بإعادة توجيه خارج نطاق الخدمة إحدى النتائج أعلاه؛ لكنه وحده لا يثبت ما يكفي.

تفسّر صفحة تسجيل دخول Wi-Fi، أو قواعد Kilobat أو الحماية أو قاطع الاتصال، أو انقطاع في صفحة الحالة، الفشل تفسيرًا أفضل، لذا لا يُبلّغ عن أي منها كحظر. مع تشغيل VPN تمر الفحوصات عبره وتوضح الخلاصة ذلك: الحظر على مسار VPN، وليس بالضرورة على هذه الشبكة.

الخصوصية. يذهب سؤال DNS-over-HTTPS فقط إلى محلّل DNS الموثوق، وهو Cloudflare (1.1.1.1) ما لم تختر Quad9 (9.9.9.9) في الإعدادات ‹ المراقبة أو باستخدام kilobat settings block-check-resolver quad9، عبر عنوانه، وفقط أثناء تشخيص فشل: سؤال واحد للاسم الذي فشل. تذهب المصافحات إلى عناوين الخدمة نفسها، ويقع الاسم المختلق ضمن example.com. لا يفحص Kilobat قوائم المواقع المحظورة أو يمسح في الخلفية مطلقًا.

عندما يستمر فشل تطبيق له صفحة حالة بينما لا تبلّغ صفحته عن انقطاع، يفحص Kilobat مرة واحدة في الساعة كحد أقصى لكل خدمة وشبكة، ويدرج الحظر ضمن الخدمات ويرسل إشعارًا واحدًا لكل خدمة وشبكة ويوم؛ أوقفه من الإعدادات ‹ المراقبة ‹ أخبرني عندما تبدو خدمة محظورة على هذه الشبكة، أو باستخدام kilobat settings block-alerts off. ينشئ kilobat down slack اتصالًا واحدًا بكل خدمة تسميها وعندما يفشل يجري الفحص نفسه؛ ويضيفه kilobat why slack.com أو kilobat doctor slack.com كطبقة. يحصل الوكلاء على النتيجة نفسها في حقل block من service_status وdiagnose_connection. هذا مجاني مثل صفحات الحالة.

غير متاح في منطقتك

لا تتوفر بعض الخدمات وبعض الميزات، مثل أدوات الذكاء الاصطناعي في أجزاء من الاتحاد الأوروبي، في كل مكان، وترفض الخدمة نفسها الوصول بحسب الموقع الذي يبدو عنوانك فيه. هذا ليس انقطاعًا ولا حظرًا من هذه الشبكة. لا يقول Kilobat ذلك إلا استنادًا إلى إجابة الخدمة نفسها عبر اتصال موثّق: HTTP 451 أو صياغة شوهد أنها تستخدمها، مثل unsupported_country_region_territory من OpenAI، وصفحة claude.ai الإقليمية، وخطأ Anthropic API بشأن البلدان أو المناطق أو الأقاليم غير المدعومة، وعبارة Gemini API «User location is not supported». تقرأ الخلاصة مثل «تقول OpenAI إن خدمتها غير متاحة في منطقتك. يبدو اتصالك حاليًا في ألمانيا»، مع البلد المسجّل فيه عنوانك العام (يُبحث عنه كما يفعل kilobat ip --public، عبر أي VPN). عندما يضع VPN أو eSIM للتجوال نقطة الخروج في بلد آخر، أو تُضبط منطقة هذا الـ Mac الزمنية على بلد آخر، يوضح ذلك. يذكر الحقائق فقط ولا يقترح طريقة لتجاوز قيود إقليمية قد يخالف تجاوزها شروط الخدمة؛ والخيارات هي قائمة البلدان المدعومة لدى الخدمة ودعمها. الصق الخطأ الذي تلقاه تطبيق باستخدام kilobat why api.openai.com --error '…'، أو error في diagnose_connection، للتعرف عليه.

تقرير لمقدم الخدمة

عندما يكون اتصالك سيئًا، يحتاج مزوّد الخدمة أو قسم تقنية المعلومات إلى أدلة. في الحالة، ينشئ زر التقرير تقريرًا مما سجّله Kilobat على هذه الشبكة خلال آخر 24 ساعة أو 7 أيام. يشمل الانقطاعات وزمن الاستجابة عند الموجّه وبعده وفقد طلبات الاستجابة واختبارات السرعة مقارنة بباقتك، إضافة إلى فحص الموقع الذي يفشل إذا أضفته. تذكر كل نتيجة ما قيس وأين، ولا تحدد المسؤول مطلقًا. انسخه كنص لمحادثة دعم، أو احفظه أو شاركه بصيغة PDF. يستبعد اسم شبكتك وكل عنوان IP محلي وعنوان جهاز وأسماء الأجهزة والتطبيقات التي استخدمت الشبكة. في Terminal شغّل kilobat support-report --host github.com، أو --html --output report.html للصفحة. تُستبعد أسماء المواقع وURL ومساراتها افتراضيًا، بما فيها إعادة التوجيه. حدد تضمين أسماء المواقع، أو مرّر --include-sites في CLI أو include_site_names: true إلى MCP create_support_report، فقط عندما تريد تلك الأسماء في التقرير. تبقى قياسات IP العام من فحص الموقع.

تعويض الانقطاع

يدين كثير من المزوّدين بتعويض بعد انقطاع طويل، ويدفعه بعضهم دون طلب. يجمع السجل ‹ تعويض الانقطاع انقطاعات الشهر التي يستطيع Kilobat إثبات وقوعها من جهة المزوّد، ويفحصها مقابل قاعدة المزوّد المنشورة. لا يُحسب الانقطاع إلا عندما يواصل الموجّه الاستجابة لفحوصات Kilobat بينما يفشل خادما إنترنت وفحص HTTPS جميعًا، أو عندما يسجّله طبق Starlink ضمن شبكة Starlink (لا قمر صناعي أو لا استجابة). تُستبعد وتُعرض منفصلةً الانقطاعات في الموجّه أو Wi-Fi لديك، والوقت الذي أعاقت فيه صفحة دخول شبكة فندق أو مقهى الاتصال، والانقطاعات دون فحوص كافية للتحديد، وأي وقت كان الـ Mac فيه نائمًا. تعرض البطاقة أطول انقطاع وإجمالي الشهر بجوار عتبة القاعدة، وعندما تنطبق قاعدة تحقق منها Kilobat، ما قد يؤهلك له ذلك.

اختر المزوّد أو اضغط «اكتشاف»: يطلب Kilobat عنوانك العام من Cloudflare والشبكة التي ينتمي إليها من RIPE NCC، ثم يطابق الشبكة بقائمته. أدخل ما تدفعه شهريًا للإنترنت لأجل التقدير. القواعد مرفقة بالتطبيق، مع مصدر كل منها وتاريخ التحقق: التعويض التلقائي من Ofcom لـ BT وEE وPlusnet وSky وVirgin Media وVodafone وTalkTalk وHyperoptic (£10.34 يوميًا بمجرد عدم إصلاح عطل أُبلغ عنه خلال يومي عمل كاملين)، والمادة § 58 TKG الألمانية لكل مزوّد هناك، والمرسوم الإسباني Real Decreto 899/2009 وتعويضات AGCOM الإيطالية، والشروط المنشورة لـ Xfinity وAT&T Fiber وInternet Air وOrange وFree. لمزوّد دون قاعدة استطاع Kilobat التحقق منها، مثل Spectrum أو Verizon أو Cox أو T-Mobile Home Internet أو Starlink، تقول البطاقة إنه لا يزال بإمكانك الطلب بالأدلة نفسها.

يمنحك «نسخ المطالبة» رسالة بلغة التطبيق مع موضع لرقم حسابك وتاريخ كل انقطاع ومدته وما قاسه Kilobat والقاعدة والمبلغ؛ وينقلك «فتح صفحة المطالبة» إلى صفحة تقديم المزوّد، ويُرفق «حفظ تقرير المزوّد» القياسات بصيغة PDF. عندما تحدد القاعدة مهلة للمطالبة، مثل 120 يومًا لدى Xfinity، يضبط «ذكّرني» إشعارًا قبلها. لا يرسل Kilobat شيئًا أبدًا. يحسب من بداية الانقطاع، بينما يحسب المزوّدون من وقت إبلاغك ويقررون ما يستحق التعويض، لذا لا يقول إلا «قد يستحق». مع الإعدادات ‹ المراقبة ‹ أخبرني عندما قد يستحق انقطاع تعويضًا، يخطرك Kilobat مرة لكل انقطاع وبحد أقصى مرة يوميًا. تقدير البطاقة والمطالبة والإشعار جزء من Kilobat Pro. في Terminal، يعرض kilobat credit الشهر، ويطبع --draft المطالبة، ويسرد credit providers القواعد؛ ويقرأها الوكلاء عبر get_outage_credit.

فحص الخطة

اكتشف ما إذا كنت تحصل على السرعة التي تدفع ثمنها. أدخل سرعة تنزيل باقتك لهذه الشبكة في الإعدادات ‹ الشبكة ‹ سرعة الباقة، أو تحت نتيجة اختبار سرعة. تقارن علامة السرعة آخر 30 يومًا من اختبارات هذه الشبكة بها: «حصلت على 61% من 500 Mbps»، والوسيط، ووسيط المساء بجوار بقية اليوم، وعدد مرات وصول الاختبار إلى أقل من نصف الباقة. تحتفظ كل شبكة بباقتها، فلا يُحسب المقهى على باقة المنزل. مع Kilobat Pro، شغّل الإعدادات ‹ الشبكة ‹ فحص الباقة فيجري Kilobat اختبارًا خفيفًا حتى ثلاث مرات يوميًا، في وقت مختلف كل يوم وأحدها دائمًا في ذروة المساء (7 إلى 11 مساءً)، عندما يكون المزوّدون أبطأ غالبًا. يستخدم الفحص من 25 إلى 80 MB عبر أربعة اتصالات، نحو ثانيتين بسرعة باقتك. ينتظر عدم وجود مكالمة أو VPN يحمل الحركة، وانخفاض حركة الـ Mac الأخرى، واتصاله بالطاقة أو تجاوز البطارية 50%، ولا يعمل أبدًا على شبكة محدودة البيانات. يبدأ تقرير المزوّد بالشهر: «خلال 30 يومًا، 41 فحصًا مجدولًا: الوسيط 305 Mbps من 500 Mbps التي تدفع ثمنها (61%)؛ المساء 180 Mbps». في Terminal، يعرض kilobat plan البيانات نفسها ويحصل عليها الوكلاء عبر get_plan_check.

سرعة الخدمة

يقيس اختبار السرعة المسار إلى خادم اختبار قريب. أما الخدمات التي تنزّل منها فعليًا، مثل GitHub وiCloud وSteam وnpm وDocker وHugging Face، فتقع في نهاية مسارات أخرى، وقد يكون رابط مزوّد الخدمة إلى إحداها مزدحمًا بينما بقية الإنترنت سريعة. يقيس Kilobat التنزيلات التي تجريها بالفعل: كل تنزيل بحجم 5 MB أو أكثر، مع جمع اتصالات الخدمة الواحدة، خلال الثواني التي كانت البيانات تتحرك فيها. يسمّي كل تنزيل بحسب الموقع الذي طلبه التطبيق (عند تشغيل مرشّح الشبكة)، أو التطبيق، أو اسم DNS العكسي، أو الشبكة التي ينتمي إليها عنوانه، استنادًا إلى قوائم العناوين المنشورة لكل من GitHub وApple وValve وDropbox وAkamai وFastly وCloudflare وAmazon CloudFront وGoogle وMicrosoft والمضمّنة مع التطبيق. لا تُرسل بيانات إضافية عبر الشبكة. لا تُحتسب الفيديوهات والموسيقى والمكالمات لأنها تتحرك بسرعة تشغيلها، ولا يُحتسب أي شيء عندما ينقل VPN حركة بياناتك.

تعرض السرعة ‹ الخدمات كل خدمة على هذه الشبكة: سرعتها المعتادة خلال 30 يومًا، وأحدث تنزيل، وحصتها من سرعة الخط. سرعة الخط هي نتيجة أحدث اختبار سرعة على هذه الشبكة، أو أسرع تنزيل رصده Kilobat عليها، أيهما أعلى. مع Kilobat Pro، لا ينبّه قسم الحالة إلا عندما تتضح المشكلة: ثلاثة تنزيلات على الأقل من خدمة واحدة خلال اليوم الماضي بسرعة تقل عن ثلث سرعة الخط، ومع كل منها موقع آخر أو اختبار سرعة أسرع بثلاث مرات على الأقل خلال الساعة نفسها، ومعظم تنزيلات تلك الخدمة بطيئة في ذلك اليوم، والخدمة ليست بطيئة على كل شبكة أخرى تستخدمها. لا تُحتسب التنزيلات التي تتزاحم مع تنزيلاتك الأخرى. «مسار مزوّد الخدمة إلى GitHub بطيء الليلة. جرت 3 تنزيلات من GitHub بسرعة تقارب 7 Mbps بينما بلغت سرعة مواقع أخرى 267 Mbps خلال الساعة نفسها. التباطؤ بين مزوّد الخدمة وGitHub، وليس في Wi-Fi أو جهاز Mac هذا.»

تلي ذلك الأدلة. عندما تشير صفحة حالة الخدمة إلى وجود مشكلة، يوضح التقرير أن السبب يرجّح أن يكون من جهتها. وإلا، فإنه يتتبع المسار إلى خادم الخدمة مرة واحدة ويحدد القفزة التي يرتفع عندها التأخير. ومع توفر سجل كافٍ، يحدد الساعات التي تكون فيها الخدمة بطيئة، مثل كل مساء من 7 إلى 11، وهي علامة معروفة على ازدحام الاتصال بين شبكتين خلال ساعات الذروة. ثم يقترح ما يمكنك تجربته: استخدام VPN أو DNS آخر للوصول إلى الخدمة عبر مسار مختلف؛ أو إبلاغ مزوّد الخدمة، إذ يتضمن تقرير المزوّد قسمًا عن المشكلة؛ أو المحاولة لاحقًا.

اختبار هذه الخدمة ينزّل مرة واحدة ما يصل إلى 25 MB من ملف عام تتيحه الخدمة للتنزيل، مثل إصدار على GitHub أو صورة استعادة macOS من Apple أو حزمة npm أو PyPI أو اختبار سرعة Cloudflare. لا يجري التنزيل إلا عند الضغط على الزر، ولا يجري أبدًا على شبكة محدودة البيانات. في Terminal، يعرض kilobat service-speed الجدول والنتيجة، ويجري --test github اختبارًا، ويعرض --list الملفات؛ ويحصل الوكلاء على السجل عبر get_service_speed.