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

IP Status Lamp

ip-status-lamp for wordpress site

★ 0stars

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/serhyi/ip-status-lamp/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.

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 або пізніша