À propos du projet

Aurora est une application d'analyse web open-source et auto-hébergée, conçue pour mesurer le trafic d'un site web sans rien stocker sur les appareils des visiteurs. Elle n'utilise ni cookies, ni localStorage, ni fingerprinting, et conserve les données d'événements dans une base de données PostgreSQL contrôlée par l'opérateur. Le script de suivi du navigateur est rapporté à 2,4 Ko lors du transfert. Les visiteurs sont identifiés via un HMAC rotatif dérivé de l'adresse IP, de l'agent utilisateur et d'un sel côté serveur. L'entrée du hachage change quotidiennement, donc les identifiants de visiteur ne peuvent pas être liés d'un jour à l'autre, et rien ne quittant le navigateur n'est destiné à être traçable jusqu'à une personne. Cette approche est présentée comme pertinente pour l'Art. 5(3) d'ePrivacy, car le stockage d'informations dans l'équipement terminal tel que le localStorage est traité de manière similaire aux cookies. Le tableau de bord affiche les visites, les visiteurs uniques, les sessions, le taux de rebond et la durée moyenne des sessions pour une plage et un fuseau horaire sélectionnés. Il inclut une série temporelle Recharts et des ventilations par pages, référents, canaux d'acquisition, pays, navigateurs, systèmes d'exploitation, appareils, langues et paramètres UTM. Les événements personnalisés peuvent transporter des propriétés scalaires et des valeurs de revenus, avec des devises ISO-4217. Un site peut être marqué comme public pour exposer un tableau de bord analytique en lecture seule sans connexion. Le déploiement est disponible via des images Docker publiées pour linux/amd64 et linux/arm64. La configuration requise comprend DATABASE_URL et SESSION_SECRET, tandis que AURORA_SALT est requis en production. AURORA_IP_HEADER est fortement recommandé afin que le saut de proxy approuvé détermine les données IP du client ; s'il n'est pas défini, l'application avertit et revient aux en-têtes que les clients peuvent définir. AURORA_COUNTRY_HEADER est optionnel pour le code pays provenant d'un edge. Pour suivre un site, le tableau de bord fournit une balise script avec l'ID du site. Les pages vues et les changements de route côté client sont suivis automatiquement. Les événements personnalisés appellent une fonction globale aurora, qui met en file d'attente les appels effectués avant le chargement du script. Les propriétés n'acceptent que des scalaires, jusqu'à 24 clés. Le développement nécessite Node 20+ et pnpm 10. Le projet est un espace de travail pnpm avec une application web React Router et un package tracker regroupé dans le script servi. Il utilise Drizzle sur PostgreSQL, Tailwind CSS avec shadcn/ui, Recharts, Vitest, et oxlint/oxfmt. Les commits suivent Conventional Commits, les versions sont automatisées avec release-please, et le versionnage suit SemVer. Aurora 4 est décrit comme une réécriture complète sans chemin de migration depuis les versions 1.x ou 2.x. Le projet est sous licence MIT.