13 KiB
Changelog
Alle wichtigen Änderungen an diesem Projekt werden in dieser Datei dokumentiert.
Das Format basiert auf Keep a Changelog, und dieses Projekt folgt Semantic Versioning.
Unreleased
Behoben
- API-Endpunkte korrigiert:
- ✅ Alle
/usersEndpunkte auf korrekte/clientsEndpunkte umgestellt - ✅ Parameter
user_idaufid_clientkorrigiert - ✅ Parameter
plan_idaufid_hosting_plankorrigiert - ✅ Behebt "Endpoint not found" Fehler beim Server hinzufügen
- KeyHelp API verwendet
/clients, nicht/users
- ✅ Alle
Hinzugefügt
-
Automatische SSL-Verifizierung bei IP-Adressen:
- SSL-Verifizierung wird automatisch deaktiviert wenn eine IP-Adresse als Hostname verwendet wird
- Behebt "cURL error 60: SSL certificate problem" bei IP-Adressen
- Manuelle Deaktivierung möglich über HTTP Prefix "no-verify"
- Logging-Hinweis wenn SSL-Verifizierung deaktiviert wird
-
Template-System mit Fallback:
- Automatischer Fallback auf "Manual Configuration" wenn
/plansEndpunkt nicht verfügbar - Kompatibel mit KeyHelp Free (ohne Hosting-Pläne)
- Optional: Hosting-Pläne wenn verfügbar (KeyHelp Pro)
- Automatischer Fallback auf "Manual Configuration" wenn
Dokumentation
- Neue Datei
KEYHELP_API_REFERENCE.mdmit vollständiger API-Dokumentation - Neue Datei
SSL_TROUBLESHOOTING.mdmit umfassender SSL-Fehlerbehandlung - README.md erweitert um SSL-Konfigurationshinweise
- QUICKSTART.md aktualisiert mit SSL-Best-Practices
- Korrekte API-Endpunkte und Parameter dokumentiert
Geplant
- Multi-Language Support (Deutsch/Englisch)
- Automatische Backup-Verwaltung
- E-Mail-Account-Verwaltung im Client Area
- Datenbank-Verwaltung im Client Area
- FTP-Account-Management
- Subdomain-Verwaltung
- Ressourcen-Upgrade/Downgrade-Funktionen
- Webhook-Support für Events
2.0.0 - 2024-01-20
🎉 Wichtige Änderungen
- Zentralisierte API-Konfiguration: API-Keys und Server-Einstellungen werden jetzt nur einmal in den WHMCS Server-Einstellungen konfiguriert, nicht mehr pro Produkt
- Template/Vorlagen-System: Automatische Synchronisation von KeyHelp-Plänen/Vorlagen als Dropdown-Auswahl
- Template-basierte Provisionierung: Domains werden automatisch mit der ausgewählten Vorlage erstellt
Hinzugefügt
-
Template-Verwaltung:
- Automatisches Laden von KeyHelp-Plänen/Vorlagen via API
- Dropdown-Auswahl bei Produktkonfiguration
- Template-Cache für bessere Performance (5 Minuten)
- "Sync Templates" Button im Admin-Bereich
- Template-Name wird im Client Area angezeigt
-
Verbesserte Client Area:
- Anzeige des verwendeten Templates/Plans
- Direkter Link zum Admin-Panel für die Domain
- Template-Badge in der Produktübersicht
- Übersichtlichere Button-Anordnung
- Admin-Panel-Button für direkte Verwaltung
-
Zentrale Server-Konfiguration:
- API-Key wird nur einmal in WHMCS Server-Einstellungen eingegeben
- Hostname/IP in Server-Einstellungen (nicht mehr pro Produkt)
- SSL-Einstellungen über WHMCS Server-Verwaltung
- Vereinfachte Produktkonfiguration (nur Template-Auswahl)
-
Template-basierte Erstellung:
- Domain wird automatisch mit ausgewählter Vorlage erstellt
- Template-ID wird in Account-Details gespeichert
- Template-Informationen werden bei Erstellung verwendet
- Automatische Zuordnung von Plan-Ressourcen
-
Neue API-Funktionen:
_keyhelpmanager_GetTemplates()- Lädt verfügbare Templateskeyhelpmanager_TemplateLoader()- Dropdown-Loader für Templateskeyhelpmanager_SyncTemplates()- Synchronisiert Templates manuellkeyhelpmanager_AdminCustomButtonArray()- Admin-Buttons
-
Erweiterte Account-Speicherung:
- Domain-ID wird jetzt gespeichert
- Template-ID wird in Account-Details hinterlegt
- Bessere Verknüpfung zwischen WHMCS und KeyHelp
Geändert
-
API-Request-Funktion überarbeitet:
- Verwendet jetzt WHMCS Server-Parameter statt Config-Optionen
serverhostnamestattconfigoption1serveraccesshashstattconfigoption2serversecurestattconfigoption3- Bessere Fehlermeldungen bei fehlender Konfiguration
-
ConfigOptions vereinfacht:
- Nur noch Template-Dropdown statt 4 Konfigurationsoptionen
- Hostname, API-Key, SSL nicht mehr pro Produkt nötig
- Einfachere Produktverwaltung
-
CreateAccount verbessert:
- Verwendet Template-ID aus Produktkonfiguration
- Übergibt Template bei Domain-Erstellung
- Speichert zusätzliche Metadaten (Domain-ID, Template)
-
ClientArea erweitert:
- Zeigt Template-Namen und Admin-Panel-Link
- Lädt Template-Details von API
- Direkter Link zur Domain-Verwaltung im Panel
Behoben
- Redundante API-Key-Eingabe pro Produkt entfernt
- SSL-Konfiguration vereinheitlicht
- Template-Auswahl jetzt dynamisch statt statisch
- Panel-URL-Generierung korrigiert
Sicherheit
- SSL-Verifizierung standardmäßig aktiviert
- Zentrale API-Key-Verwaltung reduziert Sicherheitsrisiken
- Weniger Stellen für sensible Daten in der Konfiguration
Technische Details
-
Neue API-Endpunkte:
GET /api/v2/plans- Lädt verfügbare Pläne/TemplatesGET /api/v2/plans/{id}- Lädt Template-Details
-
Neue Datenbankfelder:
domainidin Account-Detailstemplatein Account-Details- Template-Cache in
tblconfiguration
Migration von 1.x
- Konfigurieren Sie Ihre KeyHelp-Server in WHMCS unter Setup > Products/Services > Servers
- Tragen Sie Hostname und API-Key dort ein (statt in jedem Produkt)
- Wählen Sie bei jedem Produkt den entsprechenden Server aus
- Verwenden Sie "Sync Templates" um verfügbare Vorlagen zu laden
- Wählen Sie für jedes Produkt die passende Vorlage aus
Bekannte Einschränkungen
- Template-Cache läuft nach 5 Minuten ab (nicht konfigurierbar)
- Manuelle Template-Synchronisation erforderlich bei Änderungen in KeyHelp
- Admin-Panel-Link funktioniert nur mit Standard-KeyHelp-URL-Struktur
1.0.0 - 2024-01-15
Entwickelt von
- Entwickler: Kevin Feiler
- Firma: AVVGO
- Website: https://avvgo.de
Hinzugefügt
-
Initiales Release des KeyHelp Manager WHMCS Provisioning Moduls
-
Account-Verwaltung:
- Automatische Account-Erstellung nach Zahlungseingang
- Account-Sperrung (Suspend) bei Zahlungsverzug
- Account-Entsperrung (Unsuspend)
- Account-Löschung (Terminate) mit allen Daten
- Passwort-Änderungsfunktion
-
API-Integration:
- KeyHelp API v2 Unterstützung
- Guzzle HTTP Client für zuverlässige API-Kommunikation
- SSL/TLS-Verschlüsselung für API-Verbindungen
- Konfigurierbare SSL-Zertifikat-Verifizierung
- Umfassendes Error-Handling und Retry-Logik
-
Client Area Features:
- Übersichtliche Darstellung der Login-Informationen
- KeyHelp Login-URL mit direktem Zugang
- Username und Passwort mit Copy-to-Clipboard-Funktion
- Passwort anzeigen/verbergen Toggle
- Live-Statistiken vom KeyHelp-Server:
- Speicherplatz-Nutzung mit Fortschrittsbalken
- Traffic/Bandbreiten-Nutzung mit Fortschrittsbalken
- Anzahl der Domains
- Anzahl der Datenbanken
- Anzahl der E-Mail-Konten
- Responsive Design für alle Geräte
- Bootstrap-kompatibles Layout
-
Admin-Features:
- Single Sign-On (SSO) für Admins
- Ein-Klick-Login direkt in den Kunden-Account
- Detailliertes Module-Logging aller API-Calls
- Connection-Test-Funktion für Server-Konfiguration
- Automatische Maskierung sensibler Daten in Logs
-
Automatisierung:
- Automatische Benutzername-Generierung aus Domain
- Sichere Passwort-Generierung (16 Zeichen, kryptografisch sicher)
- Automatische Speicherung von Account-Details in WHMCS
- Custom Field Management für KeyHelp User-ID
- Rollback-Mechanismen bei fehlgeschlagener Erstellung
-
Sicherheit:
- API-Key-Verschlüsselung in WHMCS-Datenbank
- SSL/TLS-Unterstützung für alle API-Verbindungen
- Validierung und Sanitization aller Eingaben
- Schutz vor SQL-Injection durch Capsule ORM
- Sichere Session-Token-Generierung für SSO
- Automatische Maskierung von Credentials in Logs
-
Dokumentation:
- Ausführliche README.md mit Feature-Übersicht
- Detaillierte INSTALLATION.md mit Schritt-für-Schritt-Anleitung
- Umfangreiche Code-Kommentare (Deutsch)
- API-Endpunkt-Dokumentation
- Troubleshooting-Guide
- Best Practices für Sicherheit
-
Entwickler-Tools:
- Composer.json für Dependency-Management
- .gitignore für sauberes Repository
- PSR-12 Code-Style-Kompatibilität
- Modulare Code-Struktur für einfache Wartung
Technische Details
-
Mindestanforderungen:
- PHP 8.3+
- WHMCS 8.13+
- KeyHelp mit API v2
- Guzzle HTTP Client (in WHMCS integriert)
-
Unterstützte KeyHelp API-Endpunkte:
POST /api/v2/users- Benutzer erstellenGET /api/v2/users/{id}- Benutzer-DetailsPUT /api/v2/users/{id}- Benutzer aktualisierenDELETE /api/v2/users/{id}- Benutzer löschenPOST /api/v2/domains- Domain hinzufügenGET /api/v2/users/{id}/statistics- Statistiken abrufenPOST /api/v2/sessions- SSO-Session erstellenGET /api/v2/server/version- Server-Version (Test)
-
WHMCS-Funktionen:
keyhelpmanager_MetaData()- Modul-Metadatenkeyhelpmanager_ConfigOptions()- Server-Konfigurationkeyhelpmanager_CreateAccount()- Account erstellenkeyhelpmanager_SuspendAccount()- Account sperrenkeyhelpmanager_UnsuspendAccount()- Account entsperrenkeyhelpmanager_TerminateAccount()- Account löschenkeyhelpmanager_ChangePassword()- Passwort ändernkeyhelpmanager_ClientArea()- Client-Bereichkeyhelpmanager_LoginLink()- Admin SSOkeyhelpmanager_TestConnection()- Verbindungstest
Hilfsfunktionen
_keyhelpmanager_APIRequest()- Zentrale API-Request-Funktion_keyhelpmanager_GenerateUsername()- Username-Generierung_keyhelpmanager_GeneratePassword()- Passwort-Generierung_keyhelpmanager_SaveAccountDetails()- Account-Details speichern_keyhelpmanager_GetAccountDetails()- Account-Details laden_keyhelpmanager_GetUserId()- KeyHelp User-ID abrufen_keyhelpmanager_UpdateAccountDetail()- Einzelnes Detail aktualisieren_keyhelpmanager_DeleteAccountDetails()- Details löschen_keyhelpmanager_GetCustomFieldId()- Custom Field ID abrufen_keyhelpmanager_FormatBytes()- Bytes formatieren_keyhelpmanager_CalculatePercent()- Prozentsatz berechnen
Templates
clientarea.tpl- Smarty-Template für Client Area mit:- Bootstrap 3/4 kompatibles Design
- FontAwesome Icons
- Responsive Grid-Layout
- JavaScript-Funktionen für Interaktivität
- Copy-to-Clipboard-Funktionalität
- Passwort-Toggle-Funktion
- Fortschrittsbalken mit Farbcodierung
Konfigurationsoptionen
- Hostname/IP des KeyHelp-Servers
- API-Key-Verwaltung
- SSL-Aktivierung (On/Off)
- SSL-Zertifikat-Verifizierung (On/Off)
Bekannte Einschränkungen
- Keine direkte Multi-Language-Unterstützung (nur Deutsch)
- Erweiterte Features wie E-Mail-/DB-Verwaltung nicht implementiert
- Session-Token-Lifetime fest auf 5 Minuten (nicht konfigurierbar)
- Keine automatische Plan/Tarif-Synchronisation
0.9.0-beta - 2024-01-10
Hinzugefügt
- Beta-Version für interne Tests
- Basis-Funktionalität für Account-Erstellung
- Erste API-Integration
Geändert
- API-Request-Handling optimiert
- Error-Messages verbessert
Behoben
- Connection-Timeout-Probleme
- SSL-Verifizierung bei selbstsignierten Zertifikaten
0.5.0-alpha - 2024-01-05
Hinzugefügt
- Initiale Projekt-Struktur
- Grundlegende Modul-Funktionen
- API-Client-Implementierung
Versionierungsschema
- Major.Minor.Patch (z.B. 1.0.0)
- Major: Breaking Changes, große neue Features
- Minor: Neue Features, abwärtskompatibel
- Patch: Bugfixes, kleine Verbesserungen
Credits
Dieses Modul wurde entwickelt von:
- Kevin Feiler - Lead Developer
- AVVGO - https://avvgo.de
Support
- GitHub Issues: Für Bug-Reports und Feature-Requests
- Dokumentation: Siehe README.md und INSTALLATION.md
- KeyHelp Forum: https://forum.keyhelp.de/
- WHMCS Community: https://whmcs.community/
Mitwirken
Contributions sind willkommen! Bitte erstellen Sie einen Pull Request mit:
- Beschreibung der Änderungen
- Tests für neue Features
- Aktualisierung der Dokumentation
- Eintrag in diesem CHANGELOG