منهجية مفتوحة
كيف نصل إلى الحكم
كل شيء في المتصفح. لا تغادر البيانات جهازك حتى تضغط مشاركة التقرير. المنطق أدناه كامل — لا شيء مخفي.
لماذا هذا مختلف؟
يقيس Speedtest خادمًا قريبًا واحدًا. هذا الاختبار يفحص المسارات القريبة والبعيدة وتطبيقاتك، ثم يعرض ما يعمل وما لا يعمل.
Speedtest
My ISP Sucks
اختبار واحد يغطي
خادمًا قريبًا واحدًا
اختبار واحد يغطي
مسارات قريبة وبعيدة وتطبيقاتك
التنزيل والرفع والبنغ
نعم
التنزيل والرفع والبنغ
نعم
البث والألعاب والسحابة
تقدير من الرقم
البث والألعاب والسحابة
فحص تلك الخدمات
ما يعمل وما لا يعمل
لا يُعرض
ما يعمل وما لا يعمل
يُعرض
من المسؤول
لا يُسمّى
من المسؤول
واي فاي أو المزود أو خدمة
يمكنك إرسال
الرقم
يمكنك إرسال
شكوى
لا علاقة له بـ Ookla أو Speedtest.
ابدأ هذا الاختبار1 · ماذا نفحص
أربع طبقات من جهازك إلى الخارج:
البوابة المحلية (preflight)
10 طلبات HEAD لأقرب نقطة Cloudflare (600 ملث). نقيس الفقد والاهتزاز. ≥ 2 مهلة أو σ > 30 ملث → المسار غير مستقر.
عقد داخل البلد (near)
AWS S3 في بلدك (برمز الدولة من IP). درجة منخفضة = مزود محلي أو توجيه.
عقد دولية (far)
16 منطقة AWS S3 عالمياً. درجة عالية مع near جيد = بوابة دولية.
نقاط الخدمات (profile)
15–25 HEAD للبث/الألعاب/التقنية. يكتشف peer والحظر الذي لا يراه الـ ping.
2 · صحة العقدة
درجة من 0 (مثالي) إلى 1 (معطوب). متوسطات near و far منفصلة.
score = 0.7 × (packetLoss / 100)
+ 0.3 × clamp((actualMs − expectedMs) / (expectedMs × 3), 0, 1)
expectedMs = max(10, distanceKm / 50) ← speed-of-light RTT baselineمثال — تل أبيب → شمال فرجينيا (9 500 كم)
expectedMs = max(10, 9 500 ÷ 50) = 190 ms
actualMs = 219 ms, packetLoss = 0 %
score = 0 + 0.3 × clamp((219 − 190) / (190 × 3), 0, 1) = 0.015 → سليم
nearScore < 0.25
Near: سليم
farScore > 0.35
Far: يفعّل القاعدة 6
farScore > 0.45
Far: متدهور (5b)
3 · خدمة شاذة
outlier if: status = "fail"
OR status = "slow" AND latencyMs ≥ cohortMedian × 2.5
slow = probe latency above 1 000 ms
ok under that line is not an outlierمثال
Netflix 95 ms ✓ YouTube 88 ms ✓ Twitch 1 240 ms
cohortMedian = 88 ms → 1 240 ≥ 88 × 2.5 (220) → Twitch شاذ
4 · سلسلة القواعد
يفوز أول تطابق. DevTools → Console يعرض كل قاعدة.
دون اتصال
connectivity = fail, and no other check reached the internet
→ down / local_issue
مسار محلي غير مستقر
Wi-Fi or cellular AND (preflight unstable OR jitter > 40 ms) AND farScore < 0.40
→ local_issue
DNS معطوب
device is online AND dns = fail
→ isp_issue
خدمة شاذة محددة
core healthy AND 1 ≤ outliers ≤ 40 % of services
→ service_issue
معظم الخدمات سيئة
core healthy AND badServiceFraction ≥ 50 %
→ isp_issue (peering)
حظر المرور الدولي
preflight loss = 0 AND nearScore < 0.25 AND farScore > 0.45 AND ≥ 3 far nodes
→ isp_issue (gateway)
النواة / far متدهورة
any test = fail OR farScore > 0.35
→ isp_issue
تدهور خفيف
any test = warn (no harder rule fired)
→ local_issue or isp_issue (medium)
كل شيء سليم
→ healthy
5 · وفاء الباقة
ratio = measuredDown / promisedDown ≥ 0.80 → "As advertised" ✓ ≥ 0.50 → "Underdelivering" ~ < 0.50 → "Far below plan" ✗
تعليق على التقرير فقط — لا يغيّر المتهم.
6 · الخصوصية
كل الفحوصات في المتصفح. لا يُرسل شيء حتى تضغط مشاركة التقرير.
عند المشاركة: الحكم والدرجات والمزود والدولة والنوع. لا نخزّن عناوين IP.