Inbetriebnahme
Von null zum laufenden Analytics-Server — in etwa 15 Minuten.
1. Voraussetzungen
- Windows 10/11, eine gängige Linux-Distribution oder macOS.
- Ein freier TCP-Port (Standard:
8080) für den Analytics-Server. - Optional, für den Produktivbetrieb empfohlen: eine (Sub-)Domain und ein TLS-Zertifikat.
- Für Website-Einbindung: Zugriff auf den Quellcode Ihrer Website (oder Tag-Manager).
2. Programm starten
Entpacken Sie das Archiv und starten Sie die Anwendung:
# Windows
CookielessTracker.exe
# Linux
./CookielessTracker.x86_64
# Optional headless, z. B. auf einem Server ohne Bildschirm:
./CookielessTracker.x86_64 --headless --port 8080
Der Server beginnt sofort auf Port 8080 zu lauschen und öffnet das Dashboard.
Ein Test mit curl bestätigt den Betrieb:
curl http://localhost:8080/health
# {"status":"ok","uptime_seconds":12,"storage":"sqlite","tls":false,"open_connections":0}
3. TLS / HTTPS aktivieren (empfohlen)
Legen Sie Zertifikat und Schlüssel im Datenverzeichnis der Anwendung ab. Dieses
user://-Verzeichnis ist:
- Windows:
%APPDATA%\Godot\app_userdata\AI-Driven Cookieless Tracker\ - Linux:
~/.local/share/godot/app_userdata/AI-Driven Cookieless Tracker/
# Dateien exakt so benennen:
user://server.key # privater Schlüssel (PEM)
user://server.crt # Zertifikat (PEM, ggf. mit Kette)
Sind beide Dateien vorhanden und lesbar, spricht der Server automatisch HTTPS. Fehlt oder bricht eine Datei, fällt er ohne Absturz auf HTTP zurück und schreibt einen Hinweis ins Log.
4. Reverse-Proxy (optional)
Läuft bereits ein Webserver, kann dieser TLS übernehmen und an den Tracker weiterleiten. Beispiel für nginx:
server {
listen 443 ssl http2;
server_name analytics.ihre-domain.de;
ssl_certificate /etc/letsencrypt/live/analytics.ihre-domain.de/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/analytics.ihre-domain.de/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Der Tracker vertraut X-Real-IP / X-Forwarded-For nur dann, wenn die
Verbindung von einer lokalen/privaten Adresse kommt — Spoofing aus dem Internet ist damit
ausgeschlossen.
5. Tracking-Snippet einbinden
Fügen Sie direkt vor </body> Ihrer Website ein:
<script>
window.ZIVA_ANALYTICS = {
host: "analytics.ihre-domain.de", // Host des Trackers
port: 443, // 443 bei HTTPS, 8080 bei HTTP
path: "/track", // Endpunkt (Standard)
heartbeat: 15000 // Verweildauer-Heartbeat in ms
};
</script>
<script src="https://analytics.ihre-domain.de/tracker.js" defer></script>
Alternativ können Sie den Inhalt von tracker.js direkt inline einfügen.
Es wird kein Cookie gesetzt und nichts auf dem Endgerät gespeichert.
6. Lizenz aktivieren
Ohne Lizenz läuft die Anwendung im Testmodus mit reduziertem Monatsvolumen. Nach dem Kauf erhalten Sie einen signierten Lizenzschlüssel (Textdatei). Legen Sie ihn ab als:
user://license.key
Die Anwendung prüft die Signatur automatisch. Im Dashboard zeigt ein Badge den aktiven Tarif (z. B. STARTER) und den aktuellen Verbrauch. Ein Neustart ist nicht erforderlich, wenn Sie die Datei bei laufendem Programm ersetzen — spätestens nach dem nächsten Aktualisierungsintervall wird sie gelesen.
7. Autostart als Dienst (Linux)
Das Archiv enthält eine systemd-Unit-Vorlage. Nach Anpassung der Pfade:
sudo cp analytics-server.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now analytics-server
systemctl status analytics-server
8. Datenschutz & AVV
- IP-Adressen werden vor der Verarbeitung gekürzt und nicht gespeichert; gespeichert wird nur ein täglicher, nicht rückrechenbarer Hash.
- Es werden keine Cookies gesetzt und keine Daten auf dem Endgerät gespeichert.
- Nehmen Sie eine kurze Beschreibung in Ihre Datenschutzerklärung auf (Rechtsgrundlage: berechtigtes Interesse, Art. 6 Abs. 1 lit. f DSGVO).
- Für den Business-/Enterprise-Tarif stellen wir auf Wunsch einen Auftragsverarbeitungsvertrag (Art. 28 DSGVO) bereit.
9. Fehlersuche
| Problem | Lösung |
|---|---|
| Keine Daten im Dashboard | Konsole des Browsers prüfen; Host/Port im Snippet müssen exakt passen. CORS ist serverseitig aktiviert. |
| Server startet nicht | Port belegt? Anderen Port wählen oder den blockierenden Prozess beenden. |
| HTTPS klappt nicht | server.key/server.crt prüfen — bei Fehlern startet der Server bewusst als HTTP. |
| „Quota exceeded“ | Monatsvolumen des Tarifs erreicht; Upgrade in einen höheren Tarif durchführen. |
| Zu viele Bots | Bot-Traffic wird nur geflaggt, nicht gelöscht. Im Graphen per Schalter ausblenden. |
10. Backup & Update
- Alle Daten liegen in einer
SQLite-Datei imuser://-Verzeichnis. Ein Backup ist eine Kopie dieser Datei. - Für ein Update tauschen Sie die Programmdatei aus; Ihre Daten und die Lizenz bleiben erhalten.