Об этом проекте
Aurora — это open-source приложение для self-hosted веб-аналитики, разработанное для измерения трафика сайта без сохранения каких-либо данных на устройствах посетителей. Оно не использует cookie, localStorage или фингерпринтинг, а данные о событиях хранятся в базе данных PostgreSQL, контролируемой оператором. Размер скрипта отслеживания в браузере составляет 2,4 КБ.
Посетители идентифицируются с помощью ротируемого HMAC, производного от IP-адреса, user agent и серверной соли. Входные данные хеша меняются ежедневно, поэтому идентификаторы посетителей нельзя связать между разными днями, и никакие данные, покидающие браузер, не предназначены для отслеживания конкретного человека. Такой подход представлен как соответствующий ст. 5(3) ePrivacy, поскольку хранение информации на терминальном оборудовании, таком как localStorage, приравнивается к использованию cookie.
Панель управления отображает количество визитов, уникальных посетителей, сессий, показатель отказов и среднюю продолжительность сессии для выбранного диапазона и часового пояса. Она включает временные ряды Recharts и разбивку по страницам, реферерам, каналам привлечения, странам, браузерам, операционным системам, устройствам, языкам и UTM-параметрам. Пользовательские события могут содержать скалярные свойства и значения выручки в валютах ISO-4217. Сайт можно сделать публичным, чтобы предоставить доступ к аналитической панели в режиме чтения без авторизации.
Развертывание доступно через Docker-образы для linux/amd64 и linux/arm64. Обязательная конфигурация включает DATABASE_URL и SESSION_SECRET, а в продакшене требуется AURORA_SALT. Настоятельно рекомендуется использовать AURORA_IP_HEADER, чтобы доверенный прокси-сервер определял данные IP-адреса клиента; если этот параметр не задан, приложение выдаст предупреждение и перейдет на заголовки, которые могут быть установлены клиентами. AURORA_COUNTRY_HEADER является опциональным для получения кода страны с edge-сервера.
Для отслеживания сайта в панели управления предоставляется тег script с ID сайта. Просмотры страниц и изменения маршрутов на стороне клиента отслеживаются автоматически. Пользовательские события вызываются через глобальную функцию aurora, которая ставит в очередь вызовы, сделанные до загрузки скрипта. Свойства принимают только скалярные значения, до 24 ключей.
Для разработки требуются Node 20+ и pnpm 10. Проект представляет собой pnpm workspace с веб-приложением на React Router и пакетом трекера, который объединяется в обслуживаемый скрипт. Используются Drizzle на PostgreSQL, Tailwind CSS с shadcn/ui, Recharts, Vitest и oxlint/oxfmt. Коммиты следуют стандарту Conventional Commits, релизы автоматизированы с помощью release-please, а версионирование соответствует SemVer. Aurora 4 описывается как полная переработка с нуля без возможности миграции с версий 1.x или 2.x. Проект распространяется под лицензией MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.