Iran Block logo
ایران بلاک

روش‌شناسی

این اعداد از کجا می‌آیند، چگونه ساخته می‌شوند و چه چیزی را نمی‌توانند به شما بگویند.

هیچ‌چیز اینجا فقط توسط ما اندازه‌گیری نمی‌شود. شانزده گردآورندهٔ مستقل طبق زمان‌بندی ثابت خوانده و بی‌کم‌وکاست ذخیره می‌شوند؛ بازهٔ کنار هر کدام یعنی هر چند وقت اجرا می‌شود.

نقطهٔ دید تعیین می‌کند یک عدد چه معنایی می‌تواند داشته باشد. نرخ ناهنجاری OONI از پروب‌های داوطلبانهٔ داخل ایران می‌آید و تنها اندازه‌گیری داخل کشوری اینجاست. پروب‌های دسترس‌پذیری مستقیم ما از خارج ایران اجرا می‌شوند؛ پس برای سرویس‌های ایرانی دسترسی ورودی بین‌المللی را می‌سنجند و برای اپ‌های بین‌المللی اصلاً چیزی دربارهٔ ایران نمی‌سنجند — برای همین داشبورد امتیاز گذرگاه را فقط روی سرویس‌های میزبانی‌شده در ایران حساب می‌کند. IODA، رادار Cloudflare، RIPE و Tor Metrics هر کدام از زیرساخت خودشان مشاهده می‌کنند.

هر 15m یک مرحلهٔ تشخیص، جدا از گردآوری، اجرا می‌شود. تازه‌ترین خوانش‌ها را با آستانه‌های هر منبع مقایسه می‌کند و با عبور از آستانه، رویدادی باز می‌کند.

شرایطی که ادامه دارد در غیر این صورت در هر مرحله یک رویداد می‌ساخت، پس هر منبع بازه‌ای دارد که در آن یک سرویس نمی‌تواند رویداد دوم بسازد. این بازه‌ها کمی بالاتر از دورهٔ خودِ هر گردآورنده‌اند:

connectivity · ۹۰mioda · ۹۰mcloudflare · ۹۰mbgp · ۱۵۰mtor · ۷۰mooni · ۴۰۰marvancloud · ۶۰m

امتیاز اطمینان از روی شواهد محاسبه نمی‌شود. عددی ثابت است که به گردآورندهٔ تشخیص‌دهنده وصل است و سقف آن ۹۵ است:

ooni · ۸۲ioda · ۷۸cloudflare · ۷۴bgp · ۷۲tor · ۶۸connectivity · ۵۸هر منبع دیگر · ۶۰

سپس نوع رویداد آن را تنظیم می‌کند: ۱۰+ وقتی سرویس کاملاً در دسترس نیست، ۳+ برای خوانش نامنظم، و در غیر این صورت هیچ.

پس امتیاز بالا یعنی یک تشخیص‌دهندهٔ تاریخاً قابل‌اتکا فعال شده — نه اینکه چند منبع هم‌نظر بوده‌اند. هم‌خوانی جداگانه ثبت می‌شود، در شمار سیگنال و فیلد منابع متناقض هر رویداد. شواهد را در صفحهٔ رویداد بخوانید و خودتان قضاوت کنید.

پس از هر مرحلهٔ تشخیص، هر رویداد تازه دو چیز را دربارهٔ سه ساعت پیرامون خود ثبت می‌کند: چند تا از شش تشخیص‌دهنده فعال بوده‌اند، و کدام‌ها ورودی‌هایشان را با موفقیت جمع کرده‌اند و چیزی گزارش نکرده‌اند. دومی شاهد مخالف است — منبعی که اجرا شده و ساکت مانده، علیه یک اختلال سراسری استدلال می‌کند. منبعی که اصلاً در آن بازه اجرا نشده از هر دو شمارش کنار گذاشته می‌شود، چون سکوت به معنای مخالفت نیست.

هر خوانش سرفصل با میانهٔ سی روز پیش از خودش مقایسه می‌شود و معیار سنجش، انحراف مطلق از میانه (MAD) است: خوانشی «فاصله‌گرفته» شمرده می‌شود که دست‌کم سه برابر آن انحراف از میانه دور باشد و همزمان از حاشیه‌ای مطلق که برای هر سنجه تعیین شده بگذرد — مثلاً ده واحد برای نرخ ناهنجاری OONI — تا یک سری صاف نتواند نویز را علامت بزند. ترافیک Cloudflare با همان ساعت روز مقایسه می‌شود، چون چرخهٔ روزانه دارد. چیزی هموار یا ذخیره نمی‌شود؛ خط پایه هر پانزده دقیقه از ردیف‌های خام دوباره محاسبه می‌شود.

شش منبع مستقل — OONI، پروب گذرگاه، IODA، رادار Cloudflare، تقاضای Tor و مسیریابی اپراتورها — هر کدام به یک وضعیت فروکاسته می‌شوند: در محدودهٔ خط پایهٔ ۳۰ روزه، فاصله‌گرفته از آن، یا بدون داده. OONI که آزمون‌های زیادی دارد وقتی فاصله‌گرفته شمرده می‌شود که دو آزمون چنین باشند یا یکی از چهار آزمونی که بیشترین ترافیک را دارند. سطح، شمار منابع فاصله‌گرفته است: هیچ یعنی «اختلال تازه‌ای نیست»، یک یعنی «زیر نظر»، دو یعنی «اختلال»، و سه که IODA یا Cloudflare میانشان باشد یعنی «اختلال بزرگ». ماتریس داشبورد همین خانه‌ها را برای هر یک از ۲۴ ساعت گذشته نشان می‌دهد تا شمارش با چشم قابل بررسی باشد. خلاصهٔ ماشینیِ گردآورنده همچنان با برچسب نشان داده می‌شود، اما دیگر چیزی را تعیین نمی‌کند.

هر کدام محاسبه‌ای مستقیم روی تازه‌ترین خوانش هر ورودی است — بدون هموارسازی، بدون وزن‌دهی، بدون تاریخچه.

امتیاز سانسور
100 − min(mean OONI anomaly % across the latest run of each test, 100)
امتیاز گذرگاه بین‌الملل
Iranian-hosted services reachable by the probe ÷ those monitored × 100 (lib/data/vantage.js decides the group)
امتیاز شبکه
ISPs whose routes RIPE peers can see ÷ ISPs with a visibility reading × 100 — a missing reading is excluded, not counted as down
  • پروب‌های دسترس‌پذیری خودمان طبق زمان‌بندی از خارج ایران اجرا می‌شوند — نه از اتصال شما و نه از داخل کشور. OONI تنها منبع داخل کشوری اینجاست و پروب‌های داوطلبانه‌اش به‌طور نابرابر میان شبکه‌ها پخش‌اند. ممکن است سرویسی در همان لحظه روی یک شبکه در دسترس و روی شبکهٔ دیگر مسدود باشد.
  • بازه‌های گردآوری از ده دقیقه تا یک هفته است. اختلال کوتاهی که بین دو اجرا رخ دهد اصلاً اینجا ردی نمی‌گذارد.
  • هم‌خوانی میان منابع سنجیده می‌شود، نه درون یک سرویس. تشخیص‌دهنده‌ها چیزهای متفاوتی را می‌بینند — دسترس‌پذیری هر سرویس، سیگنال‌های قطعی ملی، مسیریابی هر اپراتور — و بیشترشان کلید سرویس مشترکی ندارند؛ پس شمار سیگنال می‌گوید چند تشخیص‌دهندهٔ مستقل در بازهٔ رویداد فعال بوده‌اند، نه اینکه چند تا همان سرویس مشخص را تأیید کرده‌اند.
  • فقط سرویس‌های فهرست پایش بررسی می‌شوند و فقط اپراتورهایی که در داده‌های عمومی مسیریابی دیده می‌شوند دنبال می‌شوند. نبودن چیزی در این سایت دلیل بر کارکردن آن نیست.
  • هیچ‌چیز اینجا نیت را اثبات نمی‌کند. سرویسی که در دسترس نیست ممکن است مسدود، بدپیکربندی، پرفشار یا به دلایلی کاملاً بی‌ربط به سانسور دچار اشکال باشد.

اندازه‌گیری‌های خام طبق زمان‌بندی ثابت هرس می‌شوند و رویدادها بر اساس نوع: نویز معمول پروب یک ماه نگه داشته می‌شود، رویدادهای مهمی که این پروژه برای ثبتشان وجود دارد بیش از یک سال، و هر رویداد بازی هرگز حذف نمی‌شود. هرچه قدیمی‌تر از این بازه‌ها باشد از بین رفته است، بنابراین نمودارها نمی‌توانند از کوتاه‌ترین سری‌ای که بر آن تکیه دارند عقب‌تر بروند.

connectivity_probes · 90dioda_asn_signals · 90darvancloud_monitoring · 90drouting / BGP history · 90dcloudflare_traffic · 180dihr_hegemony · 180dooni_measurements · 730dincidents — critical / disruption · 400dincidents — inactive / irregular · 30dincidents — open · never pruned

تشخیص خودکار و بدون بازبینی انسانی است، پس خطاها ویرایش‌نشده به سایت می‌رسند. اگر خوانشی اینجا نادرست است، اندازه‌گیری‌های خام پشت آن از طریق API عمومی‌اند — بررسی کنید و یافته‌تان را به ما بگویید.

خودتان داده‌ها را بخوانید ←