TgWitness / Документация

Документация / 12

Бот-свидетель

Позвольте отдельному процессу проверять журнал и публиковать подписанные контрольные точки в вашем канале.

Два сервера, два ключа подписи

ХОСТИНГ / СБОРЩИКУчётная запись + журнал

Ключ подписи сборщика сеансов Telegram

Конечная точка контрольной точки, доступная только для чтения
HOST B / WITNESSПроверка + сохранение

Закрепленный отпечаток сборщика; отдельный ключ подписи свидетеля

Собственный журнал + токен бота
Witness → API бота Telegram →Ваш канал · подписанные сообщения TGW1
Witness самостоятельно выполняет проверки. Доступ сборщика ограничен только чтением. При публикации бот использует подключение и токен Witness; сессия учетной записи Witness не предоставляется.
03 / РЕШЕНИЯ ПО КОНТРОЛЬНЫМ ТОЧКАМПримерные ответы
ПОСЛЕДНЕЕ УТВЕРЖДЕНИЕ120 записейhead 9c7d…
СЛЕДУЮЩИЙ ОТВЕТ128 записейhead a4f2…

Принято: количество записей увеличивается, подпись подтверждается, а ключ совпадает. Свидетель сохраняет эту новую границу.

Во всех примерах ответов предполагается наличие действительной подписи и закреплённого ключа. Хэши здесь приведены в сокращённом виде. Само по себе большее количество не может служить доказательством того, что весь старый префикс остался неизменным; сравните экспорт с сохраненными контрольными точками.

Подготовьте бота и канал

Создайте бота с помощью BotFather и разрешите ему публиковать сообщения в канале, который вы контролируете. Выберите компьютер или сервер для размещения TgWitness. Использование отдельного хоста и оператора обеспечивает большую независимость, чем запуск второго процесса на сервере сборщика данных.

Три шага в разделе «Дополнительные функции»

  1. Доступ только для чтения. Откройте раздел «Дополнительные настройки» → «Бот в вашем канале», создайте токен Witness и сохраните файл доступа. Это позволяет просматривать контрольные точки и состояние системы, но не доступ к перепискам или настройкам сборщика данных.
  2. Канал и интервал. Укажите канал и адрес коллектора, доступный для свидетеля. Сохраните файл настроек.
  3. Запуск. Объедините файлы 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. Для этого необходимо добавить тест контролируемой доставки.

Проверьте доказательства позже

Сохраняйте журнал свидетельств, сообщения каналов и независимо сохраненные отпечатки. В ходе полной процедуры проверки они сравниваются с подписанным экспортом сборщика данных.