Часть страницы пока на английском: английский оригинал изменился после перевода.
Справочник / Установка
Установка, проверка подписи и обновление TgWitness
Установите с помощью одной команды, проверьте подписи и хеши, обновите и удалите установку.
TgWitness / Документация · Начало работы
Проект · Быстрый старт · Развертывание
На этой странице
Установка одной командой#
Установщик с пошаговыми инструкциями включает в себя частную среду выполнения Python. Используйте тот же адрес для будущих установок: каждая публикация обновляет установщик, хеши, подписи и информацию о сборке.
Linux / macOS (Bash):
curl -fsSL https://get.destroy.tools/install.sh | bash
На сервере Ubuntu запустите программу от имени root, чтобы установить фоновый сервис. На настольном компьютере запустите программу от имени обычного пользователя.
Windows (PowerShell или командная строка):
powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "irm https://get.destroy.tools/install.ps1 | iex"
В Windows администраторские права не требуются. Дочерний процесс PowerShell оставляет ваш терминал открытым с результатом. Python и зависимости остаются в папке установки.
В Ubuntu выберите «Этот компьютер», «Временная ссылка HTTPS» или «Собственный домен».
Установщик выводит адрес панели и ключ доступа. Для получения временной ссылки откройте
этот HTTPS-адрес в браузере и введите ключ. При локальном доступе к удалённому
серверу используйте перенаправление SSH с вашего компьютера (ssh -L 8787:127.0.0.1:8787 user@server)
и откройте http://127.0.0.1:8787. В macOS и Windows локальная панель открывается в вашем
браузере; оставьте терминал запущенным.
Войдите в Telegram на панели и выберите, что собирать. Сама по себе установка не запускает сбор данных из Telegram.
Где всё работает#
get.destroy.tools — это Cloudflare Worker, обслуживающий статические загрузки. У него нет панели
TgWitness, сеанса Telegram или базы данных с данными о пользователях. Он не маршрутизируется на
VPS проекта. Приложение работает на том компьютере, на котором вы выполняете команду.
| Установка | Программа | Данные |
|---|---|---|
| Ubuntu с правами root | /opt/tgwitness |
Системная служба: /var/lib/tgwitness-<installation ID>; используйте tgwitness paths для указания точного пути. |
| Пользователь Linux / macOS | ~/.local/share/tgwitness |
data/live в рамках данной установки. |
| Пользователь Windows | %LOCALAPPDATA%\TgWitness |
data\live в рамках данной установки. |
Нажмите TGWITNESS_INSTALL_DIR , чтобы выбрать другую папку. Установленные версии и данные
хранятся отдельно. Установщик не загружает ваши аккаунты, сообщения или ключи на
сайт загрузки. При выборе туннеля Cloudflare трафик панели проходит через
Cloudflare; использование собственного домена направляет трафик на ваш собственный сервер.
With TGWITNESS_TRUSTED_PROXIES, the panel accepts a single X-Forwarded-Proto: https from a trusted proxy to set Secure download cookies.
Каждая установка включает файлы START-HERE.html и START-HERE.txt с указанием локальных
путей, команд и ссылок на репозиторий. Запустите tgwitness guide , чтобы открыть руководство.
В Windows используйте & "$env:LOCALAPPDATA\TgWitness\bin\tgwitness.cmd" guide в PowerShell.
Настройки полнотекстового поиска#
Полнотекстовый поиск (предварительная версия) не требует настройки. Его индекс создаётся в фоновом режиме после обновления.
| Переменная или команда | Эффект |
|---|---|
TGWITNESS_FULLTEXT=disk |
По умолчанию: индекс хранится в search/fulltext.sqlite3 каждого рабочего пространства |
TGWITNESS_FULLTEXT=memory |
Файл индекса отсутствует; индекс перестраивается при каждом запуске |
TGWITNESS_FULLTEXT=off |
Без индекса; только поиск по точному тексту |
tgwitness index status |
Состояние индекса каждого рабочего пространства |
tgwitness stop, tgwitness index rebuild, tgwitness start |
Перестроить все индексы из подписанного журнала |
Выбор администратора в разделе «Журнал» → «Фильтры» → «Индекс поиска» переопределяет
переменную для данного рабочего пространства. Команды находят каталог данных той установки,
в которой они запускаются; в остальных случаях добавьте --data-dir путь из tgwitness paths.
Для полного украинского словаря (данные по лицензии GPL-3.0) установите pymorphy3-dicts-uk в
среду Python данной установки.
Доступ через командную строку#
Командная строка (предварительная версия) считывает архив для скриптов и агентов.
| Переменная | Эффект |
|---|---|
TGWITNESS_URL |
Адрес панели для tgwitness search, context, messages, stats и export; по умолчанию http://127.0.0.1:8787 при наличии токена |
TGWITNESS_MCP_TOKEN |
Архивируйте токен подключения из раздела «Интеграции» → «MCP», который используется совместно с клиентами MCP; --token-file вместо этого считывает его из файла |
TGWITNESS_DATA |
Каталог данных считывается напрямую, если не указан --data-dir, URL или токена |
Проверьте перед запуском#
Однострочная команда доверяет HTTPS для запуска начального скрипта. Этот скрипт проверяет SHA-256, а также RSA-подпись проекта на приложении и ограничениях перед установкой. Вы также можете сначала скачать и проверить начальный скрипт.
Публичный ключ выпуска — release-signing.pub. Его SHA-256:
039d98a658ccda14253e45a00335b4a68d840976d8ec18b8d4355cc7c458447d
Сохраните этот отпечаток из ревизии репозитория, которой вы доверяете. Контрольная сумма с того же сервера загрузки позволяет обнаружить несоответствие; независимый доверенный открытый ключ служит для аутентификации подписи выпуска.
Используйте новый пустой каталог для загрузки файлов, необходимых для проверки, указанных ниже.
Linux / macOS — запускайте в новом пустом каталоге для загрузок (требуются curl и OpenSSL):
curl -fSLO https://get.destroy.tools/install.sh &&
curl -fSLO https://get.destroy.tools/install.sh.sig &&
curl -fSLO https://get.destroy.tools/release-signing.pub &&
test "$(openssl dgst -sha256 release-signing.pub | awk '{print $NF}')" = \
'039d98a658ccda14253e45a00335b4a68d840976d8ec18b8d4355cc7c458447d' &&
openssl dgst -sha256 -verify release-signing.pub -signature install.sh.sig install.sh &&
bash install.sh
Цепочка && цепочка останавливается до выполнения, если загрузка, проверка отпечатка ключа или проверка подписи
завершились неудачно. Если между загрузкой скрипта и проверкой его
подписи произошла публикация, загрузите и то, и другое заново. Старые установщики сохраняют неизменяемые URL-адреса пакетов.
Windows — перед запуском проверьте изображение SHA-256:
Invoke-WebRequest https://get.destroy.tools/install.ps1 -OutFile install.ps1 -UseBasicParsing
Get-FileHash .\install.ps1 -Algorithm SHA256
Invoke-RestMethod https://get.destroy.tools/SHA256SUMS.txt
Сравните хеш со install.ps1 строкой. Для независимой проверки подписи
используйте OpenSSL (например, из Git Bash) и тот же отпечаток открытого ключа, что указан выше:
curl -fSLO https://get.destroy.tools/install.ps1 &&
curl -fSLO https://get.destroy.tools/install.ps1.sig &&
curl -fSLO https://get.destroy.tools/release-signing.pub &&
test "$(openssl dgst -sha256 release-signing.pub | awk '{print $NF}')" = \
'039d98a658ccda14253e45a00335b4a68d840976d8ec18b8d4355cc7c458447d' &&
openssl dgst -sha256 -verify release-signing.pub -signature install.ps1.sig install.ps1 &&
powershell.exe -NoProfile -ExecutionPolicy Bypass -File install.ps1
Сама система Windows проверяет подписи пакетов с помощью .NET и не
требует OpenSSL. Это отдельные подписи RSA-3072 / SHA-256, а не Authenticode.
Манифест содержит версию программного обеспечения,
точный коммит Git, неизменяемый идентификатор выпуска и SHA-256 каждого артефакта. Страница содержит ссылку
на соответствующий исходный код. Манифест и список контрольных сумм также имеют отдельные
подписи (manifest.json.sig и SHA256SUMS.txt.sig).
Обновление существующей установки#
Новая публикация обновляет сайт загрузки; установленные программы обновляются при
повторном запуске установщика. Автоматического обновления или автоматического перезапуска
работающей коллекции не предусмотрено. Текущий канал установщика — «preview»; он использует
опубликованные и проверенные сборки из main, коммит которой может быть более поздним, чем последний
пронумерованный релиз на GitHub. Версия страницы определяется pyproject.toml; её коммит
и идентификатор сборки позволяют различать обновления в пределах одной и той же предварительной версии.
Публикация происходит автоматически после того, как данная фиксация проходит проверку приложения и безопасности, а подписанный пакет проходит тесты на работу в среде Ubuntu и установку в Windows PowerShell. Во время выполнения проверок или в случае их сбоя те же команды продолжают устанавливать предыдущую проверенную сборку. Манифест сборки показывает, какая фиксация доступна в данный момент; сам номер версии может оставаться неизменным между обновлениями предварительной версии.
Используйте ту же папку установки и того же пользователя ОС, что и ранее. Сделайте резервную копию всего каталога данных
при остановленной сборе данных; tgwitness paths идентифицирует его. Подписанный экспорт
не является полной резервной копией установки.
Установка с правами root в Ubuntu по адресу /opt/tgwitness:
curl -fsSL https://get.destroy.tools/install.sh | TGWITNESS_INSTALL_DIR=/opt/tgwitness bash -s -- --no-start
После успешной установки:
/opt/tgwitness/bin/tgwitness restart
/opt/tgwitness/bin/tgwitness status
/opt/tgwitness/bin/tgwitness open
Для установки пользователем Linux/macOS используйте исходный файл TGWITNESS_INSTALL_DIR или
значение по умолчанию и запустите первую команду установки ещё раз. Перед обновлением закройте
панель, работающую в фоновом режиме, а после обновления запустите её снова. Для настроенной службы под Linux
запустите соответствующую tgwitness restart команду.
Windows: закройте запущенную панель, запустите команду установки для Windows ещё раз,
затем откройте bin\tgwitness.cmd в той же установке. Установщик сохраняет данные,
сессии, настройки доступа и ключи подписи. Он переключает лаунчер только после того, как
новая среда пройдет проверки; в случае неудачной установки предыдущий
лаунчер остаётся на месте. Сохраните резервную копию, созданную до обновления, на случай изменения формата хранения.
Повседневные команды в Ubuntu#
| Команда | Результат |
|---|---|
tgwitness open |
Текущий URL панели и ключ доступа. |
tgwitness paths |
Точные пути к программам, данным и руководствам. |
tgwitness guide --print |
Инструкции по работе в автономном режиме. |
tgwitness status / tgwitness logs |
Журналы доступности / обслуживания. |
tgwitness stop / tgwitness start |
Остановить/возобновить работу сервиса; сохранить данные. |
tgwitness token rotate |
Замените ключ администратора и завершите сеансы браузера. |
tgwitness tunnel off |
Отключить общедоступный быстрый туннель; сохранить локальную панель. |
tgwitness tunnel on / tgwitness tunnel restart |
Создать ссылку на быстрый туннель / заменить его адрес. |
См. раздел «Доступ» для получения информации о токенах коллег, сессиях и IP-ограничениях, а также раздел «Публикация установщика» для ознакомления с рабочим процессом выпуска из GitHub в Cloudflare.
Удалить TgWitness#
Деинсталлятора нет: нужно остановить работу панели и удалить её папки. Удаление папки с данными приводит к безвозвратной потере журналов, ключей подписи, сеансов Telegram и сохраненных файлов. Перед этим:
- Экспортируйте то, что вам нужно (Экспорт → Скачать подписанный ZIP), и храните отпечаток ключа подписи и контрольные точки за пределами этого компьютера. Чтобы сохранить само рабочее пространство, скопируйте всю папку с данными после остановки сбора данных.
- Удалите серверы, созданные в разделе «Дополнительно» → «Сервер 24/7» из списка «Ваши серверы» или с помощью
python -m tgwitness.cloud destroy; провайдер выставляет счета за них до тех пор, пока они не будут удалены. - Завершите сессию каждой учётной записи в Telegram в разделе «Настройки» → «Устройства». Удаление файлов не приводит к выходу из сессии на стороне Telegram.
Установка с правами root в Ubuntu. Обратите внимание на папку с данными, остановите службу, а затем удалите службу, папки и ярлык:
/opt/tgwitness/bin/tgwitness paths
/opt/tgwitness/bin/tgwitness stop
systemctl list-unit-files 'tgwitness-*'
systemctl disable tgwitness-<ID>
rm /etc/systemd/system/tgwitness-<ID>.service
systemctl daemon-reload
rm -rf /opt/tgwitness /var/lib/tgwitness-<ID> /usr/local/bin/tgwitness
Установка для пользователей Linux или macOS. Закройте панель. Настроенная служба пользователя Linux
останавливается с помощью systemctl --user disable --now tgwitness-<ID>; его модуль находится в
~/.config/systemd/user/. Затем удалите ~/.local/share/tgwitness (или ваш
TGWITNESS_INSTALL_DIR) и ~/.local/bin/tgwitness ярлык.
Windows. Закройте панель и удалите %LOCALAPPDATA%\TgWitness (или ваш
TGWITNESS_INSTALL_DIR). Установщик не добавляет ни служб, ни запланированных задач, ни ярлыков.