13 Commits

Author SHA1 Message Date
deeily
10f8c4207d Release dvr_admin v1.10: мобильная версия 2026-04-14 18:32:32 +03:00
deeily
358b20a207 Release dvr_admin v1.9.1: security fixes, memory leaks, ELK (скрыто)
Security:
- XSS: _html.escape() для полей из БД в списке пользователей DVR
  и карточках DVR (u["name"], d["name"], d["ip"], loc_name)
- JS-инъекция: openEditModal(...) через json.dumps() + _html.escape

Memory leaks / hanging threads:
- _user_activity: TTL 24ч, gc раз в час, лимит 500 записей
- IP-кэши (_sdk_failed_ips и др.) очищаются в dvrs_delete
- _ffmpeg_reader: select() с таймаутом, watchdog 30с для live
  (playback не трогаем), graceful shutdown через buf.clients==0

ELK (скрыто в UI до стабилизации):
- Карточка настройки отправки логов в ELK (HTTP ES bulk / Logstash HTTP/TCP)
- Фоновый демон elk-forwarder с очередью и батчами
- Таблица app_settings(key, value) + эндпоинты /api/settings/elk
2026-04-14 02:27:22 +03:00
deeily
ace5111a59 Release dvr_admin v1.9: админ-панель с графиками CPU/RAM/диск/GPU
- Раздел "Логи" переименован в "Админ панель": canvas-графики
  в стиле Zabbix (CPU/RAM/диск/GPU, история 60 точек, обновление 3с)
- Таблица активности пользователей: онлайн-статус, последний запрос,
  счётчик запросов через after_request хук
- GPU через nvidia-smi (появляется автоматически)
- Синхронизация времени DVR с автоопределением формата XML/plain text
  и учётом локальной timezone (кнопка пока скрыта в UI)
- Колонка действий в таблице DVR: min-width 220px
2026-04-14 02:11:05 +03:00
deeily
043c4c12b4 Release dvr_admin v1.8.2: SDK mode, logs, sidebar collapse, UI polish
- Выбор режима SDK (auto/shttp/native) для каждого регистратора
- Раздел «Логи» в сайдбаре (только для администраторов)
- Сворачиваемая боковая панель с сохранением состояния в localStorage
- Прошивка регистраторов на дашборде (firmwareVersion из ISAPI)
- Высота шапки 44 px — квадрат при свёрнутой панели
- Новые иконки: видеокамера (Просмотр), звёздочка (Мои виды)
- Дашборд пользователей: скрыты IP, модель и прошивка
- Исправлено дублирование кнопки «Добавить» на странице Регистраторов
2026-04-13 20:45:18 +03:00
deeily
f87c227330 Release dvr_admin v1.8.1: sync UI по PTS, ×16, slow-internet
- Heartbeat PLAYFAST каждые 3с с sock lock — стабильность потока на ускорении
- Переключение скорости только дельтой команд (без лишнего PLAYNORMAL)
- Диапазон 1/4…×16, добавлен Slow Forward (PLAYSLOW)
- Плашка "Slow internet" при отсутствии кадров
- Синхронизация UI по реальному PTS с DVR (MPEG-PS для H.265, PlayM4_GetSystemTime для H.264)
- Endpoint /playback/<ch>/pos + poll раз в 2с на клиенте
2026-04-13 16:08:10 +03:00
deeily
3d3f64e4c6 Release dvr_admin v1.8: плавное ускоренное воспроизведение архива
SDK-over-HTTP протокол с PLAYFAST для ×2/×4/×16 без прыжков по таймлайну.
H.265: парсинг MPEG-PS → H.265 ES → ffmpeg. H.264: PlayM4.
Digest-аутентификация на сокете, автоопределение кодека по IMKH.
2026-04-09 18:27:57 +03:00
deeily
988df4d613 Release dvr_admin v1.7
Fix APP_VERSION not rendering on dashboard (f-string used old string concat syntax).
2026-04-08 01:07:54 +03:00
deeily
0021730359 Release dvr_admin v1.7
- Мои виды: создание именованных видов с произвольным набором камер
- Переименование каналов (per-user) в «Мои виды»
- Полноэкранный плеер доступен из «Мои виды»
- Архивный плеер: FPS с DVR через ISAPI, окно 24ч, без параллельных потоков при seek
- Исправлен плеер в /view (display:none override)
- Версия в APP_VERSION
2026-04-08 01:01:57 +03:00
deeily
4a7a2c55d7 Release dvr_admin v1.6.1: прогресс-бар скачивания клипа 2026-04-07 12:42:56 +03:00
deeily
a19843fda3 Move SDK libs to dvr_admin/lib, fix paths in app.py
SDK библиотеки перенесены из doc/ в dvr_admin/lib/ (были идентичны).
_SDK_DIR и _SDK_LIB теперь указывают на dvr_admin/lib/.
2026-04-07 12:28:09 +03:00
deeily
fa730238d0 Release dvr_admin v1.6
Переведено скачивание клипов на Hikvision SDK (PlayBackByTime_V40 +
data callback) — точное время по часам DVR без seek-смещения.
Исправлена загрузка SDK-библиотек через self-restart с LD_LIBRARY_PATH.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 12:26:38 +03:00
deeily
3da61f09ca Release dvr_admin v1.5
- Archive player: loading spinner on stream start/seek/timeline click
- Archive player: live clock updates every second during playback
- Timeline: removed segment overlays, hourly labels (0–24)
- Clip download: split time inputs into separate HH/MM/SS fields
- Clip download: cancel button aborts fetch and kills ffmpeg on server
- Security: CSRF protection, HttpOnly/SameSite cookies, XSS escaping,
  parameter validation, access control on ping endpoint
- Dashboard: user-specific DVR cards, live clock and version widgets
- Preview channels resume after closing fullscreen player
- Docker: moved SDK libs into dvr_admin/, cleaned up dvr_admin_docker/
2026-04-06 22:46:19 +03:00
deeily
d8ce3daf1f Initial commit: dvr_admin v1.2
- Flask-приложение управления DVR Hikvision
- Предпросмотр каналов, архив, скачивание клипов
- Управление пользователями с правами доступа
- Docker-контейнер с Gunicorn
2026-04-05 21:44:40 +03:00