# Вспомогательные утилиты: - [subdomain - поиск субдоменов](#subdomain) - [verified - проверка активности доменов](#verified) - [convert - конвертер маршрутов](#convert) - [split - разбить список на файлы по 1000 строк](#split) ## subdomain Скрипт представляет собой парсер, который собирает субдомены (A-записи) указанного пользователем домена используя веб-сайт [rapiddns.io](https://rapiddns.io/subdomain/). Результаты сохраняются в файл. ### Функции - Загружает страницу по указанному URL и извлекает субдомены из таблиц, где тип записи равен "A". - Пытается повторить запрос до 3х раз в случае ошибки или отсутствия данных. - Останавливается, если данные на последних трех страницах одинаковы или если три страницы подряд пустые. ### Использование 1. Установите [зависимости](https://github.com/Ground-Zerro/DomainMapper/blob/main/requirements.txt): ```bash pip install -r requirements.txt ``` 2. Запустите скрипт: ```bash python subdomain.py ``` 3. Введите URL домена, поддомены которого вы хотите спарсить, например: ``` example.com ``` 4. Скрипт начнет парсинг страниц и сохранит найденные субдомены в файл `result.txt`. ## verified Скрипт предназначен для проверки доменов на их делегированность. ### Функции - Проверяет домены используя DNS-серверы: Google Public DNS, Cloudflare DNS и Yandex. Пул потоков ограничен 40 рабочими потоками. - Возвращает статус домена: делегирован, припаркован/неактивен или ошибку. - Если статус домена не был подтвержден как делегированный проводит его контрольную проверку. ### Использование 1. Установите [зависимости](https://github.com/Ground-Zerro/DomainMapper/blob/main/requirements.txt): ```bash pip install -r requirements.txt ``` 2. Поместите файл `result.txt` в корневую директорию проекта. Файл должен содержать список доменов, каждый на новой строке. 3. Запустите скрипт: ```bash python verified.py ``` 4. Скрипт проверит домены и сохранит результат в файл `verified_domains.txt`. ## convert Скрипт для обработки IP-адресов, их агрегации в подсети и форматирования маршрутов для различных типов сетевых устройств. ### Функции - Загрузка списка IP-адресов из файла. - Агрегация IP-адресов в подсети с масками `/16`, `/24`, или объединение нескольких подсетей. - Исключение IP-адресов Cloudflare из итогового списка (при необходимости). - Поддержка различных форматов маршрутизации: - Windows (`route add`) - Unix (`ip route`) - Keenetic (`ip route` с интерфейсом) - Mikrotik (`/ip firewall`) - WireGuard - OpenVPN - CIDR (с указанием маски) ### Использование 1. Установите [зависимости](https://github.com/Ground-Zerro/DomainMapper/blob/main/requirements.txt): ```bash pip install -r requirements.txt ``` 2. Поместите файл c IP-адресами `ip.txt` в корневую директорию проекта. Файл может содержать любой текст и IP-адреса в любом виде - лишнее будет убрано автоматически. 3. Запустите скрипт: ```bash python convert.py ``` 4. Следуйте подсказкам на экране. ## split Скрипт для обработки IP-адресов, их агрегации в подсети и форматирования маршрутов для различных типов сетевых устройств. ### Функции Утилита для разбиения текстового файла на части фиксированного размера. - В исходном файле остаются только первые 1000 строк (значение по умолчанию). - Остальные строки сохраняются в новые файлы: - domain-ip-resolve2.txt - domain-ip-resolve3.txt - и т.д., по 1000 строк в каждом. Если строк меньше или равно 1000 — разбиение не выполняется. ### Использование 1. Установите [зависимости](https://github.com/Ground-Zerro/DomainMapper/blob/main/requirements.txt): ```bash pip install -r requirements.txt ``` 2. Поместите файл c IP-адресами `domain-ip-resolve.txt` в корневую директорию проекта. 3. Запустите скрипт: ```bash python split.py ``` ### Можно указать свой файл и размер блока строк: ```bash split_file_exact("mydata.txt", max_lines=500) ```