Domain Mapper
Что нового в релизе:
- Добавлен сервис 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-адреса.
Поддерживаемые сервисы (нажать, чтобы открыть)
- Antifilter - community edition
- Youtube
- Openai
- Tik-Tok
- Netflix
- Bing
- Adobe
- Apple
- Torrent Truckers
- Search engines
- Github сopilot
- Twitch
- Discord
- Jetbrains
- Личный список
Функции:
- Преобразование доменных имен популярных сервисов в 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
) приведет к ошибке.
Запуск скрипта с файлом конфигурации, отличным от `config.ini` (нажать, чтобы открыть)
- Указать путь к другому конфигурационному файлу при запуске скрипта можно с помощью опции
-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
) приведет к ошибке.
Для пользователей Windows, не знающих "как", но кому "очень нужно" (нажать, чтобы открыть)
- Загляните в директорию Windows репозитория.