mirror of
https://github.com/Ground-Zerro/DomainMapper.git
synced 2025-12-10 01:47:18 +07:00
Compare commits
10 Commits
9219ba8edb
...
b5f8aeb65f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b5f8aeb65f | ||
|
|
bba8015ae5 | ||
|
|
94b523c85f | ||
|
|
78f2bf93e8 | ||
|
|
ff0e50f790 | ||
|
|
f937106d52 | ||
|
|
a6caea23e3 | ||
|
|
535f01a2c0 | ||
|
|
1a8476a1e5 | ||
|
|
92b70ea00e |
125
.gitignore
vendored
125
.gitignore
vendored
@@ -1,125 +0,0 @@
|
||||
|
||||
# Byte-compiled / optimized / DLL files
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*$py.class
|
||||
|
||||
# C extensions
|
||||
*.so
|
||||
|
||||
# Distribution / packaging
|
||||
.Python
|
||||
build/
|
||||
develop-eggs/
|
||||
dist/
|
||||
downloads/
|
||||
eggs/
|
||||
.eggs/
|
||||
lib/
|
||||
lib64/
|
||||
parts/
|
||||
sdist/
|
||||
var/
|
||||
wheels/
|
||||
*.egg-info/
|
||||
.installed.cfg
|
||||
*.egg
|
||||
|
||||
# PyInstaller
|
||||
# Usually these files are written by a python script from a template
|
||||
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
||||
*.manifest
|
||||
*.spec
|
||||
|
||||
# Installer logs
|
||||
pip-log.txt
|
||||
pip-delete-this-directory.txt
|
||||
|
||||
# Unit test / coverage reports
|
||||
htmlcov/
|
||||
.tox/
|
||||
.nox/
|
||||
.coverage
|
||||
.coverage.*
|
||||
.cache
|
||||
nosetests.xml
|
||||
coverage.xml
|
||||
*.cover
|
||||
*.py,cover
|
||||
.hypothesis/
|
||||
|
||||
# Translations
|
||||
*.mo
|
||||
*.pot
|
||||
|
||||
# Django stuff:
|
||||
*.log
|
||||
local_settings.py
|
||||
db.sqlite3
|
||||
db.sqlite3-journal
|
||||
|
||||
# Flask stuff:
|
||||
instance/
|
||||
.webassets-cache
|
||||
|
||||
# Scrapy stuff:
|
||||
.scrapy
|
||||
|
||||
# Sphinx documentation
|
||||
docs/_build/
|
||||
|
||||
# PyBuilder
|
||||
target/
|
||||
|
||||
# Jupyter Notebook
|
||||
.ipynb_checkpoints
|
||||
|
||||
# IPython
|
||||
profile_default/
|
||||
ipython_config.py
|
||||
|
||||
# pyenv
|
||||
.python-version
|
||||
|
||||
# celery beat schedule file
|
||||
celerybeat-schedule
|
||||
|
||||
# dotenv
|
||||
.env
|
||||
.venv
|
||||
env/
|
||||
venv/
|
||||
ENV/
|
||||
env.bak/
|
||||
venv.bak/
|
||||
|
||||
# Spyder project settings
|
||||
.spyderproject
|
||||
.spyproject
|
||||
|
||||
# Rope project settings
|
||||
.ropeproject
|
||||
|
||||
# mkdocs documentation
|
||||
/site
|
||||
|
||||
# mypy
|
||||
.mypy_cache/
|
||||
.dmypy.json
|
||||
dmypy.json
|
||||
|
||||
# Pyre type checker
|
||||
.pyre/
|
||||
|
||||
# VS Code
|
||||
.vscode/
|
||||
|
||||
# Local configuration files
|
||||
config.ini
|
||||
|
||||
# Custom DNS list
|
||||
custom-dns-list.txt
|
||||
|
||||
# Platform and DNS databases
|
||||
platformdb
|
||||
dnsdb
|
||||
196
Windows/Win.bat
196
Windows/Win.bat
@@ -1,98 +1,98 @@
|
||||
@echo off
|
||||
setlocal enabledelayedexpansion
|
||||
chcp 65001 > NUL
|
||||
|
||||
REM Проверка Python 3
|
||||
:CheckPython
|
||||
python --version 2>NUL | findstr /I "Python 3" >NUL
|
||||
if ERRORLEVEL 1 (
|
||||
echo Python 3 не установлен.
|
||||
choice /C YN /M "Установить?"
|
||||
if ERRORLEVEL 2 (
|
||||
echo Без Python 3 ничего не получится...
|
||||
pause
|
||||
exit /b 1
|
||||
) else (
|
||||
call :InstallPython
|
||||
)
|
||||
) else (
|
||||
echo Python 3 установлен.
|
||||
)
|
||||
goto :CheckModules
|
||||
|
||||
REM Инсталляция Python 3
|
||||
:InstallPython
|
||||
echo Загрузка дистрибутива...
|
||||
powershell -Command "if ($PSVersionTable.PSVersion.Major -ge 3) {Invoke-WebRequest -Uri 'https://www.python.org/ftp/python/3.12.5/python-3.12.5-amd64.exe' -OutFile 'python_installer.exe'} else {Start-BitsTransfer -Source 'https://www.python.org/ftp/python/3.12.5/python-3.12.5-amd64.exe' -Destination 'python_installer.exe'}"
|
||||
|
||||
REM Проверяем успешность загрузки
|
||||
if not exist "python_installer.exe" (
|
||||
echo Ошибка загрузки установщика Python 3.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
REM Установка Python 3
|
||||
echo Установка...
|
||||
echo PS - не забудьте ее разрешить в соседнем окне
|
||||
python_installer.exe /quiet InstallAllUsers=1 PrependPath=1
|
||||
del /q /f python_installer.exe
|
||||
|
||||
REM Оповещение о перезапуске
|
||||
echo.
|
||||
echo Установка завершена, но требуется обновить окружение.
|
||||
echo - закройте это окно и запустите скрипт снова.
|
||||
pause
|
||||
exit /b 0
|
||||
|
||||
REM Проверка и установка необходимых модулей Python
|
||||
:CheckModules
|
||||
set "modules=requests dnspython ipaddress configparser httpx colorama"
|
||||
echo.
|
||||
echo Проверка необходимых библиотек...
|
||||
|
||||
for %%m in (%modules%) do (
|
||||
pip show %%m >NUL 2>&1
|
||||
if ERRORLEVEL 1 (
|
||||
echo Установка библиотеки %%m...
|
||||
pip install %%m
|
||||
if ERRORLEVEL 1 (
|
||||
echo Не удалось установить библиотеку %%m. Проверьте pip.
|
||||
exit /b 1
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
goto :DownloadMain
|
||||
|
||||
REM Загрузка и запуск main.py
|
||||
:DownloadMain
|
||||
echo Загрузка Domain Mapper...
|
||||
powershell -Command "if ($PSVersionTable.PSVersion.Major -ge 3) {Invoke-WebRequest -Uri 'https://raw.githubusercontent.com/Ground-Zerro/DomainMapper/main/main.py' -OutFile 'main.py'} else {Start-BitsTransfer -Source 'https://raw.githubusercontent.com/Ground-Zerro/DomainMapper/main/main.py' -Destination 'main.py'}"
|
||||
|
||||
if not exist "main.py" (
|
||||
echo Ошибка загрузки Domain Mapper.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
cls
|
||||
REM Запуск main.py
|
||||
echo Запускаем...
|
||||
python main.py
|
||||
if ERRORLEVEL 1 (
|
||||
echo Ошибка выполнения main.py.
|
||||
pause
|
||||
del /q /f main.py
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
move /y domain-ip-resolve.txt %UserProfile%\Desktop\domain-ip-resolve.txt
|
||||
echo Программа завершена.
|
||||
del /q /f main.py
|
||||
endlocal
|
||||
echo файл скопирован в %UserProfile%\Desktop\domain-ip-resolve.txt
|
||||
pause
|
||||
exit /b 0
|
||||
|
||||
::То-ли при выгрузке на github, то-ли при скачивании с него, в файл как-то попадает BOM... Как это починить я ХЗ.
|
||||
@echo off
|
||||
setlocal enabledelayedexpansion
|
||||
chcp 65001 > NUL
|
||||
|
||||
REM Проверка Python 3
|
||||
:CheckPython
|
||||
python --version 2>NUL | findstr /I "Python 3" >NUL
|
||||
if ERRORLEVEL 1 (
|
||||
echo Python 3 не установлен.
|
||||
choice /C YN /M "Установить?"
|
||||
if ERRORLEVEL 2 (
|
||||
echo Без Python 3 ничего не получится...
|
||||
pause
|
||||
exit /b 1
|
||||
) else (
|
||||
call :InstallPython
|
||||
)
|
||||
) else (
|
||||
echo Python 3 установлен.
|
||||
)
|
||||
goto :CheckModules
|
||||
|
||||
REM Инсталляция Python 3
|
||||
:InstallPython
|
||||
echo Загрузка дистрибутива...
|
||||
powershell -Command "if ($PSVersionTable.PSVersion.Major -ge 3) {Invoke-WebRequest -Uri 'https://www.python.org/ftp/python/3.12.5/python-3.12.5-amd64.exe' -OutFile 'python_installer.exe'} else {Start-BitsTransfer -Source 'https://www.python.org/ftp/python/3.12.5/python-3.12.5-amd64.exe' -Destination 'python_installer.exe'}"
|
||||
|
||||
REM Проверяем успешность загрузки
|
||||
if not exist "python_installer.exe" (
|
||||
echo Ошибка загрузки установщика Python 3.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
REM Установка Python 3
|
||||
echo Установка...
|
||||
echo PS - не забудьте ее разрешить в соседнем окне
|
||||
python_installer.exe /quiet InstallAllUsers=1 PrependPath=1
|
||||
del /q /f python_installer.exe
|
||||
|
||||
REM Оповещение о перезапуске
|
||||
echo.
|
||||
echo Установка завершена, но требуется обновить окружение.
|
||||
echo - закройте это окно и запустите скрипт снова.
|
||||
pause
|
||||
exit /b 0
|
||||
|
||||
REM Проверка и установка необходимых модулей Python
|
||||
:CheckModules
|
||||
set "modules=requests dnspython ipaddress configparser httpx colorama"
|
||||
echo.
|
||||
echo Проверка необходимых библиотек...
|
||||
|
||||
for %%m in (%modules%) do (
|
||||
pip show %%m >NUL 2>&1
|
||||
if ERRORLEVEL 1 (
|
||||
echo Установка библиотеки %%m...
|
||||
pip install %%m
|
||||
if ERRORLEVEL 1 (
|
||||
echo Не удалось установить библиотеку %%m. Проверьте pip.
|
||||
exit /b 1
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
goto :DownloadMain
|
||||
|
||||
REM Загрузка и запуск main.py
|
||||
:DownloadMain
|
||||
echo Загрузка Domain Mapper...
|
||||
powershell -Command "if ($PSVersionTable.PSVersion.Major -ge 3) {Invoke-WebRequest -Uri 'https://raw.githubusercontent.com/Ground-Zerro/DomainMapper/main/main.py' -OutFile 'main.py'} else {Start-BitsTransfer -Source 'https://raw.githubusercontent.com/Ground-Zerro/DomainMapper/main/main.py' -Destination 'main.py'}"
|
||||
|
||||
if not exist "main.py" (
|
||||
echo Ошибка загрузки Domain Mapper.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
cls
|
||||
REM Запуск main.py
|
||||
echo Запускаем...
|
||||
python main.py
|
||||
if ERRORLEVEL 1 (
|
||||
echo Ошибка выполнения main.py.
|
||||
pause
|
||||
del /q /f main.py
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
move /y domain-ip-resolve.txt %UserProfile%\Desktop\domain-ip-resolve.txt
|
||||
echo Программа завершена.
|
||||
del /q /f main.py
|
||||
endlocal
|
||||
echo файл скопирован в %UserProfile%\Desktop\domain-ip-resolve.txt
|
||||
pause
|
||||
exit /b 0
|
||||
|
||||
::То-ли при выгрузке на github, то-ли при скачивании с него, в файл как-то попадает BOM... Как это починить я ХЗ.
|
||||
|
||||
130
old/config.ini
Normal file
130
old/config.ini
Normal file
@@ -0,0 +1,130 @@
|
||||
[DomainMapper]
|
||||
# Локальный режим - загружать список сервисов и/или DNS серверов из локального файла
|
||||
# yes - включить
|
||||
# no или пусто - выключить
|
||||
localplatform = yes
|
||||
localdns = yes
|
||||
|
||||
# Имена сервисов, разделенные запятыми, для разрешения доменных имен в IP-адреса без запроса у пользователя
|
||||
# опции:
|
||||
# пустое значение - пользователю будет выведено меню выбора
|
||||
# all - проверить все сервисы
|
||||
# Antifilter community edition - список заблокированных DNS имен формируемый сообществом
|
||||
# ITDog Inside - ресурсы, в том числе зарубежные, которые блокируются или сами блокируют доступ из России.
|
||||
# ITDog Outside - ресурсы, которые доступны только внутри России и блокируют доступ из-за рубежа.
|
||||
# Youtube
|
||||
# Facebook
|
||||
# Openai
|
||||
# Tik-Tok
|
||||
# Instagram
|
||||
# Twitter
|
||||
# Netflix
|
||||
# Bing
|
||||
# Adobe
|
||||
# Apple
|
||||
# Google
|
||||
# Torrent Trackers - торрент трекеры
|
||||
# Search engines - поисковые системы
|
||||
# Github Copilot - ИИ помощник от github
|
||||
# Twitch
|
||||
# Discord
|
||||
# Jetbrains
|
||||
# Xbox
|
||||
# Telegram
|
||||
# Online movie theaters - некоторые из популярных оналйн кинотеатров
|
||||
# custom - Custom DNS list, это файл "custom-dns-list.txt" расположенный в одном каталоге со скриптом
|
||||
service =
|
||||
|
||||
# DNS сервера (номер), разделенные пробелом, которые будут использоваться для разрешения доменных имен
|
||||
# опции:
|
||||
# пустое значение - пользователю будет выведено меню выбора
|
||||
# 0 - использовать все доступные DNS серверы
|
||||
# 1 - Системный DNS
|
||||
# 2 - Google Public DNS
|
||||
# 3 - Quad9
|
||||
# 4 - Cloudflare DNS
|
||||
# 5 - OpenDNS
|
||||
# 6 - Cisco Umbrella
|
||||
# 7 - DNS.Watch
|
||||
# 8 - Dyn
|
||||
# 9 - CleanBrowsing
|
||||
# 10 - Alternate DNS
|
||||
# 11 - AdGuard DNS
|
||||
# 12 - Control D
|
||||
# 13 - Yandex (основной)
|
||||
dnsserver =
|
||||
|
||||
# Включить фильтрацию IP-адресов cloudflare и не записывать их в файл результатов
|
||||
# опции:
|
||||
# пустое значение - пользователю будет выведено меню выбора
|
||||
# yes - исключить IP адреса cloudflare из итогового списка
|
||||
# no - оставить IP адреса cloudflare в итоговом списке
|
||||
cloudflare =
|
||||
|
||||
# Сгруппировать подсети
|
||||
# опции:
|
||||
# пустое значение - пользователю будет выведено меню выбора
|
||||
# 16 - группировка подсетей до /16 (255.255.0.0)
|
||||
# 24 - группировка подсетей до /24 (255.255.255.0)
|
||||
# mix - /24 и /32 в одном файле
|
||||
# no - оставить как есть
|
||||
subnet =
|
||||
|
||||
# Имя конечного файла
|
||||
# опции:
|
||||
# пустое значение - "domain-ip-resolve.txt" в каталоге со скриптом
|
||||
# имя_файла - файл с указанным именем будет сохранен в каталоге со скриптом
|
||||
# полный_путь/имя_файла - файл будет сохранен с указанным именем в указанной каталоге
|
||||
filename =
|
||||
|
||||
# Количество потоков сканирования, если не указано - будет использоваться 20 потоков
|
||||
threads = 5
|
||||
|
||||
# Формат сохранения файла результатов
|
||||
# опции:
|
||||
# пустое значение - пользователю будет выведено меню выбора
|
||||
# ip - только IP адрес
|
||||
# unix - ip rote %IP%/32 %gateway%
|
||||
# cidr - %IP%/32
|
||||
# win - rote add %IP% mask 255.255.255.255 %gateway%
|
||||
# mikrotik - /ip/firewall/address-list add list=%LIST_NAME% comment=%SERVICE_NAME% address=%IP%/32
|
||||
# ovpn - push "route %IP% 255.255.255.255"
|
||||
# wireguard - %IP%/32, и т.д...
|
||||
# keenetic - ip route %IP%/32 %gateway% auto !%LIST_NAME%
|
||||
filetype =
|
||||
|
||||
# адрес шлюза или имя интерфейса - используется при сохранении IP-адресов в 'win' и 'unix' формате
|
||||
# опции:
|
||||
# пустое значение - пользователю будет выведен запрос с подсказкой
|
||||
# укажите IP-адрес шлюза или имя интерфейса
|
||||
gateway =
|
||||
|
||||
# адрес шлюза или имя интерфейса - используется при сохранении IP-адресов в 'keenetic' формате
|
||||
# опции:
|
||||
# пустое значение - пользователю будет выведен запрос с подсказкой
|
||||
# укажите IP-адрес шлюза или имя интерфейса или IP-адрес шлюза и через пробел имя интерфейса
|
||||
keenetic =
|
||||
|
||||
# имя списка - используется при сохранении IP-адресов в 'mikrotik' формате
|
||||
# опции:
|
||||
# пустое значение - пользователю будет выведен запрос с подсказкой
|
||||
# укажите имя
|
||||
listname =
|
||||
|
||||
# комментарий - используется при сохранении IP-адресов в 'mikrotik' формате
|
||||
# опции:
|
||||
# on - если вам нужен comment=%SERVICE_NAME% в строке
|
||||
# off - убрать comment=%SERVICE_NAME% из строки
|
||||
mk_comment = off
|
||||
|
||||
|
||||
# Показывать сведения о загруженной конфигурации при запуске скрипта
|
||||
# опции:
|
||||
# yes или пустое значение - показывать
|
||||
# no - скрыть
|
||||
cfginfo = yes
|
||||
|
||||
# Команда для консоли после завершения скриптом всех операций, может быть полезно для автоматизации и комбинирования с другим скриптом, кодом или программой
|
||||
# опции:
|
||||
# исполняемая_команда_для_консоли
|
||||
run =
|
||||
20
utilities/win/README.md
Normal file
20
utilities/win/README.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# Запуск вспомогательных утилит под Win:
|
||||
- [convert - конвертер маршрутов](#convert)
|
||||
|
||||
**Описание:** Поставит Python и зависимости, запустит выбранную утилиту.
|
||||
|
||||
## convert
|
||||
|
||||
**Использование:**
|
||||
- Открыть командную строку Windows и выполнить команду:
|
||||
```
|
||||
powershell -Command "irm https://raw.githubusercontent.com/Ground-Zerro/DomainMapper/refs/heads/main/utilities/win/convert.bat -OutFile $env:TEMP\convert.bat" && cmd /c "%TEMP%\convert.bat"
|
||||
```
|
||||
или
|
||||
- Запустить PowerShell и выполнить команду:
|
||||
```
|
||||
irm https://raw.githubusercontent.com/Ground-Zerro/DomainMapper/refs/heads/main/utilities/win/convert.bat -OutFile "$env:TEMP\convert.bat"; cmd /c "$env:TEMP\convert.bat"
|
||||
```
|
||||
|
||||
**Можете:**
|
||||
- Скачать convert.bat и запустить его.
|
||||
@@ -1,99 +1,99 @@
|
||||
@echo off
|
||||
setlocal enabledelayedexpansion
|
||||
chcp 65001 > NUL
|
||||
|
||||
REM Проверка Python 3
|
||||
:CheckPython
|
||||
python --version 2>NUL | findstr /I "Python 3" >NUL
|
||||
if ERRORLEVEL 1 (
|
||||
echo Python 3 не установлен.
|
||||
choice /C YN /M "Установить?"
|
||||
if ERRORLEVEL 2 (
|
||||
echo Без Python 3 ничего не получится...
|
||||
pause
|
||||
exit /b 1
|
||||
) else (
|
||||
call :InstallPython
|
||||
)
|
||||
) else (
|
||||
echo Python 3 установлен.
|
||||
)
|
||||
goto :CheckModules
|
||||
|
||||
REM Инсталляция Python 3
|
||||
:InstallPython
|
||||
echo Загрузка дистрибутива...
|
||||
powershell -Command "if ($PSVersionTable.PSVersion.Major -ge 3) {Invoke-WebRequest -Uri 'https://www.python.org/ftp/python/3.12.5/python-3.12.5-amd64.exe' -OutFile 'python_installer.exe'} else {Start-BitsTransfer -Source 'https://www.python.org/ftp/python/3.12.5/python-3.12.5-amd64.exe' -Destination 'python_installer.exe'}"
|
||||
|
||||
REM Проверяем успешность загрузки
|
||||
if not exist "python_installer.exe" (
|
||||
echo Ошибка загрузки установщика Python 3.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
REM Установка Python 3
|
||||
echo Установка...
|
||||
echo PS - не забудьте ее разрешить в соседнем окне
|
||||
python_installer.exe /quiet InstallAllUsers=1 PrependPath=1
|
||||
del /q /f python_installer.exe
|
||||
|
||||
REM Оповещение о перезапуске
|
||||
echo.
|
||||
echo Установка завершена, но требуется обновить окружение.
|
||||
echo - закройте это окно и запустите скрипт снова.
|
||||
pause
|
||||
exit /b 0
|
||||
|
||||
REM Проверка и установка необходимых модулей Python
|
||||
:CheckModules
|
||||
set "modules=requests dnspython ipaddress configparser httpx colorama"
|
||||
echo.
|
||||
echo Проверка необходимых библиотек...
|
||||
|
||||
for %%m in (%modules%) do (
|
||||
pip show %%m >NUL 2>&1
|
||||
if ERRORLEVEL 1 (
|
||||
echo Установка библиотеки %%m...
|
||||
pip install %%m
|
||||
if ERRORLEVEL 1 (
|
||||
echo Не удалось установить библиотеку %%m. Проверьте pip.
|
||||
exit /b 1
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
goto :DownloadMain
|
||||
|
||||
REM Загрузка и запуск main.py
|
||||
:DownloadMain
|
||||
echo Загрузка Domain Mapper Converter...
|
||||
powershell -Command "if ($PSVersionTable.PSVersion.Major -ge 3) {Invoke-WebRequest -Uri 'https://github.com/Ground-Zerro/DomainMapper/raw/refs/heads/main/utilities/convert.py' -OutFile 'main.py'} else {Start-BitsTransfer -Source 'https://raw.githubusercontent.com/Ground-Zerro/DomainMapper/main/main.py' -Destination 'main.py'}"
|
||||
|
||||
if not exist "main.py" (
|
||||
echo Ошибка загрузки Domain Mapper Converter.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
@echo. >> ip.txt
|
||||
|
||||
cls
|
||||
REM Запуск main.py
|
||||
echo Запускаем...
|
||||
python main.py
|
||||
if ERRORLEVEL 1 (
|
||||
echo Ошибка выполнения main.py.
|
||||
pause
|
||||
del /q /f main.py
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
move /y ip.txt %UserProfile%\Desktop\ip.txt
|
||||
echo Программа завершена.
|
||||
del /q /f main.py
|
||||
endlocal
|
||||
echo файл скопирован в %UserProfile%\Desktop\ip.txt
|
||||
pause
|
||||
exit /b 0
|
||||
|
||||
@echo off
|
||||
setlocal enabledelayedexpansion
|
||||
chcp 65001 > NUL
|
||||
|
||||
REM Проверка Python 3
|
||||
:CheckPython
|
||||
python --version 2>NUL | findstr /I "Python 3" >NUL
|
||||
if ERRORLEVEL 1 (
|
||||
echo Python 3 не установлен.
|
||||
choice /C YN /M "Установить?"
|
||||
if ERRORLEVEL 2 (
|
||||
echo Без Python 3 ничего не получится...
|
||||
pause
|
||||
exit /b 1
|
||||
) else (
|
||||
call :InstallPython
|
||||
)
|
||||
) else (
|
||||
echo Python 3 установлен.
|
||||
)
|
||||
goto :CheckModules
|
||||
|
||||
REM Инсталляция Python 3
|
||||
:InstallPython
|
||||
echo Загрузка дистрибутива...
|
||||
powershell -Command "if ($PSVersionTable.PSVersion.Major -ge 3) {Invoke-WebRequest -Uri 'https://www.python.org/ftp/python/3.12.5/python-3.12.5-amd64.exe' -OutFile 'python_installer.exe'} else {Start-BitsTransfer -Source 'https://www.python.org/ftp/python/3.12.5/python-3.12.5-amd64.exe' -Destination 'python_installer.exe'}"
|
||||
|
||||
REM Проверяем успешность загрузки
|
||||
if not exist "python_installer.exe" (
|
||||
echo Ошибка загрузки установщика Python 3.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
REM Установка Python 3
|
||||
echo Установка...
|
||||
echo PS - не забудьте ее разрешить в соседнем окне
|
||||
python_installer.exe /quiet InstallAllUsers=1 PrependPath=1
|
||||
del /q /f python_installer.exe
|
||||
|
||||
REM Оповещение о перезапуске
|
||||
echo.
|
||||
echo Установка завершена, но требуется обновить окружение.
|
||||
echo - закройте это окно и запустите скрипт снова.
|
||||
pause
|
||||
exit /b 0
|
||||
|
||||
REM Проверка и установка необходимых модулей Python
|
||||
:CheckModules
|
||||
set "modules=requests dnspython ipaddress configparser httpx colorama"
|
||||
echo.
|
||||
echo Проверка необходимых библиотек...
|
||||
|
||||
for %%m in (%modules%) do (
|
||||
pip show %%m >NUL 2>&1
|
||||
if ERRORLEVEL 1 (
|
||||
echo Установка библиотеки %%m...
|
||||
pip install %%m
|
||||
if ERRORLEVEL 1 (
|
||||
echo Не удалось установить библиотеку %%m. Проверьте pip.
|
||||
exit /b 1
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
goto :DownloadMain
|
||||
|
||||
REM Загрузка и запуск main.py
|
||||
:DownloadMain
|
||||
echo Загрузка Domain Mapper Converter...
|
||||
powershell -Command "if ($PSVersionTable.PSVersion.Major -ge 3) {Invoke-WebRequest -Uri 'https://github.com/Ground-Zerro/DomainMapper/raw/refs/heads/main/utilities/convert.py' -OutFile 'main.py'} else {Start-BitsTransfer -Source 'https://raw.githubusercontent.com/Ground-Zerro/DomainMapper/main/main.py' -Destination 'main.py'}"
|
||||
|
||||
if not exist "main.py" (
|
||||
echo Ошибка загрузки Domain Mapper Converter.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
@echo. >> ip.txt
|
||||
|
||||
cls
|
||||
REM Запуск main.py
|
||||
echo Запускаем...
|
||||
python main.py
|
||||
if ERRORLEVEL 1 (
|
||||
echo Ошибка выполнения main.py.
|
||||
pause
|
||||
del /q /f main.py
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
move /y ip.txt %UserProfile%\Desktop\ip.txt
|
||||
echo Программа завершена.
|
||||
del /q /f main.py
|
||||
endlocal
|
||||
echo файл скопирован в %UserProfile%\Desktop\ip.txt
|
||||
pause
|
||||
exit /b 0
|
||||
|
||||
|
||||
Reference in New Issue
Block a user