À propos du projet
Dashflare est une plateforme d'analyse open-source axée sur la confidentialité, conçue pour surveiller les sites hébergés derrière Cloudflare. Au lieu d'utiliser des scripts de traçage côté client traditionnels, Dashflare collecte les données via un Cloudflare Edge Worker, ce qui le rend léger et sans cookie.
Architecture
Le système se compose de trois composants :
1. Cloudflare Edge Worker — intercepte et traite les événements de visionnage de pages au niveau de la périphérie du réseau. La collecte de données ne nécessite aucun changement sur le site cible ; les requêtes sont acheminées via les Cloudflare Routes du domaine principal vers le sous-domaine `.workers.dev` du worker.
2. Grafana Loki — sert de couche de persistance en stockant les journaux d'événements.
3. Grafana — fournit des tableaux de bord et des visualisations pour les données analytiques collectées.
Fonctionnalités
- Respect de la vie privée: Aucun cookie, aucune conservation de données personnelles. Les sessions de visiteurs sont identifiées par des empreintes hachées dérivées d'une clé secrète.
- Géolocalisation : La détection basique du pays est incluse nativement. Une intégration optionnelle avec ipgeolocationapi.com ajoute des données géographiques plus riches.
- Déploiement auto-hébergé : Une configuration Docker Compose démarre Grafana et Loki en local pour le développement ou la production.
- Natif Cloudflare : Conçu spécifiquement pour les sites utilisant déjà Cloudflare. Le worker est déployé via l'interface CLI Wrangler de Cloudflare.
Installation
Un environnement minimal est lancé avec `docker-compose up`. Grafana est accessible à l'adresse `http://localhost:3000/` avec les identifiants par défaut `admin/admin` (il sera demandé de les changer à la première connexion).
Les principales variables d'environnement incluent `LOKI_HOST` (l'URL de l'instance Loki, qui doit être un nom de domaine joignable, et non une adresse IP), `DOMAIN` (le domaine principal du site pour la génération automatique des routes), `FINGERPRINT` (une clé aléatoire pour le hachage des sessions), et optionnellement `IPINFO` pour activer la géolocalisation étendue via ipgeolocationapi.com.
Pour le déploiement de l'Edge Worker, Wrangler doit être installé (`npm install -g @cloudflare/wrangler`) et authentifié auprès de votre compte Cloudflare. Un fichier de configuration `wrangler.toml` est généré à partir d'un modèle via `make wrangler`, puis publié avec `wrangler publish`.
Remarque sur l'accessibilité de Loki
Les Cloudflare Edge Workers ne peuvent accéder qu'aux endpoints sur les ports 80 ou 443 via des noms de domaine. Si Loki fonctionne sur un port non standard, il doit être placé derrière un proxy inverse ou exposé directement via un sous-domaine. Pour le développement local, des services comme ngrok peuvent acheminer le trafic afin de rendre Loki joignable depuis la périphérie.
Tableau de bord
Une fois en marche, Grafana présente un tableau de bord analytique préconfiguré affichant les métriques de visiteurs, la répartition géographique et d'autres indicateurs de performance du site.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.