WP Manifestindependent plugin directory
manifest / analytics / irancheck

IranCheck

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

★ 2stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/torkamanmahdi/irancheck/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

ایران‌چک

ایران‌چک (IranCheck)

سایت شما از داخل ایران باز می‌شود؟ فیلتر است؟ ایرانی‌ها را تحریم کرده؟
افزونهٔ وردپرس برای بررسی دسترسی، تشخیص فیلترینگ و مانیتورینگ آپ‌تایم از نودهای ایران و جهان

نسخه نصب فعال PHP 8.1+ WordPress 6.2+ GPLv2+

صفحهٔ افزونه در وردپرس · دانلود آخرین نسخه · English


ایران‌چک قدرت سرویس check-host.net را به پیشخوان وردپرس شما می‌آورد و مخصوص صاحبان سایت‌های ایرانی ساخته شده است. یک دامنه، IP یا آدرس وارد کنید و در چند ثانیه ببینید سایت شما از ۶ نود داخل ایران (تهران، شیراز و قم، روی اپراتورهای مختلف) و از نودهای سراسر جهان چه وضعی دارد.

اگر ایران‌چک به کارتان آمد، با یک ⭐ به دیده‌شدن پروژه کمک کنید.

فهرست

امکانات

تشخیص خودکار

به‌جای عددهای خام، توضیح می‌گیرید:

وضعیت معنی
در دسترس همهٔ نودها پاسخ سالم گرفتند.
احتمال فیلترینگ نودهای ایران Timeout یا Reset می‌گیرند ولی نودهای خارجی پاسخ عادی دارند.
تحریم ایران نودهای ایران کد ۴۰۳/۴۵۱ می‌گیرند ولی نودهای خارجی ۲۰۰ (محدودیت جغرافیایی از نوع تحریم).
مسدود برای خارج نودهای خارجی رد می‌شوند ولی نودهای ایران مشکلی ندارند.
کند، ناقص و قطع همراه با دلیل.

انواع بررسی

HTTP، پینگ، TCP، UDP، DNS و تریس‌روت.

🧠 حالت‌های هوشمند

«مقایسهٔ ایران و جهان»، «آیا در ایران فیلتر است؟»، «آیا ایرانی‌ها را تحریم می‌کند؟» یا انتخاب دستی نودها.

📈 مانیتورینگ

هر بررسی را به مانیتوری تبدیل کنید که هر ۱ تا ۱۴۴۰ دقیقه اجرا شود. آپ‌تایم ایران و خارج جداگانه حساب می‌شود و هر تغییر وضعیت با زمان شروع، پایان و علت احتمالی به‌عنوان رویداد ثبت می‌شود.

🔔 هشدار

از طریق تلگرام، بله (ble.ir) و ایمیل. فقط هنگام تغییر وضعیت یا در هر خطا، همراه با خلاصهٔ روزانه و ساعات سکوت.

🧰 ابزار عمومی

با شورت‌کد [irancheck] یا بلوک ایران‌چک، ابزار بررسی را در اختیار بازدیدکنندگان سایت بگذارید. با محدودیت ساعتی برای هر IP و کپچای ریاضی داخلی که به هیچ سرویس خارجی نیاز ندارد.

🟢⚪🔴 سازگار با فارسی

چیدمان راست‌به‌چپ، تاریخ شمسی، ارقام فارسی و پشتیبانی از دامنه‌های فارسی (IDN). ترجمهٔ فارسی رابط افزونه از طریق translate.wordpress.org ارائه می‌شود.

🔌 REST API

همهٔ امکانات زیر مسیر irancheck/v1 با کلید API برای ابزارهای دیگر در دسترس است.

تصاویر

داشبورد
داشبورد با ماتریس دسترسی ایران و جهان
بررسی جدید
بررسی جدید با حالت‌های هوشمند و انتخاب نود
نتیجهٔ زنده
نتیجهٔ زنده با تشخیص نهایی و جزئیات هر نود
مانیتورها
مانیتورها با آپ‌تایم ۳۰ روزه و رویدادها
تنظیمات
تنظیمات و کانال‌های هشدار

نصب

پیش‌نیازها: وردپرس ۶٫۲ یا بالاتر و PHP ۸٫۱ یا بالاتر.

روش ۱: از مخزن وردپرس (پیشنهادی)

در پیشخوان وردپرس به افزونه‌ها ← افزودن بروید، «IranCheck» را جست‌وجو و نصب کنید.

روش ۲: فایل ZIP

  1. فایل irancheck.zip را از آخرین انتشار دانلود کنید.
  2. در افزونه‌ها ← افزودن ← بارگذاری افزونه آن را نصب و فعال کنید.

روش ۳: از سورس

cd wp-content/plugins
git clone https://github.com/torkamanmahdi/irancheck.git

شروع کار

از ایران‌چک ← تنظیمات هشدارها را تنظیم کنید و اولین بررسی را از ایران‌چک ← بررسی جدید اجرا کنید.

کرون دقیق برای مانیتورها

برای اجرای دقیق مانیتورها در زمان مقرر، WP-Cron را در wp-config.php غیرفعال کنید:

define( 'DISABLE_WP_CRON', true );

و wp-cron.php را هر دقیقه از کرون سیستم صدا بزنید. دستور دقیق در تنظیمات ← پیشرفته نمایش داده می‌شود. نمونه:

* * * * * curl -s "https://example.com/wp-cron.php?doing_wp_cron" >/dev/null 2>&1

شورت‌کد و بلوک

[irancheck types="http,ping" scope="both" title="آیا سایت شما از ایران باز می‌شود؟"]
پارامتر مقدارها پیش‌فرض
types هر ترکیبی از http,ping,tcp,dns http,ping
scope both (ایران و جهان)، iran یا world both
title عنوان دلخواه بالای ابزار (خالی = بدون عنوان) «آیا سایت شما از ایران باز می‌شود؟»

در ویرایشگر بلوک هم می‌توانید بلوک IranCheck را از دستهٔ ابزارک‌ها اضافه کنید. یادتان باشد ابزار عمومی را در تنظیمات فعال کنید.

REST API

همهٔ مسیرها زیر /wp-json/irancheck/v1 هستند. برای مسیرهای مدیریتی، کلید API (از تنظیمات افزونه) را در هدر X-IranCheck-Key بفرستید.

curl -H "X-IranCheck-Key: YOUR_KEY" https://example.com/wp-json/irancheck/v1/monitors
مسیر توضیح
GET /nodes فهرست نودها
GET، POST /checks فهرست و ایجاد بررسی
GET /checks/{id} نتیجهٔ یک بررسی
POST /checks/{id}/rerun اجرای دوبارهٔ بررسی
GET، POST /monitors فهرست و ایجاد مانیتور
PUT، DELETE /monitors/{id} ویرایش و حذف مانیتور
POST /monitors/{id}/run و /toggle اجرای فوری و فعال/غیرفعال کردن
GET /incidents رویدادها
GET /quota وضعیت سهمیهٔ ساعتی
POST /service/test و /notify/test تست اتصال به سرویس و ارسال هشدار آزمایشی
/public/captcha و /public/checks مسیرهای ابزار عمومی (بدون کلید، با کپچا و محدودیت IP)

پرسش‌های متداول

برای check-host.net به کلید API نیاز دارم؟

خیر. افزونه از API عمومی و رایگان استفاده می‌کند. یک سقف ساعتی قابل تنظیم جلوی مصرف بیش از حد را می‌گیرد.

افزونه فیلترینگ را چطور از قطعی تشخیص می‌دهد؟

یک بررسی را هم‌زمان از نودهای ایران و خارج اجرا و مقایسه می‌کند. اگر نودهای ایران Timeout بگیرند ولی نودهای خارجی موفق باشند، احتمال فیلترینگ زیاد است. اگر هر دو طرف شکست بخورند، سرور قطع است. اگر یک طرف کد ۴۰۳/۴۵۱ بگیرد، سرور یا CDN آن، همان طرف را مسدود کرده است.

بازدیدکنندگان می‌توانند سایت خودشان را در سایت من بررسی کنند؟

بله. ابزار عمومی را در تنظیمات فعال کنید و از شورت‌کد یا بلوک استفاده کنید. هر IP محدودیت ساعتی دارد و باید به یک سؤال ریاضی ساده پاسخ دهد. آدرس‌های شبکهٔ خصوصی از ابزار عمومی قابل بررسی نیستند.

با وردپرس فارسی کار می‌کند؟

بله. اگر زبان سایت فارسی باشد، افزونه متن فارسی، تاریخ شمسی و ارقام فارسی نمایش می‌دهد. تقویم و ارقام را در تنظیمات هم می‌توانید به‌صورت دستی تعیین کنید.

سرویس‌های خارجی و حریم خصوصی

این افزونه از سرویس‌های شخص ثالث استفاده می‌کند. داده فقط زمانی ارسال می‌شود که شما (یا بازدیدکنندگان، اگر ابزار عمومی فعال باشد) بررسی‌ای اجرا کنید یا هشداری ارسال شود.

  • check-host.net: همهٔ بررسی‌ها با API عمومی check-host.net انجام می‌شود. نام میزبان یا آدرسی که وارد می‌کنید به check-host.net ارسال و نتیجه از همان‌جا دریافت می‌شود. فهرست نودها هم از همان‌جا گرفته می‌شود. (درباره · پرسش‌های متداول · مستندات API)
  • Telegram Bot API (api.telegram.org): فقط اگر هشدار تلگرام را فعال کنید. (شرایط · حریم خصوصی)
  • Bale Bot API (tapi.bale.ai): فقط اگر هشدار بله را فعال کنید. (شرایط · حریم خصوصی)
  • ایمیل: با تابع wp_mail() خود وردپرس ارسال می‌شود و افزونه با هیچ سرویس خارجی تماس نمی‌گیرد.

هیچ داده‌ای برای سازندهٔ افزونه ارسال نمی‌شود.

ساختار پروژه

irancheck/
├── irancheck.php        # فایل اصلی افزونه و autoloader
├── uninstall.php        # پاک‌سازی هنگام حذف
├── readme.txt           # readme مخزن وردپرس
├── assets/              # CSS و JS پیشخوان و ابزار عمومی
├── blocks/checker/      # بلوک گوتنبرگ
├── languages/           # فایل ترجمه (.pot)
└── includes/
    ├── api/             # کلاینت check-host.net و نودها
    ├── engine/          # موتور بررسی و تحلیل نتیجه (تشخیص فیلترینگ/تحریم)
    ├── monitor/         # زمان‌بندی مانیتورها و رویدادها
    ├── notify/          # تلگرام، بله و ایمیل
    ├── publicsite/      # شورت‌کد، بلوک، کپچا و محدودیت نرخ
    ├── rest/            # مسیرهای REST API
    ├── admin/           # صفحات پیشخوان
    ├── data/            # جدول‌های دیتابیس
    └── helpers/         # تاریخ شمسی، ارقام فارسی و قالب‌بندی

مشارکت

گزارش باگ، پیشنهاد و Pull Request با کمال میل پذیرفته می‌شود. قبل از شروع، راهنمای مشارکت را بخوانید.

مجوز

ایران‌چک نرم‌افزار آزاد است و تحت مجوز GPLv2 یا بالاتر منتشر شده است.

ساخته‌شده با ❤️ توسط مهدی ترکمان