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

@@ -1,112 +1,112 @@
@echo off @echo off
setlocal enabledelayedexpansion setlocal enabledelayedexpansion
chcp 65001 > NUL chcp 65001 > NUL
REM Проверка Python 3 REM Проверка Python 3
:CheckPython :CheckPython
python --version 2>NUL | findstr /I "Python 3" >NUL python --version 2>NUL | findstr /I "Python 3" >NUL
if ERRORLEVEL 1 ( if ERRORLEVEL 1 (
echo Python 3 не установлен. echo Python 3 не установлен.
choice /C YN /M "Установить?" choice /C YN /M "Установить?"
if ERRORLEVEL 2 ( if ERRORLEVEL 2 (
echo Без Python 3 ничего не получится... echo Без Python 3 ничего не получится...
pause pause
exit /b 1 exit /b 1
) else ( ) else (
call :InstallPython call :InstallPython
) )
) else ( ) else (
echo Python 3 установлен. echo Python 3 установлен.
) )
goto :CheckModules goto :CheckModules
REM Инсталляция Python 3 REM Инсталляция Python 3
:InstallPython :InstallPython
echo Загрузка дистрибутива... 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'}" 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 Проверяем успешность загрузки REM Проверяем успешность загрузки
if not exist "python_installer.exe" ( if not exist "python_installer.exe" (
echo Ошибка загрузки установщика Python 3. echo Ошибка загрузки установщика Python 3.
pause pause
exit /b 1 exit /b 1
) )
REM Установка Python 3 REM Установка Python 3
echo Установка... echo Установка...
echo PS - не забудьте ее разрешить в соседнем окне echo PS - не забудьте ее разрешить в соседнем окне
python_installer.exe /quiet InstallAllUsers=1 PrependPath=1 python_installer.exe /quiet InstallAllUsers=1 PrependPath=1
del /q /f python_installer.exe del /q /f python_installer.exe
REM Оповещение о перезапуске REM Оповещение о перезапуске
echo. echo.
echo Установка завершена, но требуется обновить окружение. echo Установка завершена, но требуется обновить окружение.
echo - закройте это окно и запустите скрипт снова. echo - закройте это окно и запустите скрипт снова.
pause pause
exit /b 0 exit /b 0
REM Проверка и установка необходимых модулей Python REM Проверка и установка необходимых модулей Python
:CheckModules :CheckModules
set "modules=dnspython httpx colorama tqdm" set "modules=dnspython httpx colorama tqdm"
echo. echo.
echo Проверка необходимых библиотек... echo Проверка необходимых библиотек...
for %%m in (%modules%) do ( for %%m in (%modules%) do (
pip show %%m >NUL 2>&1 pip show %%m >NUL 2>&1
if ERRORLEVEL 1 ( if ERRORLEVEL 1 (
echo Установка библиотеки %%m... echo Установка библиотеки %%m...
pip install %%m pip install %%m
if ERRORLEVEL 1 ( if ERRORLEVEL 1 (
echo Не удалось установить библиотеку %%m. Проверьте pip. echo Не удалось установить библиотеку %%m. Проверьте pip.
exit /b 1 exit /b 1
) )
) )
) )
goto :DownloadMain goto :DownloadMain
REM Загрузка и запуск main.py REM Загрузка и запуск main.py
:DownloadMain :DownloadMain
echo Загрузка Domain Mapper... 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'}" 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" ( if not exist "main.py" (
echo Ошибка загрузки Domain Mapper. echo Ошибка загрузки Domain Mapper.
pause pause
exit /b 1 exit /b 1
) )
cls cls
REM Запуск main.py REM Запуск main.py
echo Запускаем... echo Запускаем...
python main.py python main.py
if ERRORLEVEL 1 ( if ERRORLEVEL 1 (
echo Ошибка выполнения main.py. echo Ошибка выполнения main.py.
pause pause
del /q /f main.py del /q /f main.py
exit /b 1 exit /b 1
) )
echo Копирование файлов на рабочий стол... echo Копирование файлов на рабочий стол...
if exist domain-ip-resolve.txt ( if exist domain-ip-resolve.txt (
move /y domain-ip-resolve.txt %UserProfile%\Desktop\domain-ip-resolve.txt move /y domain-ip-resolve.txt %UserProfile%\Desktop\domain-ip-resolve.txt
echo Файл скопирован в %UserProfile%\Desktop\domain-ip-resolve.txt echo Файл скопирован в %UserProfile%\Desktop\domain-ip-resolve.txt
) else ( ) else (
echo Поиск разделенных файлов... echo Поиск разделенных файлов...
set "found=0" set "found=0"
for %%f in (domain-ip-resolve_p*.txt) do ( for %%f in (domain-ip-resolve_p*.txt) do (
move /y "%%f" "%UserProfile%\Desktop\%%f" move /y "%%f" "%UserProfile%\Desktop\%%f"
echo Файл %%f скопирован на рабочий стол echo Файл %%f скопирован на рабочий стол
set "found=1" set "found=1"
) )
if "!found!"=="0" ( if "!found!"=="0" (
echo Не найдено файлов для копирования. echo Не найдено файлов для копирования.
) )
) )
echo Программа завершена. echo Программа завершена.
del /q /f main.py del /q /f main.py
endlocal endlocal
pause pause
exit /b 0 exit /b 0

View File

@@ -93,6 +93,8 @@
### Использование ### Использование
#### Linux/macOS
1. Установите [зависимости](https://github.com/Ground-Zerro/DomainMapper/blob/main/requirements.txt): 1. Установите [зависимости](https://github.com/Ground-Zerro/DomainMapper/blob/main/requirements.txt):
```bash ```bash
@@ -122,11 +124,33 @@
5. Результат будет сохранен в файл `ip.txt` (или в несколько файлов, если был выбран формат с автоматическим разделением). 5. Результат будет сохранен в файл `ip.txt` (или в несколько файлов, если был выбран формат с автоматическим разделением).
### Примечания #### Windows
- Если файл `ip.txt` не найден, скрипт выведет подробную инструкцию по его созданию и корректно завершится. ##### Способ 1: Быстрый запуск (с автоматической установкой зависимостей)
- Для формата Keenetic BAT файл автоматически разделяется на части по 999 строк, исходный файл удаляется.
Откройте командную строку 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 ## split

View File

@@ -1,99 +1,114 @@
@echo off @echo off
setlocal enabledelayedexpansion setlocal enabledelayedexpansion
chcp 65001 > NUL chcp 65001 > NUL
REM Проверка Python 3 REM Проверка Python 3
:CheckPython :CheckPython
python --version 2>NUL | findstr /I "Python 3" >NUL python --version 2>NUL | findstr /I "Python 3" >NUL
if ERRORLEVEL 1 ( if ERRORLEVEL 1 (
echo Python 3 не установлен. echo Python 3 не установлен.
choice /C YN /M "Установить?" choice /C YN /M "Установить?"
if ERRORLEVEL 2 ( if ERRORLEVEL 2 (
echo Без Python 3 ничего не получится... echo Без Python 3 ничего не получится...
pause pause
exit /b 1 exit /b 1
) else ( ) else (
call :InstallPython call :InstallPython
) )
) else ( ) else (
echo Python 3 установлен. echo Python 3 установлен.
) )
goto :CheckModules goto :CheckModules
REM Инсталляция Python 3 REM Инсталляция Python 3
:InstallPython :InstallPython
echo Загрузка дистрибутива... 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'}" 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 Проверяем успешность загрузки REM Проверяем успешность загрузки
if not exist "python_installer.exe" ( if not exist "python_installer.exe" (
echo Ошибка загрузки установщика Python 3. echo Ошибка загрузки установщика Python 3.
pause pause
exit /b 1 exit /b 1
) )
REM Установка Python 3 REM Установка Python 3
echo Установка... echo Установка...
echo PS - не забудьте ее разрешить в соседнем окне echo PS - не забудьте ее разрешить в соседнем окне
python_installer.exe /quiet InstallAllUsers=1 PrependPath=1 python_installer.exe /quiet InstallAllUsers=1 PrependPath=1
del /q /f python_installer.exe del /q /f python_installer.exe
REM Оповещение о перезапуске REM Оповещение о перезапуске
echo. echo.
echo Установка завершена, но требуется обновить окружение. echo Установка завершена, но требуется обновить окружение.
echo - закройте это окно и запустите скрипт снова. echo - закройте это окно и запустите скрипт снова.
pause pause
exit /b 0 exit /b 0
REM Проверка и установка необходимых модулей Python REM Проверка и установка необходимых модулей Python
:CheckModules :CheckModules
set "modules=requests dnspython ipaddress configparser httpx colorama" set "modules=requests dnspython ipaddress configparser httpx colorama"
echo. echo.
echo Проверка необходимых библиотек... echo Проверка необходимых библиотек...
for %%m in (%modules%) do ( for %%m in (%modules%) do (
pip show %%m >NUL 2>&1 pip show %%m >NUL 2>&1
if ERRORLEVEL 1 ( if ERRORLEVEL 1 (
echo Установка библиотеки %%m... echo Установка библиотеки %%m...
pip install %%m pip install %%m
if ERRORLEVEL 1 ( if ERRORLEVEL 1 (
echo Не удалось установить библиотеку %%m. Проверьте pip. echo Не удалось установить библиотеку %%m. Проверьте pip.
exit /b 1 exit /b 1
) )
) )
) )
goto :DownloadMain goto :DownloadMain
REM Загрузка и запуск main.py REM Загрузка и запуск convert.py
:DownloadMain :DownloadMain
echo Загрузка Domain Mapper Converter... 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'}" 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 "main.py" ( if not exist "convert.py" (
echo Ошибка загрузки Domain Mapper Converter. echo Ошибка загрузки Domain Mapper Converter.
pause pause
exit /b 1 exit /b 1
) )
@echo. >> ip.txt if not exist "ip.txt" (
echo.
cls echo Файл ip.txt не найден.
REM Запуск main.py echo Создайте файл ip.txt в текущей директории и добавьте в него IP-адреса.
echo Запускаем... echo.
python main.py choice /C YN /M "Создать пустой файл ip.txt сейчас?"
if ERRORLEVEL 1 ( if ERRORLEVEL 2 (
echo Ошибка выполнения main.py. echo Завершение работы.
pause del /q /f convert.py
del /q /f main.py pause
exit /b 1 exit /b 1
) ) else (
echo. > ip.txt
move /y ip.txt %UserProfile%\Desktop\ip.txt echo Файл ip.txt создан. Добавьте в него IP-адреса и запустите скрипт снова.
echo Программа завершена. del /q /f convert.py
del /q /f main.py pause
endlocal exit /b 0
echo файл скопирован в %UserProfile%\Desktop\ip.txt )
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