# Публикация сохранённых сообщений каналов Telegram

Canonical page: https://phishdestroy.github.io/TgWitness/ru/docs/reference/showcase/

Публикуйте сохраненные сообщения из выбранных публичных каналов и подписанные снимки состояния по ссылкам с ограниченным сроком действия и возможностью отзыва.

[Project context and measured scale](https://phishdestroy.github.io/TgWitness/ru/docs/reference/overview/)

[Documentation index](https://phishdestroy.github.io/TgWitness/ru/llms.txt)

Публикуйте сохраненные сообщения из выбранных публичных каналов и подписанные снимки состояния по ссылкам с ограниченным сроком действия и возможностью отзыва.

[TgWitness](https://github.com/phishdestroy/TgWitness/blob/main/README.md) / [Документация](https://github.com/phishdestroy/TgWitness/blob/main/docs/README.md) · [Развертывание и восстановление](https://phishdestroy.github.io/TgWitness/ru/docs/reference/deployment/)

![Развертывание и восстановление](https://phishdestroy.github.io/TgWitness/assets/chapter-operate.svg)

**«Доступ» → «Публичная витрина»** создаёт отдельную страницу, доступную только для чтения, с использованием существующей системы access-token. Она считывает сохранённые наблюдения установки. Она не запускает сборщик, не входит в Telegram и не получает доступ к каналу для посетителя.

## Опубликовать страницу

1. Сохраните исходный профиль для каждого общедоступного канала, который вы хотите показать. Канал должен иметь общедоступное имя пользователя в своём последнем сохранённом профиле; группы и приватные чаты не подходят.
2. Открытый **доступ → Публичная витрина** (или `/showcase-manage.html`) в качестве администратора.
3. Выберите каналы из не более чем 16 рабочих пространств, введите название общедоступной страницы и укажите срок действия ссылки: 1, 7 или 30 дней. Внутренние метки рабочих пространств не публикуются. Можно включить до 64 каналов.
4. Просмотрите текст выбранных каналов перед публикацией, затем нажмите **«Предварительный просмотр выбранных записей**». В предварительном просмотре используется та же серверная проекция, что и на странице посетителя.
5. Нажмите **«Создать ссылку на демонстрацию**». Скопируйте ссылку, пока она отображается. Откройте её в отдельном окне браузера, чтобы проверить страницу получателя перед рассылкой.

Ссылка содержит токен доступа в фрагменте URL. Страница удаляет этот фрагмент перед отправкой запросов к API и заменяет его сессией браузера. Любой, у кого есть эта ссылка, может открыть выбранный материал до истечения срока действия или отзыва. Новые ссылки допускают 100 одновременных сеансов, каждый из которых длится не более одного часа. Существующие средства контроля доступа также могут налагать ограничения по адресам и количеству входов через API grant. Обычный доступ рецензента представляет собой другой режим и по-прежнему включает исходные разрешённые сообщения и файлы.

## Что видят посетители

| Видимое | Остаётся приватным |
| --- | --- |
| Выбранные названия публичных каналов, имена пользователей и даты просмотра профилей | Идентификаторы аккаунтов, внутренние метки рабочих пространств и невыбранные источники |
| Захваченный текст и каждое сохраненное изменение | Структурированные идентификаторы отправителей, имена, пользовательские имена, номера телефонов и значения профилей |
| Записи об удалении с ранее сохраненным текстом, если таковой имеется | Вложения, аватары, миниатюры, имена файлов и исходные данные |
| Маркеры, указывающие, что автор/профиль или вложение были зафиксированы | Метаданные о пересылке и ответах, сетевые маршруты, IP-адреса и учетные данные |
| Количество событий по выбранным каналам, текущие переключатели коллекций, интервал проверки работоспособности и интервал контрольных точек | Элементы управления коллекциями и стандартные API для экспорта доказательств |
| Подпись отпечатка, контрольная точка журнала и доказательство согласованности | Ключи подписи и сеансы Telegram |

**Текст публичных сообщений не анонимизируется автоматически.** Имя, упоминание, номер телефона или ссылка, указанные в сообщении, остаются частью этого текста. `Redacted`применяется к структурированным полям автора/профиля. Проверяйте фактически выбранный контент перед его публикацией, включая сохраненные правки и удаления.

Соответствие критериям определяется на основе **последнего сохраненного профиля источника**, а не на основе текущего запроса к Telegram. Если в последующем профиле больше нет имени пользователя публичного канала, новые запросы исключают этот канал. Обновляйте профили источников при изменении настроек общедоступности. У читателей уже могут быть сохранены материалы, которые они получали ранее.

Исходные подписанные записи остаются неизменными. Отображаемая проекция подписывается отдельно и содержит хэши, ссылающиеся на исходные записи. Подпись проекции подтверждает подлинность отображаемого сообщения; это не подпись исходного события над отредактированными байтами.

## Проверка подписей и непрерывности

Разверните **«Fingerprint & signed checkpoint»** и загрузите снимок. После обновления страницы загрузка включает предыдущий снимок браузера и доказательство согласованности по алгоритму Меркла между границами их журналов. Автоматическое обновление происходит раз в минуту, пока страница видна и отображает первую страницу наблюдений.

После установки TgWitness проверьте загруженный файл в автономном режиме:

```
python -m tgwitness.showcase_verify showcase.json --fingerprint TRUSTED_COLLECTOR_SHA256
```

Отпечаток должен поступать из отдельного доверенного источника. Чтобы сравнить с снимком, который вы сохранили самостоятельно, используйте `--previous earlier.json`; это переопределит предыдущий снимок, содержащийся в загруженном файле. Текущее доказательство должно начинаться с этой сохраненной границы. Аутентифицированные клиенты могут запросить это доказательство с помощью `GET /api/showcase/{workspace_id}?challenge=<32-hex-random>&from_count=<retained-count>`. Более короткий журнал возвращает HTTP 409 вместо того, чтобы незаметно сбросить границу.

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

Подпись и проверка целостности позволяют обнаруживать изменения относительно сохраненной границы. Они не обеспечивают независимый пересчёт подписанных счетчиков, не подтверждают происхождение из Telegram, не демонстрируют непрерывность записи и не заменяют независимого свидетеля. Для такой проверки используйте [верификатор доказательств](https://github.com/phishdestroy/TgWitness/blob/main/docs/TRUST.md), [независимого свидетеля](https://phishdestroy.github.io/TgWitness/ru/docs/reference/witness/) и [проверенную запись в масштабе](https://phishdestroy.github.io/TgWitness/ru/docs/reference/verification/). Синтетические установки явно помечены как «синтетические».

## Отменить или разместить страницу

Используйте **функцию «Отменить»** в менеджере витрин или в разделе **«Доступ**», чтобы закрыть ссылку и завершить все сеансы доступа. Посетитель очищает отображаемые записи, когда запрос обнаруживает, что доступ завершился. Срок действия и права доступа проверяются при каждом запросе. Права доступа к витринам нельзя преобразовать в обычный доступ к панели на месте; для смены режима необходимо создать новое право доступа.

Страница предоставляется через существующий HTTPS-адрес установки. Публикация ссылки не приводит к открытию нового порта, созданию туннеля или изменению DNS. HTML-код и API остаются на установке пользователя. Посетитель демонстрационной версии не может использовать обычные API для сообщений, профилей, медиафайлов, экспорта или управления при таком доступе.
