Telegram-бот для базовой OSINT-разведки по домену: DNS, RDAP, WHOIS.
- DNS-записи домена
- Регистрационные данные через RDAP
- Классический WHOIS-запрос
- Обработка сетевых ошибок (таймауты, SSL) и валидация вводимых данных
- Python 3.11+
- aiogram 3: Telegram Bot API
- httpx: HTTP-запросы (RDAP)
- dnspython: DNS-запросы
- python-whois: WHOIS
- pydantic-settings: конфигурация из
.env
| Команда | Описание |
|---|---|
/start |
Приветствие и список команд |
/dns <домен> |
DNS-записи домена |
/rdap <домен> |
Регистрационные данные (RDAP) |
/whois <домен> |
WHOIS-информация |
/contact |
Связь с разработчиком |
Пример: /dns example.com
nethaunt/
├── main.py # Точка входа
├── config.py # Настройки (pydantic-settings)
├── handlers/
│ ├── common.py # /start, /contact
│ └── recon.py # /dns, /rdap, /whois
├── services/
│ ├── dns_lookup.py
│ ├── rdap_lookup.py
│ └── whois_lookup.py
├── requirements.txt
├── .env.example
└── .gitignore
Переменные окружения задаются в файле .env (шаблон: .env.example).
| Переменная | Описание |
|---|---|
BOT_TOKEN |
Токен бота от @BotFather |
ADMIN_ID |
Telegram ID администратора (число) |
git clone https://github.com/<username>/nethaunt.git
cd nethaunt
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
# заполнить BOT_TOKEN и ADMIN_ID в .env
python main.py- Разместить проект на сервере (например,
/opt/nethaunt), создать venv, установить зависимости, создать.env. - Создать unit
/etc/systemd/system/nethaunt.service:
[Unit]
Description=NetHaunt Telegram bot
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=nethaunt
WorkingDirectory=/opt/nethaunt
ExecStart=/opt/nethaunt/venv/bin/python main.py
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target- Запустить сервис:
sudo systemctl daemon-reload
sudo systemctl enable --now nethaunt
sudo journalctl -u nethaunt -fБот использует только публичные источники (DNS, RDAP, WHOIS). Используйте его в рамках закона и правил соответствующих сервисов.