Skip to content

Releases: Ground-Zerro/DomainMapper

v0.1.3

10 Oct 13:00
e9a6930
Compare
Choose a tag to compare

Domain Mapper

Что нового в релизе:

Остальная история изменений (нажать, чтобы открыть)

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

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

Функции:

  • Преобразование доменных имен популярных сервисов в 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).
  • Поддержка работы в "тихом" режиме без взаимодействия с пользователем, настройка через конфигурационный файл.
  • В конфигурационном файле можно указать команду для автоматического запуска другого скрипта или программы по завершении работы.

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

  1. Установите зависимости:

    pip install -r requirements.txt
  2. Отредактируйте config.ini под свои задачи (опционально)

  3. Запустите скрипт:

    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 репозитория.
Протестировано в Ubuntu 20.04, macOS Sonoma и Windows 10/11

v.0.1.2

24 Sep 12:15
Compare
Choose a tag to compare

Domain Mapper

Что нового в релизе:

Остальная история изменений (нажать, чтобы открыть)

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

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

Функции:

  • Преобразование доменных имен популярных сервисов в 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).
  • Поддержка работы в "тихом" режиме без взаимодействия с пользователем, настройка через конфигурационный файл.
  • В конфигурационном файле можно указать команду для автоматического запуска другого скрипта или программы по завершении работы.

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

  1. Установите зависимости:

    pip install -r requirements.txt
  2. Отредактируйте config.ini под свои задачи (опционально)

  3. Запустите скрипт:

    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 репозитория.
Протестировано в Ubuntu 20.04, macOS Sonoma и Windows 10/11

v.0.1.1

16 Sep 14:11
Compare
Choose a tag to compare

Фиксация кода перед добавлением новых функций.

Domain Mapper

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

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

Функции:

  • Скрипт использует списки доменных имен популярных сервисов и разрешает их в IP-адреса.
  • Итоговый список содержит только уникальные IP-адреса исключая дубликаты, также фильтруются IP-адреса самих DNS-серверов, заглушки в виде редиректа на localhost и (по желанию) IP-адреса Cloudflare.
  • Выбор между системным DNS сервером, популярными публичными, либо их комбинации.
  • Разрешение 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".

Использование скрипта с кастомным конфигурационным файлом

  • Можно передавать путь к конфигурационному файлу при запуске скрипта с помощью опции -c (или --config). Если параметр не указан, по умолчанию будет использоваться файл config.ini.

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

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

  • Загляните в директорию "Windows" репозитория.
Что нового
Протестировано в Ubuntu 20.04, macOS Sonoma и Windows 10/11

First release

30 Aug 10:51
Compare
Choose a tag to compare

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