mirror of
https://github.com/Ground-Zerro/DomainMapper.git
synced 2025-12-10 01:47:18 +07:00
139 lines
5.7 KiB
Markdown
139 lines
5.7 KiB
Markdown
# Вспомогательные утилиты:
|
||
- [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
|
||
|
||
Утилита для разбиения текстового файла на части фиксированного размера.
|
||
|
||
### Функции
|
||
|
||
В исходном файле остаются только первые 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)
|
||
```
|