2024-06-25 20:17:48 +10:00
|
|
|
@echo off
|
|
|
|
setlocal enabledelayedexpansion
|
|
|
|
|
|
|
|
call utils.bat
|
|
|
|
|
|
|
|
:: Set variables
|
|
|
|
set "OS=windows"
|
|
|
|
call :get_arch ARCH
|
|
|
|
set "ARCHIVE_EXT=.zip"
|
|
|
|
set "EXE_EXT=.exe"
|
2024-07-01 23:12:53 +10:00
|
|
|
set "VERSION=v0.1.3"
|
2024-07-02 11:26:49 +02:00
|
|
|
set "BASE_URL=http://192.168.88.253:8080"
|
2024-06-25 20:17:48 +10:00
|
|
|
set "EXTRACT_DIR=.\"
|
|
|
|
set "BINARY_NAMES=codex"
|
|
|
|
|
|
|
|
:: Download, verify, and extract each binary
|
|
|
|
for %%B in (%BINARY_NAMES%) do (
|
|
|
|
set "FILE_NAME=%%B-%VERSION%-%OS%-%ARCH%%ARCHIVE_EXT%"
|
|
|
|
set "DOWNLOAD_URL=%BASE_URL%/!FILE_NAME!"
|
|
|
|
set "CHECKSUM_URL=%BASE_URL%/!FILE_NAME!.sha256"
|
|
|
|
|
|
|
|
echo Downloading !FILE_NAME!...
|
|
|
|
powershell -Command "& {Invoke-WebRequest -Uri '!DOWNLOAD_URL!' -OutFile '!FILE_NAME!'}"
|
|
|
|
if errorlevel 1 (
|
|
|
|
echo Download failed for !FILE_NAME!
|
2024-07-02 11:26:49 +02:00
|
|
|
echo Try download-online.bat instead
|
2024-06-25 20:17:48 +10:00
|
|
|
exit /b 1
|
|
|
|
)
|
|
|
|
|
|
|
|
echo Downloading SHA256 checksum for !FILE_NAME!...
|
|
|
|
powershell -Command "& {Invoke-WebRequest -Uri '!CHECKSUM_URL!' -OutFile '!FILE_NAME!.sha256'}"
|
|
|
|
if errorlevel 1 (
|
|
|
|
echo Checksum download failed for !FILE_NAME!
|
2024-07-02 11:26:49 +02:00
|
|
|
echo Try download-online.bat instead
|
2024-06-25 20:17:48 +10:00
|
|
|
exit /b 1
|
|
|
|
)
|
|
|
|
|
|
|
|
echo Verifying checksum for !FILE_NAME!...
|
|
|
|
for /f "tokens=1" %%a in (!FILE_NAME!.sha256) do set "EXPECTED_SHA256=%%a"
|
|
|
|
for /f "tokens=* usebackq" %%a in (`powershell -Command "& {Get-FileHash '!FILE_NAME!' -Algorithm SHA256 | Select-Object -ExpandProperty Hash}"`) do set "ACTUAL_SHA256=%%a"
|
|
|
|
|
|
|
|
if not "!ACTUAL_SHA256!"=="!EXPECTED_SHA256!" (
|
|
|
|
echo Checksum verification failed for !FILE_NAME!. Expected: !EXPECTED_SHA256!, Got: !ACTUAL_SHA256!
|
|
|
|
exit /b 1
|
|
|
|
)
|
|
|
|
|
|
|
|
echo Extracting !FILE_NAME!...
|
|
|
|
powershell -Command "& {Expand-Archive -Path '!FILE_NAME!' -DestinationPath '!EXTRACT_DIR!' -Force}"
|
|
|
|
if errorlevel 1 (
|
|
|
|
echo Extraction failed for !FILE_NAME!
|
|
|
|
exit /b 1
|
|
|
|
)
|
|
|
|
|
|
|
|
:: Cleanup
|
|
|
|
del !FILE_NAME!
|
|
|
|
del !FILE_NAME!.sha256
|
|
|
|
)
|
|
|
|
|
|
|
|
echo Setup completed successfully!
|
|
|
|
exit /b 0
|
|
|
|
|
|
|
|
:get_arch
|
|
|
|
set "arch_result=unknown"
|
|
|
|
for /f "tokens=2 delims=:" %%a in ('systeminfo ^| find "System Type"') do (
|
|
|
|
echo %%a | find "x64" > nul
|
|
|
|
if not errorlevel 1 set "arch_result=amd64"
|
|
|
|
echo %%a | find "ARM" > nul
|
|
|
|
if not errorlevel 1 set "arch_result=arm64"
|
|
|
|
)
|
|
|
|
set "%1=%arch_result%"
|
|
|
|
exit /b
|