/DomainMapper

A tool for scanning and resolving DNS names into IP addresses

Primary LanguagePythonMIT LicenseMIT

Domain Mapper

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

Имеется поддержка следующих сервисов:

  • Antifilter - community edition
  • Youtube
  • Facebook
  • Openai
  • Tik-Tok
  • Instagram
  • Twitter
  • Netflix
  • Bing
  • Adobe
  • Apple
  • Google
  • Torrent Truckers
  • Search engines
  • Личный список

Функции:

  • Скрипт использует списки доменных имен Antifilter - community edition, а также популярных сервисов и разрешает их в IP-адреса используя публичные DNS-сервера.
  • Итоговый список содержит только уникальные IP-адреса исключая дубликаты, также фильтруются IP-адреса самих DNS-серверов, заглушки в виде редиректа на localhost и (по желанию) IP-адреса Cloudflare.
  • Возможен выбор DNS сервера из установленного в системе, а также Google Public DNS, Quad9, Cloudflare DNS, OpenDNS, Cisco Umbrella, DNS.Watch, Dyn, CleanBrowsing, Alternate DNS, AdGuard DNS, Control D или все сразу.
  • Разрешение DNS имени происходит используя каждый из указанных пользователем DNS серверов и не останавливается при первом же успешном получении его IP-адреса.
  • Пользователь может создать свой список с DNS именами, необходимыми лично ему.
  • Агрегация маршрутов до /16 (255.255.0.0), /24 (255.255.255.0).

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

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

  • configparser, ipaddress, dnspython, httpx, colorama.

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

pip3 install -r requirements.txt

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

  • Запустить с помощью Python. Для работы необходим только "main.py" и (по желанию) файл "config.ini".

Работа с личным списком DNS:

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

Кто не знает "как", но кому "очень нужно":

  • Загляните в директорию "Windows" репозитория.

New

  • Wireguard формат сохранения. Запрос от @sanikroot
  • Агрегация маршрутов до /24, /16. Запрос от @sergeeximius
  • ovpn формат сохранения. Запрос от @SonyLo
Протестировано в Ubuntu 20.04 и Windows 10/11