Об этом проекте

Dashflare — это open-source аналитическая платформа, ориентированная на конфиденциальность, предназначенная для мониторинга сайтов за Cloudflare. Вместо традиционных клиентских скриптов отслеживания Dashflare собирает данные через Cloudflare Edge Worker, что делает систему лёгкой и лишённой cookie. Архитектура Система состоит из трёх компонентов: 1. Cloudflare Edge Worker — перехватывает и обрабатывает события просмотра страниц на периферии сети. Для сбора данных не требуется изменений на целевом сайте; запросы перенаправляются через Cloudflare Routes с основного домена на поддомен `.workers.dev` воркера. 2. Grafana Loki — хранит журналы событий как слой постоянного хранения. 3. Grafana — предоставляет дашборды и визуализацию собранных аналитических данных. Возможности - Ориентированность на конфиденциальность: без cookie, без хранения персональных данных. Сессии посетителей идентифицируются по хешированным отпечаткам, полученным из секретного ключа. - Геолокация: базовое определение страны включено из коробки. Опциональная интеграция с ipgeolocationapi.com добавляет расширенные географические данные. - Self-hosted деплоймент: Docker Compose настройка разворачивает Grafana и Loki локально для разработки или продакшена. - Cloudflare-native: разработан специально для сайтов, уже использующих Cloudflare. Воркер деплоится через Cloudflare Wrangler CLI. Установка Минимальная среда запускается командой `docker-compose up`. Grafana доступен по адресу `http://localhost:3000/` с учётными данными по умолчанию `admin/admin` (с запросом смены при первом входе). Ключевые переменные окружения включают `LOKI_HOST` (URL экземпляра Loki, должен быть достижимым доменом, а не IP), `DOMAIN` (основной домен сайта для автоматической генерации маршрутов), `FINGERPRINT` (случайный ключ для хеширования сессий) и опционально `IPINFO` для включения расширенной геолокации через ipgeolocationapi.com. Для деплоя Edge Worker необходимо установить Wrangler (`npm install -g @cloudflare/wrangler`) и аутентифицироваться в аккаунте Cloudflare. Конфигурационный файл `wrangler.toml` генерируется из шаблона командой `make wrangler`, затем публикуется через `wrangler publish`. Примечание о доступности Loki Cloudflare Edge Workers могут обращаться только к конечным точкам на портах 80 или 443 через доменные имена. Если Loki работает на нестандартном порту, его необходимо поместить за reverse proxy или напрямую открыть через поддомен. Для локальной разработки можно использовать такие сервисы, как ngrok, для проброса трафика и обеспечения доступности Loki с edge. Дашборд После запуска Grafana отображает предконфигурированный аналитический дашборд с метриками посетителей, географическим распределением и другими показателями производительности сайта.