2024-09-18 23:29:57 +11:00
2024-09-16 22:41:50 +11:00
2024-09-15 17:54:44 +11:00
2024-08-29 17:10:08 +11:00
2024-09-17 01:28:15 +11:00
2024-08-29 20:24:36 +11:00
2024-09-10 23:59:56 +11:00
2024-03-20 11:30:20 +03:00
2024-09-17 01:28:15 +11:00
2024-09-15 01:15:05 +11:00
2024-09-18 23:29:57 +11:00
fix
2024-08-25 04:00:24 +11:00

Domain Mapper

Описание: Инструмент на языке Python, предназначенный для разрешения DNS имен популярных веб-сервисов в IP-адреса.

Поддерживаемые сервисы (нажать чтоб открыть)

Функции:

  • Разрешение доменных имен популярных сервисов в IP-адреса.
  • Агрегация маршрутов до /16 (255.255.0.0), /24 (255.255.255.0).
  • Фильтрация IP-адресов Cloudflare (по желанию).
  • Автоматическое исключение IP-адресов самих DNS-серверов, "заглушек" редиректа на localhost и дублирующихся IP.

Особенности:

  • Можно выбрать системный DNS сервер, популярный публичный, либо их комбинацию.
  • Разрешение каждого доменного имени происходит используя каждый из указанных пользователем DNS серверов и не останавливается при первом же успешном получении его IP-адреса.

Автоматизация: Конфигурационный файл позволяет настроить работу скрипта в "молчаливом" режиме - без промтов к пользователю. Так же в конфигурационном файле можно добавить выполнение кастомной команды в консоли для запуска другого скрипта или программы при завершении его работы.

Зависимости: Для работы Domain Mapper необходимо наличие следующих библиотек Python:

  • configparser, ipaddress, dnspython, httpx, colorama.

Не забудьте установить их перед запуском:

pip3 install -r requirements.txt

Использование:

  • Запустить main.py с помощью Python.

Можно отредактировать настройки под свои задачи в "config.ini".

Дополнительный личный список с доменными именами (нажать чтоб открыть)
  • Создать файл "custom-dns-list.txt", записать в него DNS имена (одна строчка - одно имя) и положить рядом со скриптом. Список будет подхвачен при запуске и отображен в меню как "Custom DNS list".
Запуск скрипта с файлом конфигурации отличным от config.ini (нажать чтоб открыть)
  • Можно передавать путь к конфигурационному файлу при запуске скрипта с помощью опции -c (или --config). Если параметр не указан, по умолчанию будет использоваться файл config.ini.

Пример использования: main.py -с myconfig.ini или python main.py -с config2.ini или main.py -с srv5.ini и т.п.

Кто не знает "как", но кому "очень нужно" (нажать чтоб открыть)
  • Загляните в директорию "Windows" репозитория.
Локальный режим работы (нажать чтоб открыть)

В этом режиме списки DNS серверов и сервисов будут загружены из локальных файлов в папке со скриптом, а не из сети.

Включить загрузку списка сервисов из локального файла platformdb - указать localplatform = yes в config.ini.

  • Формат файла platformdb: Название сервиса двоеточие путь к локальному файлу. Пример:
Torrent Truckers: platforms/dns-ttruckers.txt
Search engines: platforms/dns-search-engines.txt
Twitch: platforms/dns-twitch.txt

Включить загрузку списка DNS серверов из локального файла dnsdb - указать localplatform = yes в config.ini.

  • Формат файла dnsdb: Название DNS сервера двоеточие IP-адрес пробел IP-адрес. Пример:
CleanBrowsing: 185.228.168.9 185.228.169.9
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 и т.п.) приведет к ошибке.

Что нового (нажать чтоб открыть)
Протестировано в Ubuntu 20.04, macOS Sonoma и Windows 10/11
Description
A tool for scanning and resolving DNS names into IP addresses
Readme MIT 693 KiB
Languages
Python 84.1%
Batchfile 9.7%
Shell 6.2%