Открытый проект COMRAD404

COMRAD404 Analytics

Альтернатива Яндекс.Метрике и Google Analytics

Статистика посещений без сложного кабинета. Посетители, источники, страницы и устройства в понятной панели на русском. Данные хранятся на вашем VPS, отчёты открываются на вашем компьютере.

Исходники бесплатны · Лицензия MIT · На базе Umami

Экспериментальная версия. Тесты и сборка проходят на Windows и Ubuntu. Переносимая установка на чистом сервере пока не испытана.

Базовая аналитика, которая под рукой

Откуда приходят люди и что они смотрят

Для владельца сайта, которому нужно быстро посмотреть посещаемость, найти популярные статьи и понять источники трафика. Несколько сайтов можно собрать в одной панели.

Посещаемость

Посетители, визиты и просмотры. Даты, сравнение периодов, график, свой часовой пояс и выгрузка CSV.

Источники и страницы

Поисковые системы, сайты переходов и UTM-метки. В выбранной группе видно, на какие страницы пришли и какие просмотрели.

Аудитория и действия

Компьютеры, телефоны и планшеты. Браузеры, ОС, страны, области и города. События, которые вы добавили на сайт.

Как посмотреть статистику сайта

Открываете панель, выбираете сайт и период. Отчёты сгруппированы по смыслу: обзор, источники, страницы, аудитория и действия.

Тёмная панель аналитики: посещаемость, график и популярные страницы
Реальный интерфейс проекта, но домен, статьи и все числа на скриншотах вымышлены. Это не статистика посетителей и не результат нагрузочного теста.

Аналог Метрики для базовой статистики, не замена всему

COMRAD404 Analytics — отдельная панель и установочный комплект поверх открытого движка Umami. Мы не выдаём чужой движок за свою разработку и не обещаем весь набор возможностей Яндекс.Метрики или Google Analytics.

Что есть

  • Открытые исходники и самостоятельное размещение.
  • Понятная статистика собственных сайтов.
  • Закрытый доступ к отчётам по SSH.
  • Светлая и тёмная темы, фильтры, CSV.
  • Счётчик посещений сайта и свои события.

Чего здесь нет

  • Вебвизора, записи экранов и содержимого форм.
  • Рекламных расходов и сквозной аналитики.
  • Импорта старой истории Метрики или GA.
  • Гарантированного распознавания всех ботов.
  • Автоматического расписания резервных копий в переносимом пакете.

Бесплатны исходники, а не инфраструктура. VPS и домен оплачиваются отдельно. Обновления, резервные копии и защита сервера остаются вашей задачей. География приблизительная; число посетителей не равно точному числу отдельных людей.

Сбор на сервере, просмотр у вас

1. Ваш сайт

Небольшой скрипт отправляет ограниченные данные о просмотрах и событиях на HTTPS-сборщик.

2. Ваш VPS

Сборщик проверяет события. Umami и PostgreSQL хранят статистику. Отчёты и база не открыты в интернет.

3. Ваш компьютер

Локальная панель получает отчёты через SSH-туннель. Компьютер можно выключить — сбор на VPS продолжится.

Нет подписки на сервис автора или обязательных внешних API-ключей. Панель этой версии рассчитана на Windows 10/11; серверная часть — на Linux.

Для человека

Пошаговая установка

Нужны базовые навыки работы с SSH и Docker. Если не хотите выполнять команды сами, скачайте задание для агента или передайте эту страницу администратору.

1. Подготовьте сервер и домен

  • Linux-сервер: Docker Engine, Compose v2, Python 3.10+. Ориентир: 2 ГБ ОЗУ и от 5 ГБ свободного диска. Это не результат нагрузочного теста.
  • Поддомен для сборщика: например, stats.example.org. Его DNS-запись A должна указывать на ваш VPS. AAAA добавляйте только при рабочем IPv6.
  • Свободные порты: TCP 80/443, UDP 443 и локальный TCP 3217. Учётной записи нужен доступ к Docker.
  • Компьютер: Windows 10/11, OpenSSH Client, PowerShell, Python 3.10+, Node.js 22+ и npm.
  • SSH: рабочий ключ и проверенный отпечаток сервера. Не отключайте проверку ключа хоста.

Если 80/443 уже заняты сайтом или прокси, не останавливайте его. Этот установщик рассчитан на свободные порты. Для общего сервера нужна отдельная интеграция с действующим прокси.

2. Скачайте исходники отдельно на сервер и компьютер

На GitHub выберите Code → Download ZIP и распакуйте архив. На сервере используйте отдельную папку, например /opt/site-analytics. При наличии Git можно скачать так:

Linux · сервер
git clone https://github.com/bolgbolg1-dev/comrad404-analytics.git site-analytics
cd site-analytics
python3 tools/check_package.py

Установите Docker по официальной инструкции для своего дистрибутива. На Windows нужна отдельная копия исходников: не переносите с сервера .env, private/ и конфигурацию.

3. Запустите установщик на Linux-сервере

Из корня скачанного проекта выполните команду, заменив stats.example.org своим доменом:

Linux · сервер
python3 install.py --domain stats.example.org --project site-analytics

Введите новый пароль администратора Umami длиной от 16 символов. Пароль не нужно писать в команде или отправлять в чат. Установщик создаёт конфигурацию, поднимает приватные приложение и БД, меняет стандартный пароль, затем запускает сборщик HTTPS.

Повторный запуск не перезаписывает существующую конфигурацию. Не копируйте .env.example в .env заранее: установщик создаст настоящий файл сам.

4. Проверьте HTTPS и закрытые отчёты

На сервере, в папке проекта, выполните:

Linux · сервер · замените домен
docker compose ps
curl --fail http://127.0.0.1:3217/api/heartbeat
curl -I https://stats.example.org/collect.js
curl -I https://stats.example.org/api/websites
curl -I https://stats.example.org/api/auth/login

Контейнеры должны работать; heartbeat и скрипт — отвечать успешно. Два последних публичных адреса должны возвращать 404, не страницу входа и не данные. Сертификат HTTPS — без предупреждений. PostgreSQL не должен иметь опубликованного порта, Umami — слушать только 127.0.0.1. Порт 3217 наружу не открывайте.

5. Настройте локальную панель на Windows

Откройте PowerShell в отдельной папке проекта на компьютере:

Windows · компьютер
python configure.py
cd dashboard
npm.cmd ci
npm.cmd test
npm.cmd run build
cd ..
.\Start-Analytics.cmd

Мастер спросит адрес VPS, SSH-пользователя, путь к ключу, абсолютный путь установки на сервере, приватный порт и пароль Umami. Сохраните настройки только на доверенном компьютере. Панель откроется на http://127.0.0.1:3219, расширенный Umami — на http://127.0.0.1:3217.

6. Добавьте сайт и установите код счётчика

В панели откройте Настройки → Добавить сайт, укажите название и домен. Нажмите Скопировать код. Разместите вставку один раз перед </head> в общем шаблоне сайта либо передайте «Инструкцию разработчику» программисту.

Доступ к хостингу самого сайта вам не обязателен: достаточно, чтобы разработчик установил код. Адреса VPS автора и его аккаунты для работы не нужны.

7. Убедитесь, что просмотры поступают

Откройте свой сайт в обычном браузере, пройдите по двум страницам и нажмите Проверить подключение в настройках панели. Проверка отдельно показывает наличие вставки в HTML и поступление данных. Если вставка добавляется JavaScript, HTML-проверка может её не увидеть.

Чтобы не учитывать свой браузер, откройте сайт с ?site_analytics=off; чтобы вернуть учёт — с ?site_analytics=on. Это настройка конкретного браузера. События добавляются отдельно, без содержимого форм:

JavaScript · пример собственного события
window.siteAnalytics.track('button_click')

Названия статей вместо URL можно задать в локальном runtime/page-titles.json. Без него отображаются адреса; автоматическая синхронизация с WordPress в переносимый пакет не включена.

8. Подготовьте копии и восстановление

Сохраните зашифрованную внешнюю копию серверных настроек и регулярно делайте дамп БД. В папке проекта на сервере:

Linux · сервер · ручная копия БД
mkdir -p backups
chmod 700 backups
umask 077
docker compose exec -T db pg_dump -U umami -d umami -Fc > backups/umami.dump

Переносите копию за пределы VPS. Пока восстановление в отдельной БД не проверено, копию нельзя считать проверенной. Расписание копий не устанавливается автоматически.

При обрыве связи нажмите Переподключиться. После перезагрузки компьютера снова откройте Start-Analytics.cmd: автозапуск Windows не ставится. Если серверная установка прервалась, не удаляйте .env, private/ или Docker volumes; сначала разберите причину по локальным логам. Не выполняйте docker compose down -v: это удаляет тома со статистикой.

Полная техническая инструкция на GitHub · Правила безопасности

Для ИИ-агента

Передайте установку агенту, а не пароли в чат

В скачиваемом Markdown-файле — адрес репозитория, порядок проверки сервера, команды, границы доступа, работа с секретами и критерии готовности. Подойдёт агенту с доступом к терминалу и SSH.

INSTALL-AGENT.md · текстовый файл UTF-8 · версия от 18 октября 2026

Задание агенту:

Изучи приложенную инструкцию INSTALL-AGENT.md и репозиторий COMRAD404 Analytics. Сначала проверь требования и составь план под мою инфраструктуру. Не меняй сервер, DNS, прокси и действующие счётчики до отдельного подтверждения плана. Секреты не выводи и не проси присылать в чат.

Скачивание файла само по себе не разрешает агенту менять сервер. Решение о доступе и развёртывании остаётся за вами.

Частые вопросы

Это бесплатная альтернатива Google Analytics?

Исходники нашего кода доступны бесплатно по MIT; Umami и зависимости сохраняют свои лицензии. Платной подписки автора нет. Но VPS, домен и обслуживание оплачиваются отдельно. Это инструмент базовой веб-аналитики, а не замена всем функциям GA.

Нужно удалять Яндекс.Метрику с сайта?

Нет. Можно оставить действующие счётчики и подключить свой параллельно. Их результаты могут различаться из-за методики подсчёта, блокировщиков и фильтрации. История старого сервиса не импортируется.

Можно посмотреть статистику чужого сайта?

Нет. Нужна установленная вставка на сайте, которым вы управляете или владелец которого дал разрешение. Проект не оценивает посещаемость произвольного домена.

Что будет, если выключить компьютер?

Сбор и хранение на VPS продолжатся. Для просмотра отчётов снова запустите панель на компьютере. Если остановится сам VPS или сборщик, недополученные посещения задним числом не восстановятся.

Можно открыть панель с телефона?

Интерфейс адаптирован к узкому экрану, но готовый способ подключения этой версии — локальный запуск на Windows через SSH. Публичного мобильного кабинета нет. Не открывайте отчёты в интернет только ради доступа с телефона.

Сохраняется ли содержимое форм и запись экрана?

Нет. Эта интеграция не включает вебвизор, тепловые карты и содержимое форм. Не передавайте персональные данные в URL и названиях событий. Требования закона, уведомления и согласия зависят от вашей ситуации; юридического соответствия «из коробки» мы не обещаем.

Что уже проверено, а что ещё нет?

Исходники, ссылки документации, модульные тесты и сборка прошли GitHub Actions на Windows и Ubuntu. Переносимый установщик на чистом сервере не испытывался. Серверные TLS, восстановление и работа под вашей нагрузкой требуют отдельной проверки.

Начните с исходников и инструкции

Сначала отдельная тестовая установка, затем подключение важного сайта. Ошибки и предложения можно отправлять в Issues репозитория.