377c64f8d02c9bc67739fd7281a30ca1d91817bf
- Lizenz-Tab: bei vollen Plaetzen erscheint ein "Lizenz upgraden"-Button (https://lucas-orth.de/wp-plugins/gdpr-content-blocker/) zusaetzlich zur domain-freigabe. - Neues Feature "Schriften": Google Fonts lokal hosten (button-modell). Admin klickt "Jetzt herunterladen & einbinden" -> plugin scannt die seiten, laedt googleapis-CSS + gstatic-schriftdateien einmalig in den uploads-ordner, schreibt die pfade lokal um und tauscht sie per output-buffer im quelltext. Abgedeckt: <link>, inline-@import/url() UND @import/url() in gleicher-origin externen CSS-dateien (mit absolutierung der restlichen relativen pfade). preconnect/dns-prefetch zu google-font-hosts werden entfernt (kein IP-leak). Toggle zum aus/einschalten + "Lokale Schriften loeschen". - i18n-pipeline robuster: build-en-mo.py nutzt jetzt translations-en.json (lookup per quell-string, reihenfolge-unabhaengig) und bricht mit liste ab, falls eine uebersetzung fehlt. Alle neuen strings DE/EN ergaenzt (139). - version 1.3.0 (header + CB_VERSION). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
GDPR Content Blocker — Monorepo
DSGVO-konformer Consent-Blocker für externe iframes + selbst-gehosteter Lizenz-/Update-Server.
Struktur
gdpr-content-blocker/— das WordPress-Plugin. Aus diesem Ordner wird die Release-ZIP gebaut (Top-Level-Ordnergdpr-content-blocker/).license-backend/— Node/Express + SQLite Lizenz- & Update-Backend (Docker).hilfsdaten/— interne Notizen, Spickzettel, Gitea-Runner-Setup (nicht Teil des Plugins).release.ps1— baut die Plugin-ZIP und lädt sie ins Backend (manueller Release).
Manueller Release (Update verteilen)
- Version in
gdpr-content-blocker/gdpr-content-blocker.phpbumpen (HeaderVersion:unddefine( 'CB_VERSION', … )), committen. - ZIP bauen + hochladen:
.\release.ps1 -Version 1.0.1 -Token DEIN_ADMIN_API_TOKEN - Lizenzierte Seiten sehen das Update unter Plugins.
Details: siehe hilfsdaten/SPICKZETTEL.md.
Backend starten
Siehe license-backend/README.md.
Hinweis
Secrets (.env) sind per .gitignore ausgeschlossen und gehören nicht ins Repo.
Description
Languages
JavaScript
49.8%
PHP
43.9%
CSS
3.2%
Python
2.1%
PowerShell
0.7%
Other
0.3%