Довідка / Налаштування
Швидкий старт
Усі способи встановлення та запуску TgWitness: пакет для Windows, Python, Docker та синтетична демонстраційна версія з першими перевірками.
Англійська · Русский · Українська · Español · Португальська (Бразилія) · Türkçe · العربية · فارсі · урду · हिन्दी · Індонезійська · Tiếng Việt · 简体中文
TgWitness — це автономний додаток для спостереження за групами та каналами Telegram, доступ до яких мають ваші акаунти. Він працює локально з власним каталогом даних.
Вперше на сайті? Ознайомтеся з демо-версією, перш ніж підключити обліковий запис. Оберіть посібник щодо проксі-серверів, свідків, експорту даних або налаштування сервера.
Встановити та запустити#
Вивантаження через GitHub Actions (попередня версія)
Оберіть один із способів. Портативні версії для завантаження стають доступними після публікації релізної збірки:
| Хостинг | Нічого не встановлено | З джерела: Python 3.11+ | Docker: Engine/Desktop із Compose 2.20+ |
|---|---|---|---|
| Windows | Витягніть TgWitness-<version>-windows-amd64-portable.zip з GitHub Releases, двічі клацніть на TgWitness.cmd |
Двічі клацніть на Start.cmd |
Двічі клацніть на scripts\Docker.cmd |
| Linux / macOS | — | sh start.sh |
sh scripts/docker-start.sh |
Для способів запуску з вихідного коду завантажте та розпакуйте поточну гілку main
або клонуйте репозиторій:
git clone https://github.com/phishdestroy/TgWitness.git
cd TgWitness
Поточний вихідний код включає пакетний імпорт облікових записів, панель керування MTProxy та відновлюване завантаження історії. Портативна попередня версія 0.7.0 та архів вихідного коду її релізу передували цим доповненням. Межі версій див. у журналі змін.
Start.cmd пропонує встановити Python 3.12 для вашого користувача Windows, якщо відповідний
Python не знайдено (через winget або підписаний інсталятор з python.org). start.sh виводить
точну команду встановлення для вашого дистрибутива Linux або macOS, якщо Python відсутній.
Перший запуск із вихідного коду автоматично створює .venv і встановлює залежності.
Docker компілює додаток і запускає його у фоновому режимі; Python на хості
не потрібний. Команди scripts\Docker.cmd та scripts/docker-start.sh виводять адресу панелі та токен, коли
контейнер працює нормально. Відповідні команди Docker для кожного підтримуваного хоста:
docker compose up -d --build --wait
docker compose exec tgwitness cat /data/panel-token.txt
Відкрийте http://127.0.0.1:8787. Використовуйте токен, виведений допоміжною програмою Docker або другою командою Docker, або прочитайте файл data/live/panel-token.txt для портативної або вихідної інсталяції. Продовжуйте з розділу «Підключити Telegram» нижче. Нативні та Docker-інсталяції використовують окремі сховища; запуск Docker не імпортує існуючий нативний журнал.
Для сервера розгортання охоплює автоматичне налаштування HTTPS, перезапуск, публікацію зображень, оновлення та резервне копіювання.
Ознайомтеся з інтерфейсом#
- Запустіть файл TgWitness-Demo.cmd
у портативному пакеті, scripts\Demo.cmd
у папці з вихідним кодом для Windows
або
sh start.sh --demoу Linux/macOS. Запуск з вихідного коду спочатку створює файл.venvта встановлює залежності. - Відкрити http://127.0.0.1:8787.
- Локальна демоверсія автоматично відкриває зразок журналу. Для прямого локального доступу копія токена не потрібна.
Демонстраційні повідомлення є вигаданими. У демонстраційному режимі неможливо підключити реальний обліковий запис Telegram.
Підключити Telegram#
[!ПОПЕРЕДЖЕННЯ] Не використовуйте те, що не можете собі дозволити втратити. Ми настійно не рекомендуємо підключати особисті або цінні акаунти, а також створювати API-ідентифікатор / хеш на акаунті, який для вас цінний. Telegram блокує акаунти непередбачувано і часто назавжди, незалежно від клієнта. Безперебійне тестування залежить від Telegram, а не від TgWitness, і не дає жодних гарантій щодо подальшої роботи.
- Якщо запущено вбудовану демо-версію, зупиніть її та запустіть Start.cmd або
sh start.sh. В іншому випадку залиште запущеною інсталяцію, яку було запущено вище. - Використовуйте токен панелі, що відповідає вашому способу встановлення, щоб відкрити панель.
- Якщо вам потрібен проксі-сервер, збережіть його в меню «Обліковий запис» → «Налаштування» → «Налаштування з’єднання» → «Змінити маршрут з’єднання».
- У розділі «Акаунт» введіть свій номер телефону та натисніть «Продовжити», виберіть
«QR-код» → «Показати QR-код» або виберіть файли та натисніть «Підключити акаунт».
API ID + Hash є необов’язковими: робоча область використовує свою збережену або імпортовану пару,
або робочу пару з вбудованого пулу. Щоб використовувати власний додаток, вставте одну
пару
API ID:API Hashу поле «API ID». Щоб отримати повний ключ авторизації, виберіть «Ключ авторизації», вставте всі 512 шістнадцяткових символів та виберіть наданий DC ID. User ID є необов’язковим і перевіряється, якщо його введено. - Завершіть обраний спосіб входу: телефон/код/2FA, підтвердження з зареєстрованого додатка Telegram для QR-коду або імпорт підтримуваної авторизованої сесії.
- Перевірте відображений ідентифікатор облікового запису. Відкриті джерела: ваші чати завантажуються автоматично; додайте свої групи.
- У розділі «Виберіть, які зміни зберегти» оберіть категорії подій або пресет «Повідомлення, редагування та видалення», а потім збережіть налаштування моніторингу.
- Окремо виберіть налаштування вкладень, а потім натисніть «Почати спостереження».
Повноваження API ідентифікують ваш додаток; вони самі по собі не надають авторизацію облікового запису. Приватні групи не потребують публічного імені користувача, але ваш обліковий запис повинен мати доступ.
Для наявних облікових записів див. облікові записи та формати сесій: панель приймає Telethon StringSession, SQLite від Telethon/Pyrogram, ZIP-архіви TData для одного облікового запису та підтримувані JSON-файли облікових записів. Виберіть сесію разом із супровідним JSON-файлом, натисніть Підключити обліковий запис. Вхід за QR-кодом також доступний із тими самими необов'язковими налаштуваннями API. Сесії TDLib, ботів і реєстри облікових записів у форматах CSV/JSON не підтримуються.
Для кількох облікових записів використовуйте Облікові записи → Імпорт облікових записів і виберіть підтримувані файли сесій. Супровідні JSON-файли зіставляються за базовим ім'ям файлу; кожен імпортований обліковий запис отримує власний робочий простір. Див. масовий імпорт і групи облікових записів.
Щоб додати ще один обліковий запис, натисніть + поруч із селектором облікових записів або відкрийте Обліковий запис → Налаштування → Налаштування з’єднання → Робочі простори, або скористайтеся меню «Облікові записи». Робочі простори мають окремі сесії, журнали, ключі, джерела та черги. Перемикання між видами не зупиняє роботу інших колекторів. Один і той самий обліковий запис Telegram не можна прив’язати до двох робочих просторів у цій інсталяції. Кількість робочих просторів не обмежена; вони використовують один процес, тому їхня продуктивність залежить від потужності комп’ютера.
Токен панелі в режимі реального часу захищає доступ до ваших авторизаційних даних Telegram та збережених
матеріалів; він є окремим від облікових даних API Telegram. Автоматичний запис здійснюється лише для явно запущеної,
локальної демоверсії, до якої здійснюється прямий доступ. Віддалена або проксі-демоверсія все ще використовує
data/demo/panel-token.txt.
Перегляд та експорт#
- Журнал: пошук та фільтрування спостережень за джерелом та типом події.
- Виберіть подію, щоб переглянути її оригінальний запис, атрибуцію та збережені версії.
- Деталі редагування показують доступний вміст до та після редагування. Деталі видалення показують останній зафіксований вміст, якщо такий є; невідомий учасник залишається невідомим.
- Експорт: підписані файли у форматах ZIP, JSONL, CSV та офлайн-HTML.
- Повний експорт чату (Джерела → Повний експорт чату): завантажте всю видиму
історію одного чату у вигляді підписаного пакету з
chat.json(у стилі Telegram-export) та читабельногоchat.html. Приватні чати працюють, якщо обліковий запис є учасником. Це поточний знімок, а не реконструкція видалених або раніше відредагованих повідомлень. Перевірте копію за допомогоюpython verify.py chat-export.zip --fingerprint TRUSTED_SHA256. - Контрольна точка: межа підписаного журналу має залишатися поза межами колектора.
- Завантажити підписану квитанцію про виконання: зберегти запис про програму/версію колектора.
- Підготовка запиту на отримання часової мітки: підготуйте офлайн-запит до сервісу часових міток; дотримуйтесь інструкцій у файлі TIMESTAMP.md для отримання та перевірки відповіді.
- Перевірка журналу: перевірка підписів подій та ланцюжків. Експорт у форматі ZIP також перевіряє мультимедійні файли.
Підтримувані браузери зберігають великі експортні файли безпосередньо у вибраний файл. Інші браузери буферизують не більше 128 МіБ. Поки сервер працює, CLI для потокового передавання підтримує завантаження більших обсягів без буферизації всього відповідного потоку:
python -m tgwitness.download --token-file data/live/panel-token.txt --out evidence.zip
Для іншого робочого простору додайте --profile ID, скориставшись меню «Експорт» → «Ідентифікатор робочого простору».
Для віддаленого сервера додайте --url https://your-server. Ліміт передачі даних за замовчуванням становить
5 ГіБ; --max-mib змінює його. Підписаний вміст ZIP-архіву має окремий ліміт перевірки в 4 ГіБ у розпакованому вигляді
за замовчуванням (Parameters збільшує його; перевіряйте такі архіви за допомогою
verify.py --max-gib N). Перевіряйте архів за допомогою надійної копії верифікатора та
незалежно збереженого відбитка ключа/контрольної точки.
Перевірте установку#
python start.py --setup-only
python start.py --check
python start.py --check --json
--check перевіряє локальні залежності, підтримку підпису, сховище, конфігурацію ключів та
адресу прослуховування. Він нічого не встановлює та не підключається до Telegram. Зайнятий
порт може означати, що працює інший екземпляр. Скористайтеся іншим --port або спочатку зупиніть його.
Програма запуску встановлюється в .venv. Допоміжні команди python -m tgwitness... повинні
використовувати .venv\Scripts\python.exe у Windows або .venv/bin/python у Linux/macOS,
якщо це середовище ще не активовано.
Сесії, захист та експлуатація#
Закритий, узгоджений файл Telethon у форматі SQLite .session можна конвертувати локально за допомогою
python -m tgwitness.sessions account.session --out account.tgwitness-session, а потім
завантажити в Account. Також доступні прямий імпорт файлів та вхід за допомогою QR-коду. Дивіться
файл CONNECTION-SECURITY.md щодо форматів входу, SOCKS5,
HTTP CONNECT, MTProxy та зовнішніх головних ключів.
Призупинення спостереження зупиняє збір даних. Блокування лише закриває доступ через браузер. Закриття вкладки не зупиняє процес збору даних. Зупинка процесу перериває збір; знімок історії не дозволяє відтворити всі пропущені редагування чи видалення. Дізнайтеся, як працює збір даних у контексті політик подій, черг вкладень, ізоляції облікових записів та поведінки при перезапуску.
Сесії та секретні дані шифруються. Для зберігання вмісту повідомлень, мультимедіа та експортованих даних необхідний зашифрований диск або том. Підписи підтверджують цілісність відносно довіреного ключа; вони не підтверджують походження з Telegram і не запобігають фальсифікації з боку оператора, який контролює збирач даних та його ключ.
Ознайомтеся з файлом OPERATIONS.md щодо резервного копіювання/відновлення, DEPLOYMENT.md
щодо розміщення, а також з розділом deploy/ для прикладів використання. Встановлена
панель також містить посібник з налаштування в автономному режимі за адресою /guide.html.
Фактичні результати перевірки та існуючі обмеження зафіксовані у файлах VERIFICATION.md та READINESS.md.