Domain Mapper
Описание: Инструмент на языке Python, предназначенный для разрешения DNS имен популярных веб-сервисов в IP-адреса.
Имеется поддержка следующих сервисов:
- Antifilter - community edition
- Youtube
- Openai
- Tik-Tok
- Netflix
- Bing
- Adobe
- Apple
- Torrent Truckers
- Search engines
Функции:
- Скрипт загружает списки доменных имен Antifilter - community edition, а также популярных сервисов и разрешает их в IP-адреса используя публичные DNS-сервера.
- Итоговый список содержит только уникальные IP-адреса исключая дубликаты, также фильтруются IP-адреса самих DNS-серверов, заглушки в виде редиректа на localhost и (по желанию) IP-адреса Cloudflare.
- С помощью конфигурационного файла можно настроить все параметры работы в т.ч. задать список сервисов, формат сохранения, количество потоков, имя выводного файла и другие.
Автоматизация: Конфигурационный файл позволяет настроить работу скрипта в "молчаливом" режиме - без промтов к пользователю. Так же в конфигурационном файле можно добавить выполнение кастомной команды в консоли для запуска другого скрипта или программы при завершении его работы.
Зависимости: Для работы Domain Mapper необходимо наличие следующих библиотек Python:
- requests
- dnspython
- ipaddress
- configparser
Не забудьте установить их перед запуском:
pip3 install -r requirements.txt
Использование: Запустить с помощью Python. Для работы необходим только "main.py" и (по желанию) файл "config.ini".
Протестировано в Ubuntu 20.04 и Windows 10/11
Domain Mapper SDS (main-SDS.py)
Небольшой форк основного кода
Отличия:
- Иной подход к работе меню.
- Возможность выбора DNS серверов, которые будут использованы для проверки, в т.ч.: Системный DNS, Google, Quad9, OpenDNS, Cloudflare, CleanBrowsing, Alternate DNS, AdGuard DNS (пишите если нужно что-то еще добавить).
В отличии от основной программы проверка DNS имени будет производиться не до первого успешного разрешения его IP-адреса, а последовательно используя каждый из указанных пользователем DNS серверов. По другому говоря - скрипт будет пытаться получить IP адрес DNS имени отдельно у каждого DNS сервера, что повышает шансы разрешить его IP в случае, например "заглушек" провайдера.
- Список сервисов и DNS серверов исключен из кода, теперь они загружаются с Github.
Таким образом пользователь получит актуальные данные запустив даже старую версию скрипта.
- Автоматизация при помощи config.ini пока частичная.
- Более долгая работа т.к. DNS имя запрашивается у каждого из указанных DNS серверов.
Можно частично компенсировать увеличением числа используемых потоков, однако будьте осторожны - не превысьте количество установленных DNS сервером запросов в секунду, чтобы не получать от него таймаут вместо разрешенного IP-адреса.