Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
informer — Бот для массовой слежки в Telegram на Python | Kitploit
Инструменты/GitHubGitHub/paulpierre/informer
OSINT (Разведка открытых источников)Инструменты для выдачи себя за другое лицоЭксфильтрация данныхСбор информацииСоциальная инженерияКраулер
GitHubpaulpierre/informer

informer

Бот для массовой слежки в Telegram на Python

Репозиторий
1.7k24310 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт

изображение

Informer - Массовая слежка в Telegram

Обновление 10-20-2025

  • Безопасность: Исправлена критическая уязвимость CVE-2022-1941 в mysql-connector-python
  • Безопасность: Миграция с устаревшего oauth2client на google-auth
  • Обновлены все зависимости до последних безопасных версий
  • Исправлены ошибки в скрипте quick_start.sh (создание venv и параметр account_id)
  • Исправлены проблемы подключения Docker MySQL для кроссплатформенной совместимости
  • Улучшена документация по настройке Google Sheets

Обновление 08-23-2021

  • Обновлено до последней версии Telethon 1.23.0
  • Исправлены проблемы с БД путем миграции на docker-compose
  • Настройка Google Spreadsheets сделана опциональной
  • Безопасные ENV файлы для настройки
  • Упрощена настройка
  • Заменен docker-compose вместо App Engine, потому что AE отстой

О программе

Informer (TGInformer) — это библиотека ботов, которая позволяет маскироваться под несколько РЕАЛЬНЫХ пользователей Telegram и шпионить за 500+ каналами Telegram на один аккаунт. Детали записываются в базу данных MySQL, частную Google Таблицу и ваш собственный приватный канал для анализа.

Это работающий прототип проекта с известными ошибками. Не стесняйтесь форкать, делиться и писать мне.

изображение

Потенциальные бизнес-применения

  • Управление фейковыми аккаунтами для свержения деспотического режима
  • Мониторинг бренда и анализ тональности
  • Реклама криптовалюты в любой момент для получения финансовой выгоды
  • Влияние на настроения по актуальным темам
  • Получение раннего доступа к ценовым движениям
  • Проведение анализа Telegram-канала

Возможности

  • Запускайте всех ваших ботов в облаке, пока вы спите. Поддержка Docker Compose

изображение

  • Запись всех уведомлений в частную Google Таблицу

изображение

  • Поддержка регулярных выражений для фильтрации ключевых слов

  • SQLAlchemy для агностического хранения данных

изображение

  • Запись контекстных данных сообщений и каналов в приватный канал и базу данных

  • Хранение метаинформации об отправителе сообщения, канале, количестве участников канала

изображение

  • Автоматическое вступление в каналы из CSV-списка, содержащего URL-адреса Telegram-каналов

изображение

  • Сохранение сессии вступления в каналы

  • Вход один раз — бот остается в системе навсегда без повторной 2FA-аутентификации

  • Вступление до 500 каналов на аккаунт

изображение

  • Использует РЕАЛЬНЫЕ аккаунты, избегая обнаружения ботов. ЭТО НЕ TELEGRAM БОТ, а реальный автоматизированный пользовательский аккаунт. Это важное различие, потому что официальный Bot API ограничен, а ботов часто ограничивают в публичных каналах.

Требования

ОС / Инфраструктура

  • Python 3+
  • Docker (опционально)
  • Telegram (десктопная, веб- или мобильная версия: https://www.telegram.org/)
  • Burner app

Python пакеты

  • SQLAlchemy (1.4.54)
  • sqlalchemy-migrate (0.13.0)
  • Telethon (1.36.0)
  • mysql-connector-python (8.4.0)
  • gspread (6.1.4)
  • google-auth (2.37.0) - заменяет устаревший oauth2client
  • python-dotenv (1.0.1)

Быстрый старт

Настройка переменных окружения

Отредактируйте файл informer.env, который содержит все необходимые переменные окружения для Informer.

Вы можете получить необходимую информацию, связанную с Telegram, здесь:

Настройка вашего Telegram приложения

  1. Перейдите на https://my.telegram.org/auth, чтобы аутентифицировать вашу учетную запись, предоставив номер телефона и код подтверждения, отправленный на ваш номер телефона (или в Telegram) изображение

изображение

  1. После аутентификации нажмите на «API Development Tools» изображение

  2. Создайте новое приложение, заполнив форму, показанную ниже изображение

  3. Теперь у вас должны быть необходимые значения параметров для полей файла informer.env: TELEGRAM_API_HASH и TELEGRAM_API_APP_ID

изображение

  1. Замените значения, включая TELEGRAM_ACCOUNT_PHONE_NUMBER, и переходите к следующему разделу

изображение

Получение вашего Telegram ID

Пока у нас есть все необходимое для доступа Telethon и Informer к Telegram APIs, далее нам нужно получить идентификаторы для аккаунта вашего бота.

  1. Откройте Telegram и найдите пользователя userinfobot.

изображение

  1. Вы увидите несколько, убедитесь, что выбрали правильно написанный аккаунт.

изображение

  1. Нажмите на пользователя, и вы должны увидеть опцию диалога внизу с надписью «Start». Нажмите на нее.

изображение

  1. У бота единственная цель — отразить обратно информацию о вашей текущей учетной записи Telegram.

Вы должны получить имя пользователя Telegram и ID учетной записи Telegram. Это важно

изображение

  1. Отредактируйте файл informer.env и заполните значения для TELEGRAM_ACCOUNT_ID (это должен быть ID вашей учетной записи Telegram из предыдущего шага) и TELEGRAM_ACCOUNT_USER_NAME.

Вы можете опционально заполнить TELEGRAM_NOTIFICATIONS_CHANNEL_ID вашим именем пользователя или ID канала.

  1. Убедитесь, что поле TELEGRAM_ACCOUNT_PHONE_NUMBER заполнено, так как это ключ к генерации сессии. Для создания нескольких аккаунтов обратитесь к разделу Burner App ниже.

Инициализация и аутентификация сессии

Убедитесь, что у вас запущен Python 3, и просто выполните ./quick_start.sh в директории.

Это необходимо выполнить сначала, чтобы аутентифицироваться в Telegram при первом запуске и сгенерировать локальный файл сессии.

Позже вы можете скопировать файлы для разных учетных записей в app/session и смонтировать их через Docker, если решите это сделать.

изображение

Вам будет предложено ввести код аутентификации, который вы получили либо через Telegram (если вы ранее входили в систему), либо через SMS.

изображение

Нажмите Enter, и ваша сессия будет создана в папке app/session с именем файла, соответствующим международному номеру телефона, который вы указали, с расширением .session.

Перейдите к следующему разделу, где мы используем Docker Compose для настройки базы данных.

Настройка канала уведомлений

Этот шаг необязателен, но если вы хотите создать приватный групповой канал и получить ID группы, сделайте следующее:

  • Создайте группу (или канал) и установите его как приватный или публичный
  • Убедитесь, что вы получили URL Telegram изображение

Установите URL в файле informer.env в параметре TELEGRAM_NOTIFICATIONS_CHANNEL_URL

Чтобы получить ID канала, просто выполните python3 bot.py <TELEGRAM_ACCOUNT_ID> в директории app, где <TELEGRAM_ACCOUNT_ID> — это ID учетной записи, который вы ранее сгенерировали.

Когда скрипт загрузится, он отобразит все каналы, в которых вы находитесь. Просто скопируйте это значение и поместите его в параметр TELEGRAM_NOTIFICATIONS_CHANNEL_ID файла informer.env, затем завершите скрипт. Теперь вы готовы запустить Informer.

Запуск Docker Compose

После выполнения quick_start.sh вы можете запустить docker compose:

  • выполнив ./start.sh, чтобы собрать Docker-контейнеры, включая базу данных MySQL

изображение

  • Выполните ./stop.sh, чтобы остановить контейнеры

  • Выполните ./clean.sh, чтобы удалить висящие контейнеры и тома. ** ВНИМАНИЕ ** это СБРОСИТ базу данных, и вы потеряете все свои данные.

Несколько моментов, на которые стоит обратить внимание:

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

Кроме того, предоставляется Dozzle, чтобы вы могли просматривать логи в браузере: просто перейдите на http://localhost:9999 и нажмите на контейнер app_informer.

Создание Telegram-аккаунта с помощью Burner App

Если вы не хотите использовать свой номер телефона и хотите запустить бота Informer с некоторой степенью анонимности, вы можете использовать приложение Burner, доступное на iOS и Android.

  1. Установите приложение Burner

    • Android - https://play.google.com/store/apps/details?id=org.thunderdog.challegram&hl=en_US
    • iOS - https://apps.apple.com/us/app/telegram-x/id898228810

изображение

  1. Следуйте тем же шагам, что и выше, указав новый номер телефона здесь: https://my.telegram.org/auth

  2. Подтвердите через Burner. Вам будет отправлен код аутентификации по SMS, который необходимо будет предоставить

изображение

  1. Войдите в Telegram

  2. Попробуйте войти в приложение, выполнив python3 bot.py <api_user_id> в директории app.

  3. Поскольку вы входите с помощью Telethon, он запросит ваш код аутентификации в терминале, как и ранее.

Он был отправлен через сообщение Telegram или SMS.

Предоставьте его, и он сохранит учетные данные сессии в файле сессии, упомянутом ниже. Вам больше не нужно будет аутентифицироваться, если у вас сохранен файл сессии.

Сессии сохраняются в папке app/session/ как <telegram_phone_number>.session

Повторяйте, пока не получите все необходимые файлы сессий, и просто смонтируйте их в Docker.

Масштабирование аккаунтов Telegram

Разобраться, как масштабировать аккаунты, было немного кошмаром, так как мне нужен был автоматизированный процесс. Telegram требует использования реального номера телефона, который может получать сообщения с короткого номера.

К сожалению, услуги с API, такие как Twilio, запрещены для получения SMS с коротких номеров в США, Канаде и Великобритании https://support.twilio.com/hc/en-us/articles/223181668-Can-Twilio-numbers-receive-SMS-from-a-short-code- из-за мошенничества. Это было бы идеально, bahumbug.

Целый вечер был потрачен на эту попытку, пока я не вспомнил отличное приложение, которое использовал раньше: Burner (https://www.burnerapp.com/) — которое, кстати, имеет API (https://developer.burnerapp.com/api-documentation/incoming-webhooks/). Это означает, что вы можете динамически генерировать номера, создавать новый аккаунт и аутентифицировать его через клиентский SDK Telegram на Python (Telethon: https://docs.telethon.dev/en/latest/)

Лучшая часть в том, что номера Burner бесплатны в течение 14 дней. Аккаунты Telegram, подключенные через клиентский API, нуждаются только в однократном входе и постоянно сохраняют сессии. Я не интегрировался с API Burner, но процесс прост.

Telethon SDK

Бот построен на основе Telethon Python SDK (https://docs.telethon.dev/en/latest/)

Несколько моментов, на которые стоит обратить внимание, и подводные камни, обнаруженные при создании этого прототипа:

  1. Ограничение частоты

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

FloodWaitErrors могут возникать, когда вы отправляете слишком много запросов к API, будь то запрос информации о пользователях или вступление в слишком много каналов слишком быстро.

  1. Сессии Telethon

Telethon создаст файл сессии. Вы можете задать имя файла сессии при создании экземпляра клиента Telethon: TelegramClient(<session_file_name>, <api_user_id>, <api_user_hash>)

Этот файл на самом деле является базой данных sqlite, к которой вы можете подключиться. Он действует как кэш и хранит исторические данные, а также информацию аутентификации сессии, так что вам не придется повторно проходить 2FA Telegram. Обратите внимание, что при первом использовании API вам нужно будет войти в систему и пройти аутентификацию.

Управление несколькими аккаунтами ботов

По мере работы бота и вступления в каналы вы будете видеть обновление клиента в реальном времени и отображение новых каналов, к которым вы присоединились.

изображение

СОВЕТ: TelegramX — на сегодняшний день лучший клиент для этих целей, так как он поддерживает множественный вход. Скачать здесь:

  • Android - https://play.google.com/store/apps/details?id=org.thunderdog.challegram&hl=en_US
  • iOS - https://apps.apple.com/us/app/telegram-x/id898228810

Интеграция с Google Sheets

Примечание: интеграция с Google Sheets полностью ОПЦИОНАЛЬНА. Приложение отлично работает и без нее, используя только базу данных MySQL.

Если вы хотите включить ведение журнала в Google Sheets:

  1. Следуйте подробному руководству по настройке в app/credentials/README.md
  2. Руководство содержит обновленные инструкции по получению учетных данных сервисного аккаунта Google Cloud (JSON-файл ключа)
  3. Google по-прежнему предоставляет JSON-файлы учетных данных — процесс лишь немного изменился с 2020 года.

Краткий обзор:

  • Создайте проект Google Cloud
  • Включите Google Sheets API и Google Drive API
  • Создайте сервисный аккаунт и скачайте JSON-ключ
  • Поместите JSON-файл в app/credentials/google_credentials.json
  • Предоставьте доступ к вашей Google Таблице для email сервисного аккаунта

Это опционально, и бот будет работать и без этого.

Известные ошибки

  • В настоящее время канал должен быть уже присоединен, чтобы начать мониторинг ключевых слов. Скорее всего, вам потребуется запустить bot.py дважды: один раз для вступления в каналы и второй раз для их мониторинга. Я знаю об этой вопиющей ошибке и исправлю ее в следующей версии.

Планы

  • Создать панель управления для управления ботом
    • Создание новых аккаунтов
    • Добавление/удаление каналов
    • Добавление/удаление ключевых слов для мониторинга
    • Просмотр уведомлений
    • Получение веб-push уведомлений
  • Автоматически опрашивать базу данных для обновления ключевых слов для мониторинга в памяти
  • Автоматизировать создание номеров телефонов через Burner API и процесс аутентификации

Связь

Проект показался вам интересным? Пожалуйста, поставьте звезду, если это так.

Он был создан за два дня как прототип для друга из сферы криптовалют. Если вы найдете какие-либо интересные или прибыльные применения, я всегда рад сотрудничеству. Вы можете связаться со мной:

@paulpierre в Twitter или hi (at) paulpierre (dot) com

Большинство моих интересных проектов приватны на github, но не стесняйтесь посмотреть: http://www.github.com/paulpierre или предыдущие работы на http://www.paulpierre.com

Лицензия с открытым исходным кодом


Copyright (c) 2020 Paul Pierre Настоящим предоставляется разрешение, бесплатно, любому лицу, получившему копию этого программного обеспечения и связанных с ним файлов документации (далее — «Программа»), на использование Программы без ограничений, включая, без ограничения, права на использование, копирование, модификацию, слияние, публикацию, распространение, сублицензирование и/или продажу копий Программы, а также на разрешение лицам, которым предоставляется Программа, делать это, при соблюдении следующих условий: Указанное выше уведомление об авторских правах и это уведомление о разрешении должны быть включены во все копии или значительные части Программы. ПРОГРАММА ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ И ОТСУТСТВИЯ НАРУШЕНИЙ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА КАКИЕ-ЛИБО ПРЕТЕНЗИИ, УБЫТКИ ИЛИ ИНУЮ ОТВЕТСТВЕННОСТЬ, БУДЬ ТО В СИЛУ ДОГОВОРА, ДЕЛИКТА ИЛИ ИНЫМ ОБРАЗОМ, ВОЗНИКШУЮ ИЗ ИЛИ В СВЯЗИ С ПРОГРАММОЙ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ИНЫМИ ДЕЙСТВИЯМИ С ПРОГРАММОЙ.

Скачать инструмент