Файл сессии Telegram: что такое .session, string session, .json и чем они отличаются от tdata
· 4 min
Файл сессии Telegram (.session) хранит ключ авторизации аккаунта. Разбираем форматы Telethon и Pyrogram, отличие от tdata и как безопасно перенести сессию.
Файл сессии Telegram (.session) — это сохранённое на диске подключение к аккаунту: в нём лежит ключ авторизации (auth key) и адрес дата-центра Telegram. Программа, у которой есть этот файл, работает от имени аккаунта без кода из SMS и без облачного пароля. Поэтому сессия — это способ перенести свои аккаунты из одного инструмента в другой, и одновременно вещь, которую нужно хранить как пароль.
Что внутри файла .session
При входе приложение согласует с серверами Telegram 2048-битный ключ авторизации. Telegram считает этот ключ «устройством, на котором выполнен вход». Пока ключ у приложения, оно подключается без повторного кода.
По документации Telethon, файл .session — это база SQLite, в которой хранится всё нужное для связи с серверами: IP сервера, порт и ключ авторизации. По умолчанию там же кэшируются пользователи и чаты, которые клиент уже видел. Pyrogram тоже хранит сессию в одном SQLite-файле и подчёркивает, что сессия «привязана к вашему аккаунту бессрочно».
Схемы таблиц у библиотек разные: файл Telethon и файл Pyrogram оба называются .session, но это не одно и то же.
Какие бывают форматы
| Формат | Что это | Где встречается |
|---|---|---|
.session Telethon | SQLite: DC, сервер, порт, auth key | Скрипты и софт на Python |
.session Pyrogram | SQLite с другой схемой | Софт на Pyrogram |
| String session | Тот же ключ одной строкой | Серверы без постоянного диска, конфиги |
.json к сессии | api_id, модель устройства, версия системы и приложения, язык | Выгрузки из мультиаккаунт-софта |
| tdata | Папка данных Telegram Desktop | Официальный десктопный клиент |
String session. В Telethon это прямо названо «способом экспортировать ключ авторизации», и там же предупреждение: строку слить проще, чем файл. Строка, вставленная в чат или тикет, — это полноценный вход в аккаунт.
Файл .json. Это не стандарт Telegram, а соглашение многих инструментов: рядом с account.session лежит account.json с параметрами, под которыми сессия создавалась (api_id, устройство, версия приложения). Если переносить пару вместе, аккаунт и дальше подключается с теми же данными устройства.
Чем сессия отличается от tdata
tdata — папка, которую Telegram Desktop хранит на компьютере. Это формат десктопного клиента, а не сессия Telethon или Pyrogram. Telegramte не импортирует tdata: панель принимает .session, .json, string session и .zip с ними. Если у вас только tdata, проще подключить номер заново по QR-коду или по коду из SMS.
Безопасность: сессия = полный доступ
Одна сессия — одна программа
Самая частая причина «слетевших» сессий. Если один и тот же ключ одновременно используется в двух программах или с двух IP, Telegram это видит. Согласно справочнику ошибок API, сервер возвращает AUTH_KEY_DUPLICATED, и сессия к этому моменту уже аннулирована: нужно заново входить в аккаунт.
Как переносить правильно:
- Остановите аккаунт в старом софте или закройте его полностью.
- Скопируйте
.session(и.json, если он есть). - Импортируйте в новый инструмент и запускайте только там.
- Не запускайте тот же файл в старом софте «на всякий случай».
Как отозвать сессию
Удалить утёкший файл недостаточно: ключ на стороне Telegram всё ещё действует. Откройте Telegram на телефоне, зайдите в Настройки → Устройства, выберите незнакомый сеанс и завершите его. Этот же путь для потерянных устройств указан в FAQ Telegram. Там же можно включить автоматическое завершение сеансов, которые не использовались выбранный период.
И включите облачный пароль: после завершения украденного сеанса он не даст просто войти снова по коду из SMS.
Как импортировать сессии в Telegramte
- Откройте Номера → Подключить номер и вкладку Файл сессии.
- Выберите файлы
.sessionи, если есть, одноимённые.json. Если аккаунтов много, загрузите один.zip. String session можно вставить текстом. - При желании укажите прокси. Если не указать, из вашего пула может автоматически назначиться рабочий и наименее загруженный прокси.
- Каждый файл проверяется отдельно. Рабочие аккаунты появляются в списке номеров, проблемные отображаются с причиной ошибки.
Ключи сессий хранятся в панели в зашифрованном виде (AES-256-GCM). После импорта уберите исходные файлы в надёжное место или удалите.
Частые вопросы
Сессия перестала работать — аккаунт в бане? Не обязательно. Сеанс могли завершить в «Устройствах», он мог быть аннулирован из-за AUTH_KEY_DUPLICATED или закрыться после долгого простоя. Зайдите в аккаунт с телефона и проверьте.
Есть ли в .session облачный пароль? Нет, но он и не нужен: ключа достаточно, чтобы обойти вход. Поэтому файл так же ценен, как пароль.
Нужно ли конвертировать Telethon в Pyrogram? Сторонние конвертеры существуют, но каждый из них получает ваш ключ. Лучше инструмент, который читает оба формата сам. Telegramte читает.
По теме: Как управлять несколькими аккаунтами Telegram в команде · Прокси для Telegram-аккаунтов · Двухэтапная аутентификация Telegram для команды