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

Smart-analytics — минималистичная self-hosted система веб-аналитики, ориентированная на приватность, созданная на базе tiny-analytics 0.1.3. Ключевое улучшение — поддержка нескольких сайтов и многопользовательского управления: один аккаунт может управлять несколькими сайтами, каждый из которых получает собственный трекер-скрипт и изолированные данные. Технологический стек: Python FastAPI + SQLite (одна БД, многопользовательский доступ), работает в одном процессе, не требует внешних сервисов или баз данных. Принцип работы: при загрузке страницы трекер отправляет POST-запрос на сервер; сервер хэширует "siteID:IP:UA" для формирования анонимного идентификатора посетителя, исходный IP не сохраняется; при уходе со страницы beacon передаёт длительность сеанса; на панели управления данные агрегируются и визуализируются по сайтам. Ключевые возможности: - Приватность прежде всего: без Cookie, localStorage и сбора отпечатков, отслеживание между сайтами отсутствует - Многосайтовость и многопользовательский доступ: независимые токены для каждого сайта, полная изоляция данных; поддержка нескольких пользователей и участников - Система аккаунтов: регистрация и вход по e-mail и паролю, веб-интерфейс для управления сайтами и участниками - Офлайн-GeoIP-локализация: на основе базы DB-IP, предоставляет географические данные на уровне страны/региона/города без сторонних API - Фильтрация ботов: автоматическое определение и разделение ботового трафика - Модуль высокочастотных IP: выявление часто посещающих IP-адресов с отображением их геопозиции - Длительность на странице: учёт реального времени взаимодействия - Распределение по географии и устройствам: статистика источников посетителей и используемых типов устройств - Популярные страницы и источники трафика: рейтинг страниц, домены-рефереры и поисковые ключевые слова - Распределение по времени доступа: наблюдение за закономерностями трафика почасово и по дням недели - Сравнение периодов: динамика уникальных посетителей, просмотров и времени на странице за сопоставимые периоды - Онлайн в реальном времени: число посетителей за последние 5 минут, автоматическая перезагрузка панели - Новые/возвращающиеся посетители: различаются по анонимному идентификатору - UTM-отслеживание: статистика по источнику/каналу/кампании - Анализ сеансов: показатель отказов, средняя продолжительность сеанса, входные/выходные страницы (расчётные значения) - Распределение по браузерам и ОС: грубая статистика по User-Agent - Гибкий диапазон времени: поддержка 1/2/24 часов, 7/30 дней; интервалы統計 — 1/5/15 минут или 1 час - Тёмный режим UI Настройка осуществляется через переменные окружения: SMART_ANALYTICS_PASSWORD (пароль администратора), SMART_ANALYTICS_SECRET_KEY (ключ подписи сессии), SMART_ANALYTICS_ALLOWED_ORIGINS (ограничение CORS-доменов), SMART_ANALYTICS_DB_PATH (путь к базе данных) и др. Для деплоя предусмотрен скрипт быстрого запуска (deploy/linux/setup.sh), поддерживающий systemd-сервис, обратный прокси на nginx и.Cloudflare origin (автоматическое чтение заголовков cf-connecting-ip и др.). Также можно запустить одной командой через uvx или собрать из исходного кода. Лицензия: MIT.