diff --git a/Installer/geth-windows-builder-gpg-key.asc b/Installer/geth-windows-builder-gpg-key.asc new file mode 100644 index 0000000..157d07c --- /dev/null +++ b/Installer/geth-windows-builder-gpg-key.asc @@ -0,0 +1,51 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Comment: Hostname: +Version: Hockeypuck ~unreleased + +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 +vT7dAGjUr2B8w7JejXO3kvbDaG0= +=4uwL +-----END PGP PUBLIC KEY BLOCK----- diff --git a/win32_install.bat b/win32_install.bat index c84756e..14a5fe5 100644 --- a/win32_install.bat +++ b/win32_install.bat @@ -152,8 +152,8 @@ if !install_joplin! == 1 ( if not exist "!joplin_exe!" ( if not exist "!joplin_dir!" mkdir "!joplin_dir!" call :DownloadFile "https://github.com/laurent22/joplin/releases/download/v!joplin_version!/JoplinPortable.exe" "!joplin_exe!" || exit /B + call :VerifyFileSHA256 "!joplin_exe!" "!joplin_sha256!" || exit /B ) - call :VerifyFileSHA256 "!joplin_exe!" "!joplin_sha256!" || exit /B ) REM ---------------------------------------------------------------------------- @@ -230,7 +230,7 @@ if !install_mobaxterm! == 1 ( set mobaxterm_version=21.2 set mobaxterm_zip=!downloads_dir!\win32_mobaxterm-!mobaxterm_version!.zip set mobaxterm_dir=!tools_dir!\mobaxterm-!mobaxterm_version! - if not exist "!mobaxterm_bin_dir!\mobaxterm.exe" ( + if not exist "!mobaxterm_dir!\MobaXterm_Personal_21.2.exe" ( call :DownloadFile "https://download.mobatek.net/2122021051924233/MobaXterm_Portable_v!mobaxterm_version!.zip" !mobaxterm_zip! || exit /B call :VerifyFileSHA256 !mobaxterm_zip! !mobaxterm_sha256! || exit /B call :Unzip !mobaxterm_zip! !mobaxterm_dir! || exit /B @@ -320,6 +320,27 @@ if !install_zig! == 1 ( REM ---------------------------------------------------------------------------- REM Ethereum REM ---------------------------------------------------------------------------- +REM ---------------------------------------------------------------------------- +REM geth +REM ---------------------------------------------------------------------------- +if !install_geth! == 1 ( + set geth_md5=35aecac473af02f886535e9a57530081 + set geth_version=1.10.7-12f0ff40 + set geth_zip=!downloads_dir!\win32_geth-amd64-v!geth_version!.zip + set geth_dir=!tools_dir!\geth-windows-amd64-!geth_version! + set geth_gpg_key=!downloads_dir!\..\geth-windows-builder-gpg-key.asc + set geth_gpg_sig=!geth_zip!.sig + if not exist "!geth_dir!\geth.exe" ( + call :DownloadFile "https://gethstore.blob.core.windows.net/builds/geth-windows-amd64-!geth_version!.zip" "!geth_zip!" || exit /B + call :DownloadFile "https://gethstore.blob.core.windows.net/builds/geth-windows-amd64-!geth_version!.zip.sig" "!geth_gpg_sig! || exit /B + call :VerifyFileMD5 "!geth_zip!" "!geth_md5!" || exit /B + + gpg --import "!geth_gpg_key!" || exit /B + gpg --verify "!geth_gpg_sig!" "!geth_zip!" || exit /B + call :Unzip "!geth_zip!" "!geth_dir!" || exit /B + ) +) + REM ---------------------------------------------------------------------------- REM remix_ide REM ---------------------------------------------------------------------------- @@ -372,6 +393,7 @@ if !install_python3! == 1 ( if !install_ripgrep! == 1 ( echo set PATH=%%~dp0!rg_dir!;%%PATH%%>> "!terminal_script!" ) if !install_zig! == 1 ( echo set PATH=%%~dp0!zig_dir!;%%PATH%%>> "!terminal_script!" ) +if !install_geth! == 1 ( echo set PATH=%%~dp0!geth_dir!;%%PATH%%>> "!terminal_script!" ) if !install_remix_ide! == 1 ( echo set PATH=%%~dp0!remix_ide_dir!;%%PATH%%>> "!terminal_script!" ) if !install_solidity! == 1 ( echo set PATH=%%~dp0!solidity_dir!;%%PATH%%>> "!terminal_script!" ) @@ -424,10 +446,15 @@ REM ---------------------------------------------------------------------------- :CopyFile set src_file=%~1 set dest_file=%~2 +set msg=[Copy] !src_file! to !dest_file! + +if exist "!dest_file!" ( + echo - [Cached] !msg! +) else ( + echo - !msg! + call copy /Y !src_file! !dest_file! > nul +) -call copy /Y !src_file! !dest_file! > nul -if exist "!dest_file!" echo - [Copy] !src_file! to !dest_file! -if not exist "!dest_file!" echo - [Copy] Failed to copy file from !src_file! to !dest_file! exit /B !ERRORLEVEL! REM ------------------------------------------------------------------------------------------------ @@ -457,7 +484,7 @@ REM Verify Hash set /p actual_sha256=< !calculated_sha256_file! if "!expected_sha256!" neq "!actual_sha256!" ( echo - [Verify] !file! - echo SHA256 Hash does not match, failing. + echo sha256 hash does not match, failing. echo Expected: !expected_sha256! echo Calculated: !actual_sha256! exit /B -1 @@ -466,6 +493,28 @@ if "!expected_sha256!" neq "!actual_sha256!" ( exit /B 0 ) +REM ------------------------------------------------------------------------------------------------ +:VerifyFileMD5 +set file=%~1 +set expected_md5=%~2 + +REM Calculate hash +set calculated_md5_file=!file!.md5.txt +call powershell "$FileHash = Get-FileHash -algorithm md5 !file!; $FileHash.Hash.ToLower()" > !calculated_md5_file! + +REM Verify Hash +set /p actual_md5=< !calculated_md5_file! +if "!expected_md5!" neq "!actual_md5!" ( + echo - [Verify] !file! + echo md5 hash does not match, failing. + echo Expected: !expected_md5! + echo Calculated: !actual_md5! + exit /B -1 +) else ( + echo - [Verify] !file! Hash OK: !expected_md5! + exit /B 0 +) + REM ------------------------------------------------------------------------------------------------ :Move set src=%~1 diff --git a/win32_install_config.bat b/win32_install_config.bat index 31d7f80..f64d162 100644 --- a/win32_install_config.bat +++ b/win32_install_config.bat @@ -20,5 +20,6 @@ set install_ripgrep=1 set install_zig=1 REM Ethereum +set install_geth=1 set install_remix_ide=1 set install_solidity=1