Документация / 12
Бот-свидетель
Позвольте отдельному процессу проверять журнал и публиковать подписанные контрольные точки в вашем канале.
Два сервера, два ключа подписи
Ключ подписи сборщика сеансов Telegram
Конечная точка контрольной точки, доступная только для чтенияЗакрепленный отпечаток сборщика; отдельный ключ подписи свидетеля
Собственный журнал + токен ботаhead 9c7d…head a4f2…Принято: количество записей увеличивается, подпись подтверждается, а ключ совпадает. Свидетель сохраняет эту новую границу.
Подготовьте бота и канал
Создайте бота с помощью BotFather и разрешите ему публиковать сообщения в канале, который вы контролируете. Выберите компьютер или сервер для размещения TgWitness. Использование отдельного хоста и оператора обеспечивает большую независимость, чем запуск второго процесса на сервере сборщика данных.
Три шага в разделе «Дополнительные функции»
- Доступ только для чтения. Откройте раздел «Дополнительные настройки» → «Бот в вашем канале», создайте токен Witness и сохраните файл доступа. Это позволяет просматривать контрольные точки и состояние системы, но не доступ к перепискам или настройкам сборщика данных.
- Канал и интервал. Укажите канал и адрес коллектора, доступный для свидетеля. Сохраните файл настроек.
- Запуск. Объедините файлы
witness.json,witness-token.txtиbot-token.txt, созданные на хосте Witness. Выполните приведённые ниже команды в установленной среде проекта.
python -m tgwitness.witness run --config witness.json --check-config
python -m tgwitness.witness run --config witness.json
Загрузка файлов не запускает работу инструмента TgWitness. Убедитесь, что в канале появилось первое подписанное сообщение, а затем отдельно сохраните отпечаток открытого ключа инструмента TgWitness.
Выберите периодичность публикаций
Публикация каждой проверки создаёт регулярную внешнюю запись. С интервалом в пять минут это составляет около 288 записей на рабочую область в день. В расширенных настройках также предусмотрена публикация сообщений об изменениях или проблемах, использование прокси-сервера и настройка собственного адреса API-интерфейса бота.
Что именно подтверждает этот бот?
Свидетель запрашивает у сборщика подписанный контрольный точку, сверяет её с ожидаемым ключом и ведёт отдельный подписанный журнал. В нём фиксируются как отсутствующие ответы и отклоненные ответы, так и успешные проверки. Публикация по-прежнему зависит от того, запущен ли «Свидетель» и имеет ли он доступ к Bot API Telegram.
Он проверяет состояние журнала, сообщаемое сборщиком данных. Он не осуществляет независимое наблюдение за каждым сообщением в Telegram. Для этого необходимо добавить тест контролируемой доставки.
Проверьте доказательства позже
Сохраняйте журнал свидетельств, сообщения каналов и независимо сохраненные отпечатки. В ходе полной процедуры проверки они сравниваются с подписанным экспортом сборщика данных.