---
title: "Грабли с видео-регистратором HiWatch DS-N208P(C)"
slug: "hiwatch-tls13-issue"
date: "2026-09-07 14:23:27 MSK"
author: "at-hacker"
tags:
  - "Troubleshooting"
  - "NVR"
  - "HiWatch"
  - "Видеонаблюдение"
type: text
---
Пользуясь статусом временно безработного, инвестировал некоторое время в приведение домашней инфраструктуры в порядок. А то всё на костылях, на соплях, никакой тебе автоматизации, всё вот этими вот руками... В общем, давно требовалось наведение порядка.

Дошли руки и до регистратора. Как всякая уважающая себя бытовая китайская техника, видео-регистратор (HiWatch DS-N208P(C)) обладает вполне приличным функционалом (8 портов для подключения камер с PoE, возможность просмотра через облако и вот это вот всё). Но китайская железка не была бы китайской, если бы не имела каких-то прибабахов.

Самый бесящий баг -- это невозможность просмотра видео из web UI регистратора. Всё работает, можно конфигурить регик, а вот картинки нет:
![](/assets/images/hiwatch-no-live-view.jpg)

Ну точнее, в теории-то оно должно работать. Если скачать плагин прямо со страницы UI (справа вверху ссылка). Только плагин этот -- исключительно для Windows. Ну и к тому же не работает в современных браузерах. Я пробовал ставить его на Win7, бодался и так, и эдак, но успеха не случилось.

Второй косяк, который меня напрягал -- не работал HTTPS. Тоже вроде как настройка есть, вроде можно сгенерить само-подписаный сертификат прямо в UI, можно подсунуть свой, но... Но оно не работает.

Симптом такой: генеришь сертификат, включаешь HTTPS:
![](/assets/images/hiwatch-https.png)

Оно включается. Заходишь браузером в веб-морду, браузер предупреждает, что сертификат само-подписаный. Нажимаешь "Пофиг, открывай", и дальше получается как-то так:

![](/assets/images/hiwatch-secure-conn-failed.png)

Технически, прошивка поддерживает TLS v1.3 и доезжает примерно до сюда:
```text
ClientHello
    ↓
ServerHello
EncryptedExtensions
Certificate
CertificateVerify
Finished
    ↓
client Finished
```

Режимы и алгоритмы шифрования согласовываются, всё выглядит ОК:
```text
SSL connection using TLSv1.3 /
TLS_AES_256_GCM_SHA384 /
x25519 / RSASSA-PSS
```

Но затем, когда клиент (браузер или `curl`) шлёт HTTP-запрос:
```console
GET /doc/page/config.asp HTTP/1.1
Host: 192.168.3.4
User-Agent: curl/8.18.0
Accept: */*
```

Вместо ответа регистратор выдаёт:
```console
TLS alert: close_notify
```

И на этом соединение превращается в тыкву. При этом, если не использовать TLS 1.3 (ограничить версию до 1.2), то всё работает нормально. God bless LLMs! Без них я бы смог это задебажить и сам, но времени бы ушло на съём и анализ сетевого траффика куда больше.

К сожалению, в браузере нельзя ограничить версию TLS при подключении к одному конкретному хостнейму или IP. Только глобально, для всего браузера. Либо использовать множественные профили (Firefox такое поддерживает), и в одном из них вписать ограничение по версии TLS. Тоже решение такое себе, т. к. при подключении к регистратору придётся переключать профиль. Не то, чтобы мне часто нужно лазить в конфигуратор регистратора, но всё же...

В общем, долго ли коротко, но путём вдумчивого курения маниуалов удалось найти [пост на 4pda](https://4pda.to/forum/index.php?showtopic=776124&st=35380#entry139237203), в котором автор утверждает, что можно прошить DS-N208P(C) прошивкой V4.76.107_250325, от другого регика, на платформе HWN-2104/2108. Учитывая, что у меня прошивка 22-го года, а эта, про которую пишут на форуме -- 2025-го, то имеет смысл попробовать и безотносительно бага с TLS...

Рискованно немного, есть шанс окирпичить девайс, но где наша не пропадала? Залил новую прошивку на флэшку, вставил в регик и запустил обновление. И о чудо! Всё прошло совершенно гладко. Сбросил все настройки в дефолт, настроил заново, и всё заработало. Можно стало заходить по https без приплясываний.

Особо разницу в прошивках я не изучал, но из заметного -- вынесли прямо на экран просмотра архива кнопку "Пропустить нормальные видеозаписи". Что в переводе с китайско-русского означает -- скипать во время просмотра интервалы, когда ничего не происходит, и сразу переходить к моменту, где в кадре зафиксировано движение. И тут же можно регулировать скорость просмотра, от 1х до 16х. Раньше для всего этого нужно было нажать кнопку, открывался диалог, ты там устанавливал скорость просмотра, закрывал диалог... В общем, много лишней возни.

Автор же сообщения на форуме утверждал, что у него заодно заработало отображение событий на линейке времени при просмотре архива. У HikVision есть мобильное приложение, и если подключить регик в их облако, то можно смотреть камеры и архив через приложение. Вот там на линейке с таймкодом, должны отображаться отметки, когда в кадре было движение. На самом регике (в его локальной консоли) именно так и происходит. Но вот в мобильном приложении это почему-то не работало. Архив можно было смотреть, а событий не видно. Автор утверждает, что после прошивки оно заработало. Но поскольку у меня план -- вообще отказаться от использования облаков, ибо нечего на изображении моей фазенды обучать свои ИИ-шницы, то это как бы не очень актуально.

Планирую с помощью ИИ накостылить свой локальный просмотр изображения с камер в прямом эфире и работу с архивом. Пока есть PoC на базе go2rtc, который отображает картинку с камер:
![](/assets/images/nvr-go2rtc.png)

Если ткнуть в ссылку "stream", то выезжает картинка с камеры. Надо ещё поработать, чтобы можно было открывать 4 камеры в формате 2х2, но пока руки не дошли.