Files
DomainMapper/README.md
2024-09-10 23:27:42 +11:00

73 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## Domain Mapper
**Описание:** Инструмент на языке Python, предназначенный для разрешения DNS имен популярных веб-сервисов в IP-адреса.
Имеется поддержка следующих сервисов:
- [Antifilter - community edition](https://community.antifilter.download/)
- Youtube
- Facebook
- Openai
- Tik-Tok
- Instagram
- Twitter
- Netflix
- Bing
- Adobe
- Apple
- Google
- Torrent Truckers
- Search engines
- [Github сopilot](https://github.com/features/copilot)
- Личный список
**Функции:**
- Скрипт использует списки доменных имен популярных сервисов и разрешает их в 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" репозитория.
**New**
- Опция config.ini: Отключить отображение сведений о загруженой конфигурации.
- Кастомное имя конфигурационного файла. Запрос от @Noksa
- Добавлен сервис Github сopilot. Запрос от @aspirisen
- Keenetic CLI формат сохранения. Запрос от @vchikalkin
- Wireguard формат сохранения. Запрос от @sanikroot
- Агрегация маршрутов до /24, /16. Запрос от @sergeeximius
- ovpn формат сохранения. Запрос от @SonyLo
##### Протестировано в Ubuntu 20.04 и Windows 10/11