Резервное копирование включает в себя файлы на диске. Но возникает вопрос: как сохранить информацию с облачных сервисов? Например, архивы всех переписок из мессенджеров Telegram, Whatsapp, Viber и др. Ведь эта переписка может быть потеряна в любой момент. Например, собеседник принимает решение удалить переписку или мессенджер блокирует доступ к аккаунту. Для безопасности лучше заблаговременно скачать всю информацию и сохранить локально.

Эта проблема также возникает при переносе данных из старого ненужного мессенджера. Скажем, пользователь принимает решение навсегда уйти из Skype — и хочет сохранить все переписки за все годы. Или меняет аккаунт — и сохраняет переписку со старого аккаунта.

Может возникнуть ситуация, когда близкий человек ушёл из жизни, а мы хотим сохранить для родственников историю его переписок. Для таких случаев разработчики Telegram тестируют функцию «Наследство», но она пока не готова.

Поэтому для резервного копирования информации в данный момент используются специализированные решения, в том числе неофициальные клиенты.


Опенсорсные инструменты

Для бэкапа Telegram есть несколько инструментов. Во-первых, можно самостоятельно написать простого бота или воспользоваться готовым, как Telegram Downloader или Save Any Bot на гитхабе.

Загрузчик Save Any Bot сохраняет на диске информацию из каналов, групп и чатов, включая изображения, аудио, видео, кружки, документы, стикеры. Поддерживает параллельное скачивание для максимальной утилизации канала, сортирует загрузки в личное хранилище. Можно подключить несколько Telegram-аккаунтов, без нарушения условий использования Telegram. Бот устанавливается одной командой и работает локально.

Скачанные файлы можно сохранять на диск, в облачное хранилище (S3) или обратно в Telegram (в другой канал).

Для работы нужно отредактировать конфигурационный файл такого вида:

lang = "en" # Language setting, "en" for English
[telegram]
token = "" # Your bot token, obtained from @BotFather
[telegram.proxy]
# Enable proxy for Telegram
enable = false
url = "socks5://127.0.0.1:7890"

[[storages]]
name = "Local Disk"
type = "local"
enable = true
base_path = "./downloads"

[[users]]
id = 114514 # Your Telegram account id
storages = []
blacklist = true

Поддерживается запуск в докер-контейнере:

docker run -d --name saveany-bot \
    -v ./config.toml:/app/config.toml \
    -v ./downloads:/app/downloads \
    ghcr.io/krau/saveany-bot:latest

Подробнее см. в документации.

Во-вторых, есть другие опенсорсные инструменты для Telegram, которые можно использовать для резервного копирования и других целей:

  • TG-FileStreamBot — бот, который начинает стриминг медиаконтента в телеграме, не дожидаясь полного скачивания файлов

  • td, gotd/td — опенсорсный клиент для Telegram, написанный на Go (MTProto API)

  • GoTGProto — вспомогательная обёртка для клиента gotd/td, её проще установить и использовать для отправки сообщений и скачивания контента

  • tdl — набор инструментов на Go для работы с Telegram, основной из них — Telegram Downloader для скачивания контента

Telegram Downloader
Telegram Downloader
  • OpenTgResearcher — инструмент анализа Telegram-чатов и скачивания содержимого. Файлы, сообщения, статистика чатов скачиваются в отдельное хранилище. Программу можно использовать как инструмент OSINT-исследований и парсер чатов, просматривать расширенную статистику участников чата и т. д.

OpenTgResearcher, десктопный интерфейс
OpenTgResearcher, десктопный интерфейс
OpenTgResearcher, консольный клиент
OpenTgResearcher, консольный клиент

Другие неофициальные клиенты

Есть сторонние универсальные клиенты, которые работают с разными мессенджерами и протоколами, в том числе Pidgin, Miranda NG, Trillian, Franz и другие. Многие из них поддерживают Telegram через плагины.

Franz
Franz

Есть неофициальные клиенты и для других мессенджеров. Например, TM SGNL от TeleMessage, неофициальный клиент для Signal.

В принципе, свой клиент для Telegram может написать любой разработчик, это не очень сложная задача, некоторые даже документируют процесс.


Примечание. Под видом неофициальных клиентов Telegram часто распространяются вредоносные программы, так что безопасно использовать эти клиенты можно только после проверки исходного кода.