Telegram Social Media Intelligence (SOCMINT / OSINT) framework for analyzing exported Telegram chats and channels.
Telanalysis is a FastAPI-based analytical platform designed for processing Telegram export archives, extracting metadata, generating communication graphs, identifying entities, analyzing sentiment and building visual intelligence artifacts for OSINT/SOCMINT workflows.
The project is focused on:
- Telegram channel analysis
- Telegram group/chat analysis
- Social graph generation
- Keyword extraction
- Word frequency analysis
- Entity extraction (emails / phone numbers)
- Sentiment analysis
- Interaction mapping between users
- Visual SOCMINT analytics
- Анализ экспортированных Telegram-каналов
- Построение WordCloud
- Выделение наиболее частотных слов
- NLP-обработка сообщений
- Очистка текста от emoji и системного мусора
- Поддержка русского и английского языка
- Анализ Telegram-групп и чатов
- Сентимент-анализ сообщений
- Извлечение email-адресов
- Извлечение телефонных номеров
- Выявление пользовательской активности
- Анализ reply-цепочек
- Обработка forwarded-сообщений
- Обнаружение системных действий:
- join events
- invite events
- remove events
- pin events
- Генерация social graph
- Построение связей между пользователями
- Export nodes/edges в CSV
- JSON-граф для D3.js визуализации
- Анализ reply-взаимодействий
- Визуализация network topology
Telanalysis работает с JSON-экспортами Telegram.
Экспорт можно получить через:
- Telegram Desktop
- Export chat history
- Export group/channel data
Поддерживаются:
- channels
- supergroups
- private groups
- exported chat history
FastAPI
├── Routers
├── NLP Engine
├── Sentiment Analyzer
├── Graph Generator
├── Static Graph Storage
└── Jinja2 Frontend
Используемые технологии:
- Python 3
- FastAPI
- Jinja2
- NetworkX
- NLTK
- VaderSentiment
- WordCloud
- Matplotlib
- JMESPath
В Telegram Desktop:
Settings → Advanced → Export Telegram Data
Экспортируйте:
- JSON format
- messages
- media metadata
- user information
После запуска платформы:
http://127.0.0.1:8000
Загрузите exported JSON.
Система автоматически:
- обработает сообщения
- построит NLP-статистику
- извлечет сущности
- построит communication graph
- сгенерирует wordcloud
- покажет активность участников
- Анализ Telegram-комьюнити
- Выявление координации
- Mapping influence-узлов
- Detection suspicious interaction patterns
- Анализ групповых коммуникаций
- Correlation пользователей
- Mapping reply chains
- Поиск контактных данных
- Анализ тематик каналов
- Detection narrative shifts
- Tracking keyword frequency
- Sentiment drift analysis
- Mapping core participants
- Detection high-centrality users
- Reply topology analysis
- Communication density analysis
.
├── app/
│ ├── routers/
│ ├── services/
│ ├── static/
│ └── templates/
├── graphs/
├── uploads/
├── config.json
├── requirements.txt
├── Dockerfile
└── docker-compose.yml
Установка зависимостей:
sudo apt update
sudo apt install -y python3 python3-pip python3-venv gitКлонирование проекта:
git clone <repo_url>
cd telanalysisСоздание virtualenv:
python3 -m venv venv
source venv/bin/activateУстановка Python-зависимостей:
pip install --upgrade pip
pip install -r requirements.txtЗагрузка NLTK-данных:
pythonВ Python shell:
import nltk
nltk.download('stopwords')
exit()Запуск:
uvicorn app.main:app --host 0.0.0.0 --port 8000Интерфейс:
http://127.0.0.1:8000
Установка Python:
brew install pythonКлонирование проекта:
git clone <repo_url>
cd telanalysisСоздание virtualenv:
python3 -m venv venv
source venv/bin/activateУстановка зависимостей:
pip install --upgrade pip
pip install -r requirements.txtУстановка NLTK stopwords:
python3import nltk
nltk.download('stopwords')
exit()Запуск:
uvicorn app.main:app --reloadОткрыть:
http://127.0.0.1:8000
Установите:
- Python 3.11+
- Git
Python:
Git:
Во время установки Python:
Enable → Add Python to PATH
Клонирование проекта:
git clone <repo_url>
cd telanalysisСоздание virtualenv:
python -m venv venvАктивация virtualenv:
PowerShell:
venv\Scripts\Activate.ps1CMD:
venv\Scripts\activate.batУстановка зависимостей:
pip install --upgrade pip
pip install -r requirements.txtЗагрузка NLTK stopwords:
pythonimport nltk
nltk.download('stopwords')
exit()Запуск:
uvicorn app.main:app --host 0.0.0.0 --port 8000Открыть в браузере:
http://127.0.0.1:8000
docker build -t telanalysis .docker run -p 8000:8000 telanalysisdocker compose up -d --buildПосле обработки создаются:
graphs/<file>_wordcloud.png
graphs/<file>.json
graphs/nodes_<file>.csv
graphs/edges_<file>.csv
Файл:
config.json
Пример:
{
"select_type_stem": "Off",
"most_com": 30,
"most_com_channel": 100
}Параметры:
- select_type_stem — stemming NLP
- most_com — количество top words для чатов
- most_com_channel — количество top words для каналов
GET /POST /analyze/channelPOST /analyze/chatРекомендуется:
- не публиковать uploads/
- использовать reverse proxy
- ограничить CORS в production
- запускать behind VPN/reverse proxy
- использовать isolated Docker runtime
- очищать uploads и graphs
Планируемые функции:
- Neo4j integration
- Gephi export
- Multi-chat correlation
- Temporal graph analysis
- Entity clustering
- Username tracking
- URL extraction
- Telegram API integration
- ML-based anomaly detection
- Centrality metrics
- Community detection
Educational / Research Use.
#osintsan:icragency.ru