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

روش‌شناسی

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

2026-09-evidence-v4

قواعد شواهد و پوشش

«بدون تغییر تازه» به معنای اینترنت بدون محدودیت نیست. ارزیابی آرام به دست‌کم دو خانوادهٔ شواهد تازه نیاز دارد. IODA و مسیریابی RIPE به‌صورت محافظه‌کارانه یک خانواده شمرده می‌شوند؛ امتیازهای اطمینان قدیمی احتمال آماری نیستند.

حد تازگی: پروب مستقیم ۲ ساعت، IODA و Cloudflare سه ساعت، RIPE پنج ساعت، OONI سه روز و Tor چهار روز. زمان مشاهده، گردآوری و محاسبه جدا هستند. دادهٔ روزانه فقط به همان روز تعلق دارد. نبود گزارش، بازیابی را تأیید نمی‌کند. در رویدادها مرجع پیش از افت تا دو خوانش بازگشته ثابت می‌ماند؛ تغییر میانهٔ متحرک به تنهایی بازیابی محسوب نمی‌شود.

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

خانهٔ شبکه به حداقل پنج آزمون قابل تفسیر و مشاهدهٔ تازه نیاز دارد. نتایج قابل دسترس، ناهنجار، تأییدشده و ناموفق جدا می‌مانند. شکست مرحله‌ای از نمونهٔ کوچک روزانهٔ OONI می‌آید و به‌تنهایی اثبات سانسور نیست. سرعت از آزمون‌های سرعت Cloudflare می‌آید (۹۰ روز اخیر هر شبکه، صدک‌های آزمون‌های منفرد)؛ خودانتخاب، تا نزدیک‌ترین سرور Cloudflare، و کاربران Cloudflare WARP جدا از شبکه‌های ایرانی نشان داده می‌شوند.

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

IODA0 * * * * UTC
IODA provinces23 * * * * UTC
Cloudflare Radar5 * * * * UTC
Cloudflare BGP events15 * * * * UTC
Connectivity probes20 * * * * UTC
Cloudflare anomalies35 * * * * UTC
ArvanCloud Radar4,14,24,34,44,54 * * * * UTC
Routing snapshots25 */2 * * * UTC
RIPEstat update volume30 */2 * * * UTC
RIPEstat routing40 */2 * * * UTC
RIPEstat prefix history45 */2 * * * UTC
RIPEstat routing events50 */2 * * * UTC
bgp.tools10 */6 * * * UTC
OONI tests55 */6 * * * UTC
RIPE Atlas results58 */6 * * * UTC
Tor Metrics52 */12 * * * UTC
Event evidence archive47 * * * * UTC
Fixed comparison references32 5 * * * UTC
OONI network outcomes32 3 * * * UTC
IHR hegemony7 1 * * * UTC
APNIC estimates17 2 * * * UTC
OONI domains22 3 * * * UTC
Access Now reports12 6 * * * UTC
Retention sweep45 4 * * * UTC
Citizen Lab test list18 4 * * 1 UTC
ISOC resilience24 5 * * 3 UTC
Evidence detection7,22,37,52 * * * * UTC
Encrypted DNS sample28 4 * * * UTC
Evidence transitions18 5 * * * UTC
Geoblocking pilot38 5 * * * UTC
Attributed probe imports9 * * * * UTC

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

افزون بر اندازه‌گیری‌های خودش، IranBlock سه نسخهٔ ثابت و منتشرشده از نام‌های ثبت‌شده به‌عنوان مسدود را نگه می‌دارد. این‌ها با تاریخ و منبع نشان داده می‌شوند و هرگز به‌عنوان وضعیت امروز.

هنوز وارد نشده است.

قاعده‌های پسوند: نامی قاعدهٔ سکو یا پسوند عمومی شمرده می‌شود که خودش در فهرست باشد و دست‌کم ۵۰ زیردامنهٔ مستقیمش هم با همان سازوکار در فهرست باشند. برداشت از فهرست است، هرگز اندازه‌گیری نیست؛ دامنه‌های سطح بالا این‌گونه برداشت‌شدنی نیستند.

بلوک‌های نشانی: پرونده‌های نشانی‌های مسدودِ پژوهش IRBlock در بلوک‌های ⁦/24⁩ جمع و با جدول مسیریابی bgp.tools در روز ورود به شبکه‌ها نسبت داده می‌شوند. نشانی‌های تکی نگهداری نمی‌شوند.

تزریق‌کنندهٔ DNS: اندازه‌گیری‌های وب OONI که IranBlock از پیش نمونه می‌گیرد بر پایهٔ پاسخ DNS دسته‌بندی می‌شوند. 10.10.34.34 تا 10.10.34.36 نشانی صفحهٔ مسدودی ایران است؛ مجموعه‌ای از نشانی‌های واقعیِ ثابت که پژوهش پادربورن ثبت کرده، مانند 216.239.38.120 (جست‌وجوی امن اجباری گوگل)، جایگزینی است.

نمایهٔ آفلاین: یک فیلتر بلوم روی همهٔ نام‌های فهرست‌شده در ۲۵۶ بخش، که ‎/check‎ فقط وقتی جست‌وجو در دسترس نیست و فقط پس از ذخیره به‌دست خواننده به کار می‌برد. حدود یک پاسخ از هر صد به‌اشتباه مطابق است.

گردآورنده هر ۳۰ دقیقه گزارش شفافیت گوگل را برای ایران می‌خواند: برای هر محصول گوگل، سهم ایران از درخواست‌های جهان، نرمال‌شده به دست گوگل با نویز افزوده، که حدود ۷۵ دقیقه دیرتر منتشر می‌شود. سه روز گذشته در هر اجرا دوباره خوانده می‌شود، پس نقطه‌های دیرآمده یا اصلاح‌شده جای نقطه‌های ذخیره‌شده را می‌گیرند؛ پاسخی با شکل غیرمنتظره اجرا را متوقف می‌کند، به‌جای آنکه چیزی ذخیره نشود. تاریخچه از ۲۰۰۹ یک بار و به‌صورت روزهای تهران بارگذاری شد.

در داوری، پنج سرویس روزمره (جست‌وجو، تصاویر، جیمیل، نقشه، مترجم) هر کدام با همان ساعت روز در ۳۰ روز گذشته سنجیده می‌شوند؛ خوانشی فاصله‌گرفته شمرده می‌شود که دست‌کم ۵۰٪ زیر میانه و سه انحراف معیار مقاوم دور باشد. منبع گوگل وقتی فاصله می‌گیرد که دو سرویس از پنج چنین باشند. این قاعده روی تاریخچهٔ خود گوگل از ۲۰۲۳ به‌علاوهٔ آبان ۱۳۹۸ آزموده شد: هر چهار قطعیِ مستقلاً ثبت‌شده را در چند ساعت نشان داد و در حدود ۲۶ هزار ساعت آرام هیچ هشدار نادرستی نداد (scripts/google-backtest.js). یوتیوب و بلاگر که در ایران مسدودند، و سری‌های تقریباً خالی، رأی نمی‌دهند.

صفحهٔ گوگل هر محصول را با همان ساعت در سال گذشته مقایسه می‌کند و الگو را طبقه‌بندی می‌کند: خاموشی (چهار یا پنج سرویس از کار افتاده) یا فهرست سفید (جست‌وجو یا تصاویر برگشته، در حالی که جیمیل، نقشه یا مترجم زیر ۳۰٪ مانده‌اند). ترافیک گوگل

هر 15m یک مرحلهٔ تشخیص، جدا از گردآوری، اجرا می‌شود. هر خوانش با خط پایهٔ خودِ همان سرویس سنجیده می‌شود، نه با یک سطح ثابت: هر آزمون OONI با میانهٔ ۲۸ روزهٔ نرخ ناهنجاری‌اش (رویداد با ۲۰ واحد افزایش)، دیده‌شدن مسیرهای هر شبکه با حالت عادی ۳۰ روزه‌اش (کمتر از نصف)، درخواست‌های HTTP به کلادفلر با میانهٔ همان ساعت (کمتر از نصف)، کاربران تور با هفتهٔ پیش، و سیگنال‌های BGP و پینگ IODA با بیشینهٔ ۷ روزه. پس سرویسی که همیشه مسدود است دوباره به‌عنوان خبر ثبت نمی‌شود؛ صفحه‌های سانسور آن وضعیت را نشان می‌دهند. رویداد وقتی بسته می‌شود که خوانشی بعدی به حاشیهٔ بازگشت برگردد و زمان همان خوانش به‌عنوان بازگشت ثبت می‌شود. پروب‌های خارج از ایران رویداد نمی‌سازند: سرویس ایرانی‌ای که از بیرون در دسترس نیست رویدادی درون ایران نیست؛ صفحهٔ /connectivity آن‌ها را نشان می‌دهد.

پس از بسته شدن یک رویداد، همان سرویس تا بازه‌ای کوتاه نمی‌تواند رویداد دیگری باز کند، تا خوانشی که روی آستانه نوسان می‌کند رویدادهای پیاپی نسازد:

ioda · ۹۰mcloudflare · ۹۰mbgp · ۱۵۰mooni · ۴۰۰mtor · ۷۲۰m

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

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

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

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

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

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

هفت منبع مستقل — OONI، پروب گذرگاه، IODA، رادار Cloudflare، ترافیک گوگل، تقاضای Tor و مسیریابی اپراتورها — هر کدام به یک وضعیت فروکاسته می‌شوند: در محدودهٔ خط پایهٔ ۳۰ روزه، فاصله‌گرفته از آن، یا بدون داده. OONI که آزمون‌های زیادی دارد وقتی فاصله‌گرفته شمرده می‌شود که دو آزمون چنین باشند یا یکی از چهار آزمونی که بیشترین ترافیک را دارند؛ ترافیک گوگل وقتی فاصله‌گرفته شمرده می‌شود که دو سرویس از پنج سرویس روزمره‌اش (جست‌وجو، تصاویر، جیمیل، نقشه، مترجم) چنین باشند. سطح، شمار خانواده‌های شواهدِ فاصله‌گرفته است (IODA و مسیریابی اپراتورها یک خانواده‌اند): هیچ یعنی «اختلال تازه‌ای نیست»، یک یعنی «زیر نظر»، دو یعنی «اختلال»، و سه که 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 (per minute) · 7darvancloud_hourly · 730drouting / BGP history · 90dcloudflare_traffic · 180dihr_hegemony · 180dooni_measurements · 730dincidents — critical / disruption · 400dincidents — inactive / irregular · 30dincidents — open · never prunedpublished blocklist snapshots · never pruned

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

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