WHMCS-Plugin · v1.0.0

Duck Stats für WHMCS — machen Sie Server-Uptime zum Hosting-Produkt.

Installieren Sie unser WHMCS-Addon und jeder verkaufte Server erscheint im Admin-Panel mit Live-Up/Down-Status. Jeder eingeloggte Kunde sieht nur die Monitore, die den Produkten, Servern oder Kundengruppen zugeordnet sind, die er tatsächlich besitzt. Kostenlos mit jedem Duck-Stats-Plan nutzbar — Ihr Tarif begrenzt, wie viele Monitore Sie freigeben können (50 / 200 / 1000 / unbegrenzt).

Lizenz anfragen → erfordert WHMCS ≥ 8.0 · PHP ≥ 8.1
Duck-Monitor-Rundgang: Admin weist Monitore Produkten zu, Kunde sieht Status pro Server
Admin weist Monitore zu → Kunde sieht Uptime pro Server, Antwortzeit, 90-Tage-Verlauf
01 · So sieht es aus

Drei Ansichten. Null Theme-Hacks.

Alle drei werden innerhalb Ihrer WHMCS-Oberfläche gerendert — Admin-Sidebar, Kundenportal, Dashboard-Widget. Keine Template-Overrides erforderlich.

Admin: Bearbeitungspanel pro Monitor mit Uptime-Kacheln, Heartbeats und Produktzuordnung
Admin · Zuordnung pro Monitor (Produkte, Server, Gruppen, Nutzer-IDs)
Kunde: Netzwerkstatus-Seite mit Uptime-Prozentwerten, Antwort-Chart und Heartbeat-Leiste
Kunde · Netzwerkstatus (nur die ihm zustehenden Monitore)
Kunden-Dashboard: Karte „Erkannte Störungen“ listet jeden Monitor mit Online-/Offline-Status
Kunden-Dashboard · Karte „Erkannte Störungen“ auf der Startseite
02 · Features

Alles, was Duck Monitor kann — klar erklärt.

Auto-Sync aus Ihrem Duck-Stats-Konto

Das Plugin liest Monitore aus einem Statusseiten-Slug über Ihren Duck-Stats-API-Key. Neue Monitore erscheinen bei jedem Seitenaufruf automatisch im Admin-Raster — kein manueller Sync-Button, den man im Auge behalten muss. Ein Sync from Duck Stats-Button ist da, falls Sie einen erzwingen möchten.

Produktzuordnung pro Monitor

Jeder Monitor kann auf All Users gesetzt oder durch eine beliebige Kombination aus WHMCS-Produkten, Servern (tblservers), Kundengruppen oder einer frei wählbaren Liste von Kunden-IDs eingeschränkt werden. Die Sichtbarkeit ist eine Vereinigung — ein Monitor erscheint, wenn eine beliebige Regel zutrifft.

Gefilterte Ansicht pro Kunde

Ein eingeloggter Kunde erhält einen Menüeintrag „Netzwerkstatus“ unter /index.php?m=duckmonitor. Er sieht nur die Monitore, die an seine aktiven Services / Addons / Gruppe gebunden sind. Kein Durchsickern zwischen Kunden.

Umfangreiche Details pro Monitor

Up/Down/Paused-Pill, Uptime-Kacheln für 24h / 7d / 30d / 365d, Latenz des letzten Pings, ein Chart.js-Mini-Chart der Antwortzeit und eine Heartbeat-Leiste der letzten 30 Checks.

Eigene Anzeigenamen

Benennen Sie einen Monitor für die Kundenanzeige um, ohne das Original anzurühren. Praktisch, wenn Ihr interner Name node-07-fra-emby lautet, Kunden aber Frankfurt Streaming Node sehen sollen.

Sortierreihenfolge & Aktivieren-Schalter

Ordnen Sie Monitore über ein numerisches Sortierfeld. Blenden Sie einen vorübergehend aus, ohne die Zuordnung zu löschen — über eine Enabled-Checkbox pro Zeile.

Gecacht für geringe API-Kosten

Die Monitorliste wird in WHMCS für ein konfigurierbares Intervall gecacht (Standard 2 Min.). Erhöhen Sie es, um Duck-Stats-API-Aufrufe bei einem stark frequentierten Portal zu reduzieren; senken Sie es für nahezu Echtzeit-Aktualität.

Öffentliche oder eingeloggte Sichtbarkeit

Schalten Sie das gesamte Panel zwischen loggedin (Standard) und public um. Der Public-Modus macht aus Ihrem WHMCS eine kundenseitige Statusseite unter your-billing-host/index.php?m=duckmonitor.

Lizenzgeschützt, bringt WHMCS nie zum Absturz

Kontaktiert license.duckingstats.com einmal pro 7 Tage. Ist der Lizenzserver nicht erreichbar, arbeitet das Plugin für ein 30-tägiges Kulanzfenster weiter. Ist die Lizenz ungültig, rendert das Panel einen freundlichen Hinweis — Ihre Abrechnungsseiten funktionieren weiter.

Massen- & AJAX-Speichern

Ein einziges Save All schreibt jede Zuordnung in einem POST, oder speichern Sie einen einzelnen Monitor direkt per AJAX. Beide Wege sind über die WHMCS-Admin-Session CSRF-geschützt.

Spuren im Aktivitätsprotokoll

Alle Fehler (Lizenz-curl-Fehler, API-Antworten ungleich 200, ungültiges JSON) werden in das Utilities → Logs → Activity Log von WHMCS geschrieben, mit dem Präfix duckmonitor: / duckmonitor api:.

Saubere Deinstallation

Klicken Sie auf Deaktivieren, und beide internen Tabellen (duck_monitor_map, duckmonitor_license) werden entfernt. Löschen Sie dann den Modulordner. Kein zurückbleibendes Schema, keine zurückbleibenden Einstellungen.

Lizenzgeschützte Installation

Das Plugin-Zip wird pro WHMCS-Installation ausgegeben — kein öffentlicher Download. Jede Installation ist an einen Hostnamen gebunden; das Panel prüft zur Laufzeit alle 7 Tage bei license.duckingstats.com zurück.

03 · Voraussetzungen

Wenn Ihr WHMCS läuft, läuft das Plugin.

Keine exotischen Erweiterungen. Nur cURL und ausgehendes HTTPS.

WHMCS

≥ 8.0
Getestet auf 8.10 / 8.11 / 8.12 / 8.13

PHP

≥ 8.1
8.1 · 8.2 · 8.3

MySQL

≥ 5.7
oder MariaDB ≥ 10.3

PHP-Ext.

curl, json
Beide standardmäßig enthalten

Outbound

stats.duckingstats.com
license.duckingstats.com
:443 HTTPS

Lizenz

pro WHMCS-Installation
Eine Lizenz = ein Hostname. Nach Anfrage senden wir Ihnen Zip + Lizenzschlüssel per E-Mail.
04 · Installation

Vom Zip zum Livebetrieb in 5 Minuten.

  1. Lizenz + Plugin-Zip anfordern

    Schreiben Sie eine E-Mail an [email protected] mit Ihrem WHMCS-Hostnamen. Wir schicken Ihren Lizenzschlüssel + einen signierten einmaligen Download-Link zurück, gebunden an diesen Hostnamen.

  2. In Ihre WHMCS-Installation hochladen

    Entpacken und hochladen, sodass duckmonitor.php unter /modules/addons/duckmonitor/duckmonitor.php landet. Die gesamte Struktur:

    modules/addons/duckmonitor/
      duckmonitor.php
      install.php
      lib/{License,ApiClient,ServerSync,ClientPanel}.php
      templates/status.tpl
      lang/english.php
  3. In WHMCS aktivieren

    WHMCS-Admin → Setup → Addon ModulesDuck Monitor suchen → Activate. Der Activate-Hook erstellt automatisch die Tabellen duck_monitor_map und duckmonitor_license.

  4. Zwei Keys unter Configure einfügen

    Öffnen Sie Duck Monitor → Configure und tragen Sie ein:

    • License Key — Format DS-XXXX-XXXX-XXXX-XXXX, aus Ihrem Duck-Stats-Konto.
    • Duck Stats API Key — generieren unter stats.duckingstats.comSettings → API Keys.
    • Status Page Slug — von welcher Duck-Stats-Statusseite die Monitore gelesen werden.

    Erteilen Sie Access Control den Admin-Rollen, die die Addon-Seite sehen sollen.

  5. Monitore Produkten zuordnen

    Öffnen Sie die Addon-Seite (Sidebar → Duck Monitor). Wählen Sie für jeden Monitor All Users oder Selected und markieren Sie dann die Produkte, Server, Gruppen oder Kunden-IDs, die ihn sehen sollen. Klicken Sie auf Save All. Fertig.

05 · Lizenzierung

Zwei Keys — bewusst so gebaut.

Ein License Key aktiviert das Plugin. Ein separater API Key liest Ihr Duck-Stats-Konto. Sie getrennt zu halten bedeutet, dass Sie einen von beiden erneuern können, ohne den anderen neu zu aktivieren — rotieren Sie API-Keys vierteljährlich, ohne die Lizenz anzurühren.

  • Der Lizenz-Check läuft einmal pro 7 Tage je WHMCS-Installation.
  • 30 Tage Offline-Kulanz — ist unser Lizenzserver nicht erreichbar, Sie aber zuletzt ein OK hatten, liefert das Plugin weiterhin Monitore aus.
  • Der Fingerprint ist sha256(whmcs_install_id || hostname) — eine Lizenz, eine Installation.
  • Widerrufen oder abgelaufen? Das Panel zeigt einen freundlichen “License invalid”-Hinweis. Ihr WHMCS selbst geht nie kaputt.
POST license.duckingstats.com/v1/check
{
  "license_key": "DS-8CC4-61A7-1704-7897",
  "fingerprint": "a4d2f3...e91c",
  "plugin_version": "1.0.0"
}

← HTTP 200
{
  "active": true,
  "tier": "pro",
  "message": "OK"
}

# 7 Tage gecacht; 30 Tage Offline-Kulanz.
06 · Direktvergleich

Duck Monitor gegen die Status-Module aus dem WHMCS-Store.

Wir haben gegen zwei der beliebtesten WHMCS-Marketplace-Module in derselben Kategorie verglichen: WS Server Monitoring und WS UptimeRobot Status von whmcsservices.com. Hier steht, was drinsteckt.

Funktion Duck Monitor WS Server Monitoring WS UptimeRobot Status
Monitoring-EngineDuck Stats — Multi-Region-Probes aus unserer FleetSelbst gehostet in WHMCS — Single-Region-Cron in Ihrer Billing-BoxZieht von UptimeRobot — Single-Region-Pull
Multi-Region-Konsens (verhindert Fehlalarme)Ja — 4 Regionen, konfigurierbares QuorumNein — eine Box führt die Checks ausNein — der Free-Plan von UptimeRobot ist Single-Region
Produktzuordnung pro MonitorJa — Produkte, Server, Gruppen, Kunden-IDs (Vereinigung)Ja — produktbasierte PaketeJa — Produkte, ausgewählte Kunden, öffentlich, eingeloggt
Push-Monitore (für Maschinen hinter NAT)Ja — Cron-Heartbeats + Prozess-WatcherNeinNein
DB-Health-Inspector (Slow Queries, Replika-Lag, Buffer-Pool)Ja — optional beim MySQL-MonitorNein — MySQL = nur Port lebendigNein
Kostenloser TarifJa — 50 Monitore für immer kostenlosNein — kostenpflichtige LizenzNein — $29.99-Lizenz
SMS-Alerts an Kunden (eigenes SMS-Gateway)Teilweise — wir alarmieren Sie per SMS (eigenes Twilio); das WHMCS-Plugin zeigt Status, versendet aber keine Kunden-SMSJa — SMS-Opt-in auf Mitgliederebene über WS SMS ManagerNein
Automatisches WHMCS-Ticket bei AusfallNein (als Lücke markiert) — wir alarmieren per E-Mail/Webhook; das Auto-Ticket auf WHMCS-Seite ist auf der RoadmapJa — Ticket wird automatisch erstellt, wenn ein Monitor ausfälltNein
Weiterverkauftes Monitoring als Produkt (Kunden zahlen Ihnen dafür, ihre Sites zu überwachen)Nein (als Lücke markiert) — Duck Monitor zeigt Kunden Ihre Server; wir unterstützen noch nicht, dass Kunden eigene URLs über WHMCS hinzufügenJa — das ist das ganze ProduktNein
Öffentliche Statusseite außerhalb von WHMCSJa — vollwertige Statusseiten auf Ihrer eigenen Domain, mit Abo + IncidentsEingeschränkt — nur innerhalb von WHMCSJa — die eigenen Statusseiten von UptimeRobot
Live-Antwortzeit-Chart pro MonitorJa — Chart.js, p50/p95/p99EinfachEinfach
365-Tage-Uptime-KachelnJaNicht standardmäßigNein
Offene REST-APIJaGET /api/v1/monitors mit Bearer-AuthEingeschränkt — nur hinzufügen/bearbeiten/löschen/up-or-downNein
White-Label / Multi-BrandJa in den Tarifen Team / EnterpriseNeinNein
Discord-StatusboardJa — eigenes Emoji pro Monitor, 90s-AktualisierungNeinNein
VertriebLizenzgebunden — ein Zip pro WHMCS-Hostname, LaufzeitprüfungLizenzgebundenLizenzgebunden · ionCube-verschlüsselt
LizenzkostenKostenlos enthalten in jedem Duck-Stats-PlanLizenz (variiert) · Source-Lizenz extraLizenz $29.99 · Source $249.99

Der Vergleich spiegelt die öffentlich gelisteten Funktionen auf whmcsservices.com mit Stand 2026-06-29 wider. Wo diese eine Funktion haben, die uns fehlt, haben wir sie gelb markiert, damit Sie vor dem Kauf nachfragen können. Wenn Sie eine davon jetzt brauchen, schreiben Sie an [email protected] — der Auto-Ticket-bei-Ausfall-Fall ist überschaubar.

07 · Wer das kauft

Drei ehrliche Einsatzfälle.

Hosting-Reseller

Ordnen Sie Ihren Hetzner FSN1-Monitor dem Produkt Premium VPS Frankfurt zu. Kunden dieses Plans sehen den Frankfurt-Status, ohne Ihre London- oder Dallas-Kacheln zu sehen. Statusbedingte Support-Tickets halbieren sich.

Media-/IPTV-Betreiber

Ordnen Sie Ihren Emby cluster A-Monitor der Kundengruppe Emby Power Users zu. Sie erhalten eine Echtzeitansicht des Clusters, für den sie bezahlen; alle anderen sehen ihn gar nicht.

SaaS-/Web-App-Anbieter

Schalten Sie das Plugin auf public-Sichtbarkeit und Sie haben eine auch ohne Login zugängliche Statusseite direkt in Ihrer WHMCS-Oberfläche — keine separate Subdomain einzurichten.

08 · FAQ

Häufige Fragen vor der Installation.

Wo bekomme ich meinen Lizenzschlüssel?
Nachdem Sie ein Duck-Stats-Abo mit dem WHMCS-Addon gekauft haben, erscheint der Schlüssel in Ihrem Konto unter stats.duckingstats.comSettings → License keys. Format: DS-XXXX-XXXX-XXXX-XXXX. Solange wir den Self-Service-Checkout einrichten, schreiben Sie an [email protected] — wir stellen ihn in unter einer Stunde aus.
Kann ich eine Lizenz auf mehreren WHMCS-Installationen nutzen?
Nein. Jede Lizenz wird beim ersten Check per sha256(whmcs_install_id || hostname) mit einem Fingerprint versehen. Wenn Sie zwei Billing-Portale überwachen müssen, brauchen Sie zwei Lizenzen — oder zahlen für den Source-/Multi-Install-Tarif (schreiben Sie uns). Eine einzelne Installation auf einen neuen Host umzuziehen ist in Ordnung; kontaktieren Sie einfach den Support, um den Fingerprint zurückzusetzen.
Was passiert, wenn license.duckingstats.com nicht erreichbar ist?
Nichts Sichtbares. Das Plugin cacht einen erfolgreichen Check für 7 Tage und respektiert diesen Cache in einem 30-tägigen Kulanzfenster, falls unser Lizenzserver nicht erreichbar ist. Nach 30 Tagen offline zeigen die Panels einen freundlichen “unreachable”-Hinweis — Ihr WHMCS selbst funktioniert in jedem Fall weiter.
Welche Daten sendet das Plugin an Duck Stats?
Der Lizenz-Check sendet nur {license_key, fingerprint, plugin_version}. Monitor-Abrufe holen aus Ihrem Duck-Stats-Konto über Ihren API-Key — wir erhalten keine WHMCS-Kundendaten, Rechnungen oder Tickets. Die Zuordnung zwischen Monitoren und Ihren WHMCS-Produkten wird nur in Ihrer lokalen Datenbank gespeichert (duck_monitor_map).
Kann ich das “Duck Stats”-Branding per White-Label ausblenden?
In den Tarifen Team und Enterprise ja — sowohl die Statusseite als auch das WHMCS-Panel unterstützen das Ersetzen von Logo, Akzentfarbe und Footer-Text. In Free / Pro behält das Panel einen kleinen “Powered by Duck Stats”-Hinweis.
Wie bekomme ich das Plugin?
Schreiben Sie an [email protected] mit Ihrem WHMCS-Hostnamen. Wir antworten mit Ihrem Lizenzschlüssel + einem einmaligen signierten Download-Link, gebunden an diesen Hostnamen. Es gibt keinen öffentlichen Download — das Zip wird pro Installation ausgegeben.
Wie funktioniert das Limit für die Monitoranzahl?
Es zählt gegen Ihren Duck-Stats-Plan: Free 50 / Pro 200 / Team 1000 / Enterprise unbegrenzt. Das Plugin liest nur aus Ihrem Konto — welche Monitore auch immer Sie auf Ihrer Statusseite haben, können Sie zuordnen. Monitore über dem Limit erscheinen einfach nicht in der Duck-Stats-API.
Verlangsamt es WHMCS?
Die Duck-Stats-Monitorliste wird in WHMCS standardmäßig 2 Minuten gecacht (konfigurierbar). Der Lizenz-Check läuft einmal pro 7 Tage und wird danach aus einer lokalen Zeile bedient. Der Overhead pro Seitenaufruf ist ein indizierter Tabellenzugriff. Wir haben unter 25 ms auf einer Standard-WHMCS-8.13-Installation gemessen.

Machen Sie Uptime zum Teil des Produkts.

Fünf Minuten Installation, keine Template-Hacks, kostenlos mit jedem Duck-Stats-Plan.

E-Mail für eine Lizenz