diff --git a/Windows/Win.bat b/Windows/Win.bat index cdb518a..5343b5d 100644 --- a/Windows/Win.bat +++ b/Windows/Win.bat @@ -1,112 +1,112 @@ -@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=dnspython httpx colorama tqdm" -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 -) - -echo Копирование файлов на рабочий стол... - -if exist domain-ip-resolve.txt ( - move /y domain-ip-resolve.txt %UserProfile%\Desktop\domain-ip-resolve.txt - echo Файл скопирован в %UserProfile%\Desktop\domain-ip-resolve.txt -) else ( - echo Поиск разделенных файлов... - set "found=0" - for %%f in (domain-ip-resolve_p*.txt) do ( - move /y "%%f" "%UserProfile%\Desktop\%%f" - echo Файл %%f скопирован на рабочий стол - set "found=1" - ) - if "!found!"=="0" ( - echo Не найдено файлов для копирования. - ) -) - -echo Программа завершена. -del /q /f main.py -endlocal -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=dnspython httpx colorama tqdm" +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 +) + +echo Копирование файлов на рабочий стол... + +if exist domain-ip-resolve.txt ( + move /y domain-ip-resolve.txt %UserProfile%\Desktop\domain-ip-resolve.txt + echo Файл скопирован в %UserProfile%\Desktop\domain-ip-resolve.txt +) else ( + echo Поиск разделенных файлов... + set "found=0" + for %%f in (domain-ip-resolve_p*.txt) do ( + move /y "%%f" "%UserProfile%\Desktop\%%f" + echo Файл %%f скопирован на рабочий стол + set "found=1" + ) + if "!found!"=="0" ( + echo Не найдено файлов для копирования. + ) +) + +echo Программа завершена. +del /q /f main.py +endlocal +pause +exit /b 0 diff --git a/utilities/README.md b/utilities/README.md index 4774ee6..5988311 100644 --- a/utilities/README.md +++ b/utilities/README.md @@ -93,6 +93,8 @@ ### Использование +#### Linux/macOS + 1. Установите [зависимости](https://github.com/Ground-Zerro/DomainMapper/blob/main/requirements.txt): ```bash @@ -122,11 +124,33 @@ 5. Результат будет сохранен в файл `ip.txt` (или в несколько файлов, если был выбран формат с автоматическим разделением). -### Примечания +#### Windows -- Если файл `ip.txt` не найден, скрипт выведет подробную инструкцию по его созданию и корректно завершится. -- Для формата Keenetic BAT файл автоматически разделяется на части по 999 строк, исходный файл удаляется. +##### Способ 1: Быстрый запуск (с автоматической установкой зависимостей) +Откройте командную строку Windows и выполните: +```cmd +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 и выполните: +```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" +``` + +Скрипт автоматически: +- Проверит наличие Python 3 (предложит установить, если отсутствует) +- Установит необходимые библиотеки (httpx, colorama и др.) +- Скачает и запустит утилиту +- Попросит создать файл `ip.txt`, если он отсутствует + +##### Способ 2: Ручной запуск + +1. Скачайте файл [convert.bat](https://github.com/Ground-Zerro/DomainMapper/raw/refs/heads/main/utilities/win/convert.bat) + +2. Создайте файл `ip.txt` в той же директории, где находится `convert.bat`, и добавьте в него IP-адреса + +3. Запустите `convert.bat` ## split diff --git a/utilities/win/convert.bat b/utilities/win/convert.bat index 655891d..d69f740 100644 --- a/utilities/win/convert.bat +++ b/utilities/win/convert.bat @@ -1,99 +1,114 @@ -@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 Загрузка и запуск convert.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 'convert.py'} else {Start-BitsTransfer -Source 'https://raw.githubusercontent.com/Ground-Zerro/DomainMapper/main/utilities/convert.py' -Destination 'convert.py'}" + +if not exist "convert.py" ( + echo Ошибка загрузки Domain Mapper Converter. + pause + exit /b 1 +) + +if not exist "ip.txt" ( + echo. + echo Файл ip.txt не найден. + echo Создайте файл ip.txt в текущей директории и добавьте в него IP-адреса. + echo. + choice /C YN /M "Создать пустой файл ip.txt сейчас?" + if ERRORLEVEL 2 ( + echo Завершение работы. + del /q /f convert.py + pause + exit /b 1 + ) else ( + echo. > ip.txt + echo Файл ip.txt создан. Добавьте в него IP-адреса и запустите скрипт снова. + del /q /f convert.py + pause + exit /b 0 + ) +) + +cls +echo Запускаем... +python convert.py +if ERRORLEVEL 1 ( + echo Ошибка выполнения convert.py. + pause + del /q /f convert.py + exit /b 1 +) + +echo Программа завершена. +del /q /f convert.py +endlocal +pause +exit /b 0 +