Files
GDPR-Content-Blocker/hilfsdaten/SPICKZETTEL.md
s4luorth 839c364758 chore: alle versionsangaben einheitlich auf 1.7.0 + readme aktualisiert
- Plugin: Header-Version + CB_VERSION -> 1.7.0
- readme.txt: Stable tag 1.7.0, Features aktualisiert (skript-blockierung,
  consent-shortcode, textausrichtung, ganzseitiger scan, kein weissraum, ...),
  changelog-eintrag 1.7.0 + upgrade notice
- Backend package.json -> 1.7.0
- Doku-beispiele (README.md, SPICKZETTEL.md, license-backend/README.md) auf
  1.7.0 angeglichen

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 09:34:25 +02:00

3.3 KiB

GDPR Content Blocker — Spickzettel (intern, NICHT ins Plugin)

Dieser Ordner liegt außerhalb des Plugin-Repos und wird nicht ausgeliefert. Hier nur Hilfsdaten/Notizen für mich speichern.

Wichtige URLs

Ordnerstruktur (lokal)

  • gdpr-content-blocker/ → das Plugin (Git-Repo, → Gitea). NUR Plugin-Dateien.
  • license-backend/ → Docker-Backend (separat).
  • hilfsdaten/ → dieser Ordner (Notizen, n8n, Skripte).

Geheimnisse (NICHT hier im Klartext ablegen!)

  • ADMIN_API_TOKEN → in license-backend/.env (openssl rand -hex 32)
  • DOWNLOAD_SECRET → in license-backend/.env (openssl rand -hex 32)
  • Gitea-Secrets: LICENSE_BACKEND_URL, LICENSE_ADMIN_TOKEN (Repo → Settings → Actions → Secrets)

Backend starten / verwalten (auf dem Server)

cd /pfad/zu/license-backend
cp .env.example .env        # einmalig, dann ausfüllen
docker compose up -d --build
docker compose logs -f
curl https://hub.lucas-orth.de/healthz

Lizenzschlüssel erzeugen (manuell oder via n8n)

curl -X POST https://hub.lucas-orth.de/api/v1/licenses \
  -H "X-Admin-Token: ADMIN_TOKEN" -H "Content-Type: application/json" \
  -d '{"product":"gdpr-content-blocker","max_activations":1,"email":"kunde@x.de"}'

max_activations: 1 = Einzelseite, 3 = drei Seiten, -1 = unbegrenzt.

Lizenz verwalten

# ansehen (Status + Domains)
curl https://hub.lucas-orth.de/api/v1/licenses/KEY -H "X-Admin-Token: TOKEN"
# sperren / entsperren
curl -X POST https://hub.lucas-orth.de/api/v1/licenses/KEY/disable -H "X-Admin-Token: TOKEN"
curl -X POST https://hub.lucas-orth.de/api/v1/licenses/KEY/enable  -H "X-Admin-Token: TOKEN"

Neue Plugin-Version ausliefern (Update)

WICHTIG: interner Plugin-Slug = gdpr-content-blocker (NICHT umbenennen — Lizenz/Update hängen daran). Repo-/Ordnername = gdpr-content-blocker, das ist nur kosmetisch.

Automatisch (mit Gitea Act Runner)

cd .../gdpr-content-blocker
# Version in gdpr-content-blocker.php (Header + CB_VERSION) bumpen, committen
git add -A && git commit -m "release: 1.7.0"
git tag v1.7.0
git push origin main
git push origin v1.7.0      # löst den Release-Workflow aus

Manuell (ohne Runner)

cd .../gdpr-content-blocker
git archive --format=zip --prefix=gdpr-content-blocker/ -o gdpr-content-blocker.zip HEAD
curl -fSs -X POST "https://hub.lucas-orth.de/api/v1/releases?product=gdpr-content-blocker&version=1.7.0" \
  -H "X-Admin-Token: ADMIN_TOKEN" -H "Content-Type: application/zip" \
  --data-binary @gdpr-content-blocker.zip

Prüfen

curl https://hub.lucas-orth.de/api/v1/releases/gdpr-content-blocker -H "X-Admin-Token: TOKEN"

Erstinstallation auf einer Kundenseite

  1. ZIP einmalig manuell in WordPress hochladen (Plugins → Installieren → Hochladen).
  2. Aktivieren → Einstellungen → GDPR Content Blocker → Tab „Lizenz" → Key eintragen.
  3. Künftige Updates kommen automatisch (sobald höhere Version im Backend liegt).

Tests lokal

# Backend
cd license-backend
npm run test:unit
npm run test:integration   # braucht express in node_modules