WP Manifestindependent plugin directory
manifest / utilities / ip-status-lamp

IP Status Lamp

ip-status-lamp for wordpress site

by MIP Audit · github.com/serhyi/ip-status-lamp · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/serhyi/ip-status-lamp/archive/refs/heads/main.zip

IP Status Lamp — WordPress Plugin

Віджет-лампочка для моніторингу доступності IP-адреси через PING.

🔧 Встановлення

  1. Завантажте папку ip-status-lamp у /wp-content/plugins/
  2. Активуйте плагін у розділі "Плагіни" WordPress
  3. Перейдіть до Налаштування → IP Status Lamp
  4. Вкажіть IP-адресу для моніторингу
  5. Вставте shortcode на потрібну сторінку

📋 Використання

Базовий shortcode

[ip_status_lamp]

З параметрами

[ip_status_lamp size="large" label="Офісний сервер"]

Параметри:

  • size — розмір лампочки: small, medium (за замовчуванням), large
  • label — заголовок перед лампочкою

⚙️ Налаштування

Параметр Опис Значення
IP-адреса IP або домен для перевірки напр. 192.168.1.1
Інтервал Автооновлення статусу на сторінці 1-60 хвилин
Кількість PING Скільки пінгів для визначення статусу 1-10
Таймаут Час очікування відповіді 1-10 секунд

🔴🟢 Логіка статусу

  • Зелений (Онлайн): більше половини пінгів успішні
  • Червоний (Офлайн): менше половини пінгів успішні
  • Жовтий: помилка з'єднання

🛠 Технічні деталі

  • Client-side rendering — статус завантажується через AJAX одразу при відкритті сторінки
  • Сторінка може кешуватися (CDN/Cloudflare) — статус завжди актуальний
  • Ping виконується на сервері через PHP exec()
  • Підтримує Windows та Linux сервери
  • REST API endpoint: /wp-json/ip-status-lamp/v1/status
  • Автоматичне оновлення через заданий інтервал

⚠️ Вимоги

  • PHP 7.4+
  • WordPress 5.0+
  • Доступ до функції exec() на сервері
  • Права на виконання команди ping

🔒 Безпека

  • Валідація IP: перевіряється формат IPv4, IPv6 та доменних імен
  • Command Injection: заборонені небезпечні символи (;, |, &, `, $ тощо)
  • Подвійна перевірка: валідація при збереженні + перед виконанням ping
  • No-cache headers: заборона кешування сторінок та REST API відповідей

📄 Ліцензія

GPL v2 або пізніша