Довідка / Налаштування
Формати облікових записів та сеансів
Увійдіть за допомогою телефону, QR-коду або ключа автентифікації, імпортуйте сесії з Telethon, Pyrogram або Telegram Desktop та керуйте кількома обліковими записами.
TgWitness входить у систему як обліковий запис користувача Telegram (а не як бот) через MTProto, використовуючи Telethon. Кожен обліковий запис розміщується у власному робочому просторі (який у API та інструментах командного рядка називається «workspace») із власною сесією, джерелами, журналом та ключем підпису.
Файли сеансів, рядки сеансів та ключі автентифікації є засобами авторизації облікового запису: той, хто володіє ними, може діяти від імені цього облікового запису. Вони не містять історії повідомлень.
[!ПОПЕРЕДЖЕННЯ] Не використовуйте те, що не можете собі дозволити втратити. Ми настійно не рекомендуємо підключати особисті або інші цінні акаунти, а також створювати API-ідентифікатор / API-хеш на акаунті, який для вас цінний. Справа не в тому, що TgWitness не пройшов тестування: Telegram обмежує та постійно блокує акаунти непередбачувано — за обсяги запитів, які він вважає надмірними, незалежно від клієнта чи мети, без належної документації. Багато блокувань є незворотними. Використовуйте спеціальні акаунти. Безперебійне тестування залежить від Telegram, а не від програмного забезпечення, і не гарантує нічого на майбутнє.
- Короткий огляд
- Перш ніж почати: ідентифікатор API та хеш API
- Номер телефону · QR-код · Ключ автентифікації + ідентифікатор DC
- Файли облікових записів: Telethon .session · Pyrogram .session · Пара «сесія + JSON» · TData · StringSession · JSON-файл облікового запису
- Визначте, що у вас є · Непідтримувані формати
- Кілька облікових записів · Забезпечення безпеки файлів облікових записів · Усунення несправностей
Короткий огляд#
| Що у вас є | Вкладка «Додати обліковий запис» | Вам також знадобиться |
|---|---|---|
| Номер телефону та доступ до кодів входу | Телефон | Пароль 2FA, якщо функція увімкнена |
| Telegram відкрито на іншому пристрої | QR-код | Пароль 2FA, якщо функція увімкнена |
Файл .session (Telethon або Pyrogram) |
Файли | Додатковий супровідний файл JSON для налаштувань додатка |
.session + .json з однаковою назвою |
Файли (виберіть обидва) | Зазвичай нічого іншого |
Папка «tdata» у Telegram Desktop |
Файли (у форматі ZIP) | Локальний пароль для настільного комп’ютера, якщо такий встановлено |
StringSession для Telethon (текст, .txt, .tgwitness-session) |
Файли | Окремої пари API не потрібно |
.json із сесією або ключем автентифікації |
Файли | Окремої пари API не потрібно |
| Ключ автентифікації (512 шестнадцяткових символів) та його номер DC | Ключ автентифікації | Опціональний ідентифікатор користувача |
TgWitness розпізнає файли за їхнім вмістом, а не за іменами. Перейменування файлу ніколи не призводить до його конвертації.
Перш ніж почати: ідентифікатор API та хеш API#
Ви можете увійти, не створюючи додатка Telegram API. Якщо жодна пара не введена,
не імпортована або вже не збережена в робочому просторі, TgWitness вибирає пару зі свого вбудованого пулу з
50 публічних пар API (tgwitness/api_pool.py) у випадковому порядку. Якщо Telegram відхиляє пару
(API_ID_INVALID, API_ID_PUBLISHED_FLOOD, UPDATE_APP_TO_LOGIN), перевіряється наступна,
до восьми разів за один вхід; відхилені пари пропускаються до перезапуску. Пара, з якою відбувся вхід,
зберігається разом з обліковим записом і використовується для нього повторно. Ідентифікатор API та хеш API ідентифікують додаток для Telegram; вони
самі по собі не надають авторизацію обліковому запису.
Щоб замість цього використовувати власний додаток (ризику піддається саме той обліковий запис, на якому його зареєстровано; див. «Навіщо потрібен вбудований пул API?»):
- Відкрийте my.telegram.org і увійдіть, вказавши будь-який номер телефону, який належить вам. Код надходить у додаток Telegram, а не у вигляді SMS.
- Виберіть інструменти для розробки API.
- Створити заявку: будь-яка назва та коротка назва (5–32 літери), платформа — «Настільний ПК». Поля «URL» та «Опис» можна залишити порожніми.
- Скопіюйте App api_id (число) та App api_hash (32 шестнадцяткові символи).
У панелі під формою входу вказано «API ID + Hash». Ви можете ввести одну
пару api_id:api_hash у поле «API ID», і обидва поля заповняться автоматично. Одну пару можна
використовувати для всіх ваших облікових записів. Після успішного входу дані зберігаються у зашифрованому вигляді
виключно в цьому робочому просторі й ніколи не надсилаються назад до браузера.
Задіяно три різні типи облікових даних:
| Секрет | Відкрити | Де це знаходиться |
|---|---|---|
| Токен панелі | Веб-панель TgWitness | panel-token.txt у каталозі даних або TGWITNESS_TOKEN |
| Ідентифікатор API + хеш | Нічого окремо; ідентифікує додаток | Вбудована пара, імпортовані налаштування або ваш власний додаток на my.telegram.org |
| Авторизація облікового запису | Акаунт у Telegram | Створюється шляхом входу через телефон/QR-код або імпортується як сесія |
Якщо для доступу до Telegram потрібно використовувати проксі-сервер, спочатку налаштуйте його в меню «Акаунт» → «Налаштування» → «Налаштування з’єднання» → «Змінити маршрут з’єднання».
Номер телефону#
- Відкрийте обліковий запис, перейдіть на вкладку «Телефон» і введіть номер у міжнародному форматі,
наприклад,
+44 7700 900123. Пробіли та тире видаляються автоматично. - Натисніть «Продовжити». Поля «API ID» та «Хеш» можна залишити порожніми.
- Введіть код, який надсилає Telegram (зазвичай у додаток Telegram; надсилання SMS не гарантується).
- Якщо для облікового запису налаштовано двоступеневу аутентифікацію, введіть цей пароль. Це не токен панелі і не код доступу до пристрою.
- Перевірте ідентифікатор облікового запису, що відображається після входу, а потім виберіть джерела.
Коди входу та пароль 2FA ніколи не записуються на диск.
QR-код#
Використовуйте цю функцію, коли обліковий запис уже ввійшов у систему на телефоні або іншому комп’ютері.
- Вкладка «QR-код» → Показати QR-код. Поля «API ID» та «Хеш» можна залишити порожніми.
- На пристрої, на якому ви увійшли: Налаштування → Пристрої → Підключити настільний пристрій, відскануйте код та підтвердіть.
- Введіть пароль 2FA у TgWitness, якщо Telegram його вимагає.
Зображення QR-коду генерується локально. Термін дії кодів обмежений; натисніть «Створити інший QR-код», щоб спробувати ще раз. Блокування панелі, перехід до іншого робочого простору або початок нової сесії входу скасовує код, що очікує на використання.
Ключ автентифікації + ідентифікатор DC#
Ключ авторизації (Auth Key) — це необроблений 256-байтовий код авторизації, що лежить в основі кожного сеансу Telegram, записаний у вигляді 512 шістнадцяткових символів разом із номером центру обробки даних DC 1–5.
- Вкладка «Ключ авторизації». Вставте повний ключ; скорочений ключ, що містить
…, не працюватиме. - Виберіть DC-ідентифікатор, наданий разом із ключем.
- За бажанням введіть ідентифікатор користувача. У такому разі TgWitness відмовить у підключенні, якщо Telegram повідомить про інший обліковий запис.
- Акаунт у Press Connect.
Ключ авторизації (512 символів) — це не хеш API (32 символи). Цей самий ключ також можна імпортувати у форматі JSON, див. JSON-файл облікового запису.
Файли облікових записів#
Відкрийте «Додати обліковий запис» → «Файли» та виберіть до чотирьох файлів, що належать до одного облікового запису, загальним розміром до 8 МіБ, а потім натисніть «Підключити обліковий запис».
- Файли конвертуються в оперативній пам’яті на вашому сервері TgWitness. Завантажені дані не зберігаються, архіви ZIP не розпаковуються на диск, і не відбувається звернення до жодних зовнішніх сервісів.
- Отримані дані потім перевіряються за допомогою Telegram. Якщо у файлі вказано ідентифікатор користувача, він повинен збігатися з даними облікового запису, які надає Telegram.
- Файли, що описують різні облікові записи або різні облікові дані API, відхиляються, замість того, щоб вибрати один із них.
- Поле «Пароль або текст сеансу» містить поле локального пароля TData — поле для вставлення StringSession та Read-файлів без входу в систему (заповнює форму без звернення до Telegram).
Телемарафон .session#
| Що це таке | База даних SQLite, яку створюють інструменти на базі Telethon, наприклад my_account.session |
| Визнано | Таблиці sessions (разом із dc_id, server_address, port, auth_key) та version = 7 або 8 |
| Вимоги | Рівно один рядок авторизованої сесії; закрита, повна база даних |
Спочатку закрийте програму, яка створила файл. Якщо поруч із ним є файл my_account.session-journal або
my_account.session-wal, це означає, що база даних не завершена: відкрийте та
повністю закрийте оригінальний клієнт. Видалення цих супутніх файлів може призвести до пошкодження копії.
Pyrogram .session#
| Що це таке | База даних SQLite, яку створюють інструменти на основі Pyrogram |
| Визнано | Таблиця sessions з dc_id, auth_key, test_mode, user_id, is_bot; version = 2 або 3 |
| Вимоги | Допускається лише одна авторизована сесія користувача в робочій мережі. Сесії ботів та тестових DC відхиляються. |
Під час входу збережений ідентифікатор користувача перевіряється у Telegram.
Пара «сесія + JSON»#
Дані часто розповсюджуються у вигляді двох файлів з однаковою назвою, наприклад
447700900123.session та 447700900123.json. Виберіть обидва одночасно.
- На основі JSON TgWitness використовує
app_id/api_idтаapp_hash/api_hash, тому вам зазвичай не потрібно вводити облікові дані API. - Інші поля, такі як
phone,device,sdk,app_version,lang_packабо збережений парольtwoFA, ігноруються. Якщо для облікового запису налаштовано двофакторну автентифікацію (2FA), TgWitness запитує її. - Сам по собі файл JSON є лише метаданими. Якщо файл сеансу відсутній, продовжуйте, увійшовши за допомогою телефону або QR-коду.
Telegram Desktop (TData)#
TData — це папка tdata у програмі Telegram Desktop (кросплатформовий
додаток з desktop.telegram.org).
| Система | Стандартне розташування tdata |
|---|---|
| Windows | %APPDATA%\Telegram Desktop\tdata (портативний Telegram: поруч із Telegram.exe) |
| Linux | ~/.local/share/TelegramDesktop/tdata |
| macOS | ~/Library/Application Support/Telegram Desktop/tdata |
Щоб імпортувати його:
Попередження щодо паралельних сесій. Під час імпорту TData повторно використовується ключ авторизації Telegram Desktop; він не створює незалежного облікового запису. Не використовуйте цей ключ одночасно в Desktop та TgWitness. Telegram може анулювати авторизацію з
AUTH_KEY_DUPLICATED, що зробить обидві копії непридатними для використання до моменту створення нового облікового запису.Повністю закрийте Desktop, включаючи його процес у системному треї, і тримайте цю копію закритою, поки TgWitness використовує імпортовану сесію. Закрийте програму, не виходите з системи та не скасовуйте сесію: скасування також робить імпортовану копію недійсною. Якщо вам потрібно, щоб обидва клієнти працювали, увійдіть у TgWitness за допомогою телефону або QR-коду, щоб створити власну авторизацію. Рекомендується використовувати окремий обліковий запис, але це не гарантує безпеку паралельного використання клонованих ключів.
Це також стосується імпортованих
.sessionфайли, текст StringSession та HEX-код ключа авторизації. Інші клієнти з власними, незалежно створеними авторизаціями, можуть залишатися у системі. Дивіться документацію Telegram щодо AUTH_KEY_DUPLICATED.
- Повністю закрийте Telegram Desktop.
-
Створіть ZIP-архів, що містить лише ці два елементи з
tdata:key_datas- 16-символьний файл із розширенням «
s», що знаходиться поруч, зазвичай «D877F783D5D3EF8Cs»
Стиснення всієї папки разом із кешем мультимедіа зазвичай перевищує обмеження (512 записів, 32 МіБ у розпакованому вигляді). 3. Виберіть ZIP-файл у розділі «Файли». Якщо у Telegram Desktop встановлено локальний пароль, спочатку введіть його у полі «Пароль» або «Текст сеансу». Це не пароль 2FA.
Підтримується: один обліковий запис на архів, сучасне сховище key_datas/key_data0/key_data1,
локальний пароль. Не підтримується: папки з кількома обліковими записами, що ввійшли в систему, старі версії
десктопного додатка, ZIP-архіви, захищені паролем, та окремий нативний додаток для macOS «Telegram для macOS».
Telethon StringSession#
Один рядок тексту, який зазвичай починається з 1 і має довжину близько 350 символів. Завантажте
його як файл .txt або .tgwitness-session (максимум 4 Кбайт) або вставте його в поле
«Пароль» або «Текст сеансу». Приймаються лише рядки у форматі Telethon; рядки у форматах Pyrogram та TDLib
мають інші формати.
JSON-файл облікового запису#
Один об’єкт JSON, розміром не більше 64 Кбайт, у файлі з розширенням .json.
| Поле (псевдоніми) | Значення |
|---|---|
api_id (app_id) |
Ідентифікатор додатка — додатне число |
api_hash (app_hash) |
Хеш додатка, 32 шестнадцяткові символи |
string_session (session_string, session) |
Текст Telethon StringSession, а не ім’я файлу |
auth_key (auth_key_hex) + dc_id |
Повний ключ автентифікації довжиною 512 символів та DC 1–5 |
user_id (id) |
Необов’язково; перевіряється у Telegram перед збереженням авторизації |
Якщо вказано як псевдонім, так і справжнє ім’я, вони повинні збігатися. Приклади:
{ "app_id": 1234567, "app_hash": "0123456789abcdef0123456789abcdef" }
{
"api_id": 1234567,
"api_hash": "0123456789abcdef0123456789abcdef",
"auth_key": "REPLACE_WITH_ALL_512_HEXADECIMAL_CHARACTERS",
"dc_id": 2,
"user_id": 123456789
}
У першому прикладі заповнюються лише облікові дані API; увійдіть за допомогою телефону або QR-коду, або додайте файл сеансу. Масові списки (масив JSON з обліковими записами) не приймаються.
Визначте, що у вас є#
| Ви бачите | Це | Використання |
|---|---|---|
*.session; при відкритті у текстовому редакторі у верхній частині відображається SQLite format 3 |
Telethon або Pyrogram SQLite | Файли (виявляються автоматично) |
Папка «tdata», що містить «key_datas» |
Telegram Desktop TData | Стиснути два файли у ZIP, потім «Файли» |
Один рядок тексту, що починається з 1, приблизно 350 символів |
Telethon StringSession | Файли |
*.json з app_id/app_hash |
Супровідні метадані | Файли разом із сесією |
*.json з auth_key або string_session |
JSON-файл облікового запису | Файли |
512 символів 0-9a-f |
Ключ автентифікації | Ключ автентифікації |
32 символи 0-9a-f |
Хеш API | Ідентифікатор API + хеш |
td.binlog або db.sqlite із додатка TDLib |
Хранилище TDLib | Не підтримується |
123456789:AA… |
Токен бота | Не підтримується |
Непідтримувані формати#
| Формат | Альтернатива |
|---|---|
Сховище TDLib (td.binlog) та експорт даних TDLib |
Увійдіть за допомогою телефону або QR-коду |
| Строки сеансів Pyrogram | Використовуйте файл Pyrogram .session або телефон/QR-код |
| TData з кількома обліковими записами, що ввійшли в систему | Вийдіть з інших облікових записів у Telegram Desktop або використовуйте власний файл сеансу кожного облікового запису |
| Токени ботів | Не підтримується: TgWitness здійснює спостереження як обліковий запис користувача |
| Списки багатьох акаунтів у форматі CSV/JSON | Імпортуйте підтримувані файли сесій через Облікові записи → Імпорт облікових записів або увійдіть за номером телефону / QR-кодом в окремих робочих просторах |
| Test-DC або сесії ботів | Використовуйте робочий обліковий запис користувача |
Кілька облікових записів#
Натисніть + поруч із перемикачем облікових записів або відкрийте Обліковий запис → Налаштування → Налаштування з’єднання → Робочі простори, введіть назву та увійдіть.
- Необмежена кількість робочих просторів, включаючи основний. Кожен має власну сесію, проксі- маршрут, джерела, політику збору даних, журнал, ключ підпису, контрольні точки та експортні файли.
- Перемикання між робочими просторами не призупиняє роботу інших.
- Журнал залишається прив’язаним до облікового запису, з якого його було створено. Для входу з іншого облікового запису потрібно створити інший робочий простір, а один обліковий запис не можна прив’язати до двох робочих просторів.
- Токен головної панелі керує всіма робочими просторами. Наданий доступ дозволяє обмежити доступ інших користувачів до вибраних акаунтів та чатів із окремими правами доступу та обмеженнями сеансів.
- Функція «Акаунти» перейменовує робочу область та видаляє додану робочу область разом із її сесією, журналом, джерелами та ключем підпису. Головну робочу область неможливо видалити з панелі.
Масовий імпорт і групи акаунтів#
Відкрийте Облікові записи → Імпорт облікових записів, щоб додати кілька акаунтів, об’єднати файли за назвою та побачити результат кожного входу. Кожен акаунт отримує окремий робочий простір. Групи можуть копіювати вибрані налаштування зі зразка без об’єднання сесій, ключів чи доказів. Див. посібник з імпорту та груп та панель пулу MTProxy.
Вийти#
Обліковий запис → Вийти з Telegram (з призупиненням спостереження) надсилає Telegram запит на завершення сеансу, тому він також зникає з розділу «Налаштування» → «Пристрої» облікового запису та видаляється з сховища робочого простору. Журнал, джерела, налаштування та ключ підпису залишаються, а журнал фіксує вихід із системи. Робоча область все ще належить цьому обліковому запису: лише цей обліковий запис може знову підключитися до неї. Якщо Telegram не відповідає, сесія все одно видаляється тут, і панель повідомляє про це; завершіть її в Telegram у розділі «Налаштування» → «Пристрої».
Перевести сесію Telethon в офлайн-режим#
Панель безпосередньо імпортує файли формату .session. Для автономного перетворення у файл
StringSession запустіть із папки проєкту:
.venv\Scripts\python.exe -m tgwitness.sessions account.session --out account.tgwitness-session # Windows
.venv/bin/python -m tgwitness.sessions account.session --out account.tgwitness-session # Linux/macOS
Конвертер читає лише файли Telethon у форматі SQLite (розміром до 64 МіБ), ніколи не змінює вхідні дані, не надсилає мережевих запитів і не перезаписує існуючі вихідні файли.
Забезпечення безпеки файлів облікових записів#
- Ставтеся до кожного
.session, TData ZIP, StringSession, Auth Key та JSON-файлу облікового запису як до пароля. TgWitness зберігає імпортовані дані авторизації у своєму зашифрованому сховищі; ви можете пізніше видалити оригінальні файли. - Не використовуйте одну й ту саму авторизацію одночасно у двох програмах. Telegram може її скасувати
(
AUTH_KEY_DUPLICATED), і обидві копії перестануть працювати. - Сесія, термін дії якої закінчився або яка була скасована, не може бути відновлена шляхом конвертації. Увійдіть знову.
Усунення несправностей#
| Повідомлення або ознака | Що робити |
|---|---|
| Неможливо прочитати цю сесію. Закрийте оригінальний клієнт… | Файл SQLite відкритий або незавершений (додатковий файл -journal/-wal). Належним чином закрийте вихідну програму та скопіюйте файл ще раз. |
| Підтримувані схеми Telethon SQLite: 7 та 8 / Pyrogram … 2 та 3 | Файл було створено за допомогою дуже старої або невідомої версії бібліотеки. Замість цього увійдіть за допомогою телефону/QR-коду. |
| Підтримуються лише авторизовані сесії користувачів у виробничому середовищі | Файл Pyrogram належить боту або тестовій мережі. |
| Архів TData перевищує 512 записів або 32 МіБ | У ZIP-файлі мають бути лише файли key_datas та D877F783D5D3EF8Cs, а не вся папка. |
| Неможливо розшифрувати TData. Перевірте локальний пароль на робочому столі | Введіть локальний пароль Telegram Desktop у полі «Пароль» або «Текст сеансу». |
| Імпортуйте по одному обліковому запису TData за раз | У Telegram Desktop було кілька облікових записів; див. розділ «Непідтримувані формати». |
| Вибрані файли містять опис різних облікових записів або облікових даних API | Вибирайте файли лише з одного облікового запису. |
| JSON не містить жодних облікових даних або авторизаційних даних для підтримуваних API | Перевірте назви полів у JSON-файлі облікового запису. |
| Лише метадані API | У JSON немає сесії. Додайте файл .session або скористайтеся номером телефону/QR-кодом. |
| HEX-код авторизаційного ключа повинен містити всі 512 шістнадцяткових символів | Ключ є урізаним або містить …. |
| Ідентифікатор облікового запису не збігається з імпортованим обліковим записом | Ідентифікатор користувача у файлі відрізняється від того, що вказує Telegram; файл належить іншому обліковому запису. |
| Цей обліковий запис уже належить іншому робочому простору | Відкрийте цю робочу область замість того, щоб додавати обліковий запис двічі. |
| Посилання є, але у списку чатів у розділі «Джерела» відсутня приватна група | Перевірте членство. Програма перевіряє перші 1 000 діалогів; збільште цей ліміт у розділі «Параметри». |
| Помилка підключення через проксі | Перевірте режим маршрутизації та режим IP. Автоматичний режим MTProxy пробує інший робочий запис. Режим приховування IP очікує; явно обраний резервний режим може встановити з’єднання безпосередньо після налаштованої затримки. Див. режими маршрутизації. |
Див. також: підключення та безпека проксі-серверів і шифрування, а також як відбувається збір даних після входу в систему.