tdl (Telegram Downloader)
tdl — консольный инструмент и библиотека на Go для работы с Telegram через протокол MTProto: скачивание медиафайлов, экспорт сообщений в JSON, пересылка и загрузка файлов. Лицензия AGPL-3.0, проект активно развивается (версия 0.20.4, август 2026).
Сайт: docs.iyear.me/tdl GitHub: iyear/tdl
Особенности
- Скорость: многопоточная загрузка (потоки на файл и параллельные задачи).
- Экспорт сообщений канала или чата в JSON с фильтрами по времени, ID и полям сообщений.
- Скачивание по ссылкам на сообщения или по JSON-экспорту (своему или из Telegram Desktop).
- Возобновление прерванных загрузок.
- Несколько аккаунтов через пространства имён (
-n).
Каналы и чаты с включённой защитой контента («запрет копирования и пересылки») — это ограничение, установленное владельцем. Учитывайте его и правовые вопросы, прежде чем сохранять такие материалы.
Установка
Скрипт (Linux/macOS)
curl -sSL https://docs.iyear.me/tdl/install.sh | sudo bash
Пакетные менеджеры
# Homebrew
brew install telegram-downloader
# Windows (Scoop)
scoop bucket add extras
scoop install telegram-downloader
# Arch (AUR)
yay -S tdl
Для Windows есть также скрипт PowerShell: iwr -useb https://docs.iyear.me/tdl/install.ps1 | iex. Docker-образы — iyear/tdl и ghcr.io/iyear/tdl.
Команды сверены с документацией docs.iyear.me/tdl (версия 0.20.4, октябрь 2026).
Использование
Авторизация
Каждое пространство имён (-n, по умолчанию default) — отдельн ый аккаунт Telegram.
# импорт сессии из установленного Telegram Desktop (с официального сайта)
tdl login
tdl login -p ЛОКАЛЬНЫЙ_КОД_ПАРОЛЬ # если в Desktop задан код-пароль
tdl login -d /path/to/TelegramDesktop # нестандартный путь к клиенту
# вход по QR-коду
tdl login -T qr
# вход по номеру телефона и коду
tdl login -T code
# второй аккаунт
tdl login -n work -T qr
Скачивание по ссылкам
# одно или несколько сообщений
tdl dl -u https://t.me/telegram/193 -u https://t.me/telegram/194
# в свой каталог, 8 потоков на файл, 4 файла одновременно
tdl dl -u https://t.me/telegram/193 -d /path/to/dir -t 8 -l 4