This commit is contained in:
Ground-Zerro
2025-11-01 21:48:45 +11:00
parent 487093e254
commit 64abff705f
3 changed files with 253 additions and 214 deletions

View File

@@ -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

View File

@@ -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