DomainMapper
A tool for scanning and resolving DNS names into IP addresses
Install / Use
/learn @Ground-Zerro/DomainMapperREADME
Domain Mapper
<details> <summary>Что нового (нажать, чтобы открыть)</summary>- Реворк работы с DNS серверами. Прогрессбар. Разделение файла на части для некоторых форматов. Обновлена утилита Сonvert.
- Keenetic BAT формат сохранения. Небольшие изменения в интерфейсе. Некоторые доработки/улучшения.
- Доабвлены некоторые оналйн кинотеатры. Запрос @Andrey_schumacher
- Добавлены списки от ITDog.
- Добавлен сервис xBox. Запрос @Deni5c
- Запуск в докере. Запрос Запрос @andrejs82git, Реализация @MrEagle123
- Опция в config.ini: не добавлять comment="%SERVICE_NAME%" при сохранении IP-адресов в mikrotik формате. Запрос @ITNetSystem
- Изменена кодиовка файла результатов на UTF-8 без BOM. Запрос @Savanture
- Конвертер маршутов как отдельная утилита. Запрос @Andrey999r
- Добавлен сервис Jetbrains. Запрос @SocketSomeone
- Добавлен сервис Discord. Запрос @AHuMex
- Комбинированный режим объединения IP-адресов в подсеть.
- Возможность загрузки списков сервисов и DNS-серверов из локального файла. Запрос @Noksa
- Вспомагательные утилиты для поиска субдоменов.
- Добавлен сервис Twitch. Запрос @shevernitskiy
- Добавлен Yandex DNS сервер. Запрос @Noksa
- Опция в config.ini: Отключить отображение сведений о загруженой конфигурации.
- Передача имени конфигурационного файла ключом в терминале/командной строке. Запрос @Noksa
- Добавлен сервис Github Copilot. Запрос @aspirisen
- Keenetic CLI формат сохранения. Запрос @vchikalkin
- Wireguard формат сохранения. Запрос @sanikroot
- Агрегация маршрутов до /24, /16. Запрос @sergeeximius
- OVPN формат сохранения. Запрос @SonyLo
- Mikrotik формат сохранения. Запрос @Shaman2010
Описание: Инструмент на языке Python, предназначенный для разрешения DNS имен популярных веб-сервисов в IP-адреса.
<details> <summary>Поддерживаемые сервисы (нажать, чтобы открыть)</summary>- Antifilter - community edition
- ITDog Inside
- ITDog Outside
- Youtube
- Openai
- Tik-Tok
- Netflix
- Bing
- Adobe
- Apple
- Torrent Trackers
- Search engines
- Github сopilot
- Twitch
- Discord
- Jetbrains
- Xbox
- Telegram
- Личный список
Функции:
- Преобразование доменных имен популярных сервисов в IP-адреса.
- Агрегация маршрутов в /16 (255.255.0.0) и /24 (255.255.255.0) подсети. Комбинированный режим /24 + /32.
- Фильтрация IP-адресов Cloudflare (опционально).
- Множество форматов сохранения результата.
- Разделение больших файлов на части для некоторых форматов.
Ключевые особенности
- Возможность выбора системного, публичного DNS-сервера или их комбинации.
- При разрешении доменного имени используется каждый из указанных DNS-серверов, при этом процесс продолжается до получения всех возможных IP-адресов, а не останавливается на первом успешном ответе.
- Автоматическое исключение дубликатов IP-адресов, а также "заглушек" (например, IP самих DNS-серверов, редиректов на
0.0.0.0иlocalhost). - Поддержка работы в "тихом" режиме без взаимодействия с пользователем - настройка через конфигурационный файл.
- В конфигурационном файле можно указать команду для автоматического запуска другого скрипта или программы по завершении работы.
Использование:
-
Установите зависимости:
pip install -r requirements.txt -
Отредактируйте
config.iniпод свои задачи (опционально) -
Запустите скрипт:
python main.py
В этом режиме списки DNS-серверов и сервисов загружаются из локальных файлов в папке со скриптом, а не из сети.
Для включения загрузки списка сервисов из локального файла platformdb, укажите localplatform = yes в config.ini.
- Формат файла
platformdb: название сервиса и путь к локальному файлу через двоеточие. Поддерживается работа как с файлами на локальной машине, так и их загрузка из сети по http(s). Пример:
Torrent Truckers: platforms/dns-ttruckers.lst
Search engines: dns-search-engines.txt
Twitch: platforms/service/dns-twitch.txt
Adobe: https://raw.githubusercontent.com/Ground-Zerro/DomainMapper/main/platforms/dns-adobe.txt
Для включения загрузки списка DNS-серверов из локального файла dnsdb, укажите localdns = yes в config.ini.
- Формат файла
dnsdb: название DNS-сервера и его IP-адреса через двоеточие и пробел. Важно - нужно обязательно указать два IP-адреса для каждого названия (можно один и тот же), это необходимо для правильной работы кода. Пример:
SkyDNS: 77.88.8.8 77.88.8.8
Alternate DNS: 76.76.19.19 76.223.122.150
AdGuard DNS: 94.140.14.14 94.140.15.15
Важно: названия сервисов и нумерация DNS-серверов в config.ini должны соответствовать тем, что указаны в файлах platformdb и dnsdb.
- Формат файла с доменными именами: по одному домену на строку. Пример:
ab.chatgpt.com
api.openai.com
arena.openai.com
Указание URL вместо доменного имени (например, ab.chatgpt.com/login вместо ab.chatgpt.com) приведет к ошибке.
- Указать путь к другому конфигурационному файлу при запуске скрипта можно с помощью опции
-c(или--config). Если параметр не указан, по умолчанию будет использоваться файлconfig.ini.
Пример использования: main.py -c myconfig.ini, python main.py -c config2.ini или main.py -c srv5.ini и т.д.
-
Создайте файл
custom-dns-list.txt, запишите в него доменные имена и разместите его рядом со скриптом. Список будет автоматически подхвачен при запуске и появится в меню как "Custom DNS list". -
Пример файла
custom-dns-list.txt:
ab.chatgpt.com
api.openai.com
arena.openai.com
Указание URL вместо доменного имени (например, ab.chatgpt.com/login вместо ab.chatgpt.com) приведет к ошибке.
curl -L -s "https://raw.githubusercontent.com/Ground-Zerro/DomainMapper/refs/heads/main/dm-docker.sh" > /tmp/dm-docker.sh && chmod +x /tmp/dm-docker.sh && sh /tmp/dm-docker.sh
</details>
<details>
<summary>Для пользователей Windows (нажать, чтобы открыть)</summary>
- Загляните в директорию Windows репозитория.
☕ Поддержка
Если проект оказался Вам полезен — можно поблагодарить автора:
Related Skills
node-connect
351.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
110.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
351.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
351.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
