Search by

dud / contao-wartung-client

drum-und-dran

Client-Bundle für den Wartomat (Contao-Wartungssystem von Drum und Dran)

Package info

github.com/drum-und-dran/contao-wartung-client

Type:contao-bundle

pkg:composer/dud/contao-wartung-client

Statistics

Installs: 86

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.2.1 2026-11-06 14:32 UTC

This package is auto-updated.

Last update: 2026-11-06 14:34:03 UTC


README

Client-Bundle für den Wartomat, das Contao-Wartungssystem von Drum und Dran. Es stellt einen geschützten JSON-Endpunkt bereit, über den der Wartomat PHP-, Contao- und Datenbankversion sowie weitere Betriebsdaten einer Contao-Installation abfragt.

Voraussetzungen

  • PHP 7.4 oder neuer
  • Contao 4.13, 5.x oder 6.x

Installation

Über den Contao Manager oder per Composer:

composer require dud/contao-wartung-client

Bundle und Route werden automatisch registriert (Contao-Manager-Plugin). Eine manuelle Einbindung in config/routes.yaml ist ab Version 1.1.0 nicht mehr nötig und kann entfernt werden.

Einrichtung (empfohlen): gemeinsames Geheimnis

Im Wartomat auf der Detailseite des Clients das Client-Geheimnis kopieren und in der Contao-Installation in .env.local eintragen:

CONTAO_WARTUNG_SECRET=<Geheimnis aus dem Wartomat>

Danach den Cache leeren (vendor/bin/contao-console cache:clear --env=prod bzw. im Contao Manager). Sobald das Geheimnis gesetzt ist, nimmt das Bundle nur noch signierte Anfragen an.

API

GET /contao-wartung/api
Modus Authentifizierung Antwort
hmac Header X-Wartung-Timestamp, X-Wartung-Nonce, X-Wartung-Signature = hex(HMAC-SHA256(secret, "v2\n<timestamp>\n<nonce>")), Uhrzeitabweichung ≤ 5 Minuten Basisdaten und erweiterte Daten
legacy ?auth=sha256(host ohne www + salt) – nur solange kein Geheimnis gesetzt ist nur Basisdaten

Basisdaten: php_version, contao_version, mysql_version, bundle_version, auth_mode, schema.

Erweiterte Daten: PHP-Laufzeit (SAPI, memory_limit, Erweiterungen, OPcache), Symfony-Version, Umgebung und Debug-Modus, Wartungsmodus, freier Speicherplatz, letzter Contao-Cron-Lauf, Anzahl Administratoren ohne Zwei-Faktor-Anmeldung, installierte Contao-Erweiterungen mit Version und (ab 1.2.0) die Version des Contao Managers (contao_manager, ausgelesen ohne Code aus dem Phar auszuführen).

Antworten werden mit Cache-Control: no-store und X-Robots-Tag: noindex ausgeliefert.

Sicherheit

Der Legacy-Token beruht auf einem im Quelltext veröffentlichten Salt und ist damit für jeden berechenbar. Er bleibt nur zur Abwärtskompatibilität erhalten und liefert deshalb ausschließlich die Basisdaten. Für alle Installationen sollte das Geheimnis gesetzt werden.

Entwicklung

composer install
php -d phar.readonly=0 vendor/bin/phpunit   # phar.readonly=0 nur für den Test mit echtem Phar

Autor

Gunnar Haeuschkel – Drum und Dran