Improve Windows converter downloading
This commit is contained in:
parent
cd7a67f4d3
commit
251e591abf
7
autodl_files/converter_windows
Normal file
7
autodl_files/converter_windows
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
https://uupdump.net/misc/7zr.exe
|
||||||
|
out=7zr.exe
|
||||||
|
checksum=sha-256=108ab5f1e36f2068e368fe97cd763c639e403cac8f511c6681eaf19fc585d814
|
||||||
|
|
||||||
|
https://uupdump.net/misc/uup-converter-wimlib.7z
|
||||||
|
out=uup-converter-wimlib.7z
|
||||||
|
checksum=sha-256=7f07dfc0fa041820746c55c2704fd18f8930b984ca472d2ac397a1c69f15f3af
|
@ -1,91 +0,0 @@
|
|||||||
<#
|
|
||||||
This was made because I refuse to continue taking part in the unwritten
|
|
||||||
PowerShell/Batch obfuscation contest.
|
|
||||||
#>
|
|
||||||
|
|
||||||
param (
|
|
||||||
[Parameter()]
|
|
||||||
[Switch]$ForDownload
|
|
||||||
)
|
|
||||||
|
|
||||||
<#
|
|
||||||
There are myths that some Windows versions do not work without this.
|
|
||||||
|
|
||||||
Since I can't be arsed to verify this, I'm just adding this to lower the number
|
|
||||||
of reports to which I would normally respond with "works on my machine".
|
|
||||||
#>
|
|
||||||
try {
|
|
||||||
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
|
|
||||||
} catch {
|
|
||||||
Write-Error "Outdated operating systems are not supported."
|
|
||||||
Exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
$filesDownload = @('aria2c.exe')
|
|
||||||
$filesConvert = @('aria2c.exe', '7zr.exe', 'uup-converter-wimlib.7z')
|
|
||||||
|
|
||||||
$urls = @{
|
|
||||||
'aria2c.exe' = 'https://uupdump.net/misc/aria2c.exe';
|
|
||||||
'7zr.exe' = 'https://uupdump.net/misc/7zr.exe';
|
|
||||||
'uup-converter-wimlib.7z' = 'https://uupdump.net/misc/uup-converter-wimlib.7z';
|
|
||||||
}
|
|
||||||
|
|
||||||
$hashes = @{
|
|
||||||
'aria2c.exe' = '0ae98794b3523634b0af362d6f8c04a9bbd32aeda959b72ca0e7fc24e84d2a66';
|
|
||||||
'7zr.exe' = '108ab5f1e36f2068e368fe97cd763c639e403cac8f511c6681eaf19fc585d814';
|
|
||||||
'uup-converter-wimlib.7z' = '7f07dfc0fa041820746c55c2704fd18f8930b984ca472d2ac397a1c69f15f3af';
|
|
||||||
}
|
|
||||||
|
|
||||||
function Retrieve-File {
|
|
||||||
param (
|
|
||||||
[String]$File,
|
|
||||||
[String]$Url
|
|
||||||
)
|
|
||||||
|
|
||||||
Write-Host -BackgroundColor Black -ForegroundColor Yellow "Downloading ${File}..."
|
|
||||||
Invoke-WebRequest -UseBasicParsing -Uri $Url -OutFile "files\$File" -ErrorAction Stop
|
|
||||||
}
|
|
||||||
|
|
||||||
function Test-Hash {
|
|
||||||
param (
|
|
||||||
[String]$File,
|
|
||||||
[String]$Hash
|
|
||||||
)
|
|
||||||
|
|
||||||
Write-Host -BackgroundColor Black -ForegroundColor Cyan "Verifying ${File}..."
|
|
||||||
|
|
||||||
$fileHash = (Get-FileHash -Path "files\$File" -Algorithm SHA256 -ErrorAction Stop).Hash
|
|
||||||
return ($fileHash.ToLower() -eq $Hash)
|
|
||||||
}
|
|
||||||
|
|
||||||
if($ForDownload.IsPresent) {
|
|
||||||
$files = $filesDownload
|
|
||||||
} else {
|
|
||||||
$files = $filesConvert
|
|
||||||
}
|
|
||||||
|
|
||||||
if(-not (Test-Path -PathType Container -Path "files")) {
|
|
||||||
$null = New-Item -Path "files" -ItemType Directory
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach($file in $files) {
|
|
||||||
try {
|
|
||||||
Retrieve-File -File $file -Url $urls[$file]
|
|
||||||
} catch {
|
|
||||||
Write-Host "Failed to download $file"
|
|
||||||
Write-Host $_
|
|
||||||
Exit 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Write-Host ""
|
|
||||||
|
|
||||||
foreach($file in $files) {
|
|
||||||
if(-not (Test-Hash -File $file -Hash $hashes[$file])) {
|
|
||||||
Write-Error "$file appears to be tampered with"
|
|
||||||
Exit 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Write-Host ""
|
|
||||||
Write-Host -BackgroundColor Black -ForegroundColor Green "It appears all the dependencies are ready."
|
|
64
autodl_files/get_aria2.ps1
Normal file
64
autodl_files/get_aria2.ps1
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
try {
|
||||||
|
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
|
||||||
|
} catch {
|
||||||
|
Write-Error "Outdated operating systems are not supported."
|
||||||
|
Exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
$file = 'aria2c.exe'
|
||||||
|
$url = 'https://uupdump.net/misc/aria2c.exe';
|
||||||
|
$hash = '0ae98794b3523634b0af362d6f8c04a9bbd32aeda959b72ca0e7fc24e84d2a66';
|
||||||
|
|
||||||
|
function Test-Existece {
|
||||||
|
param (
|
||||||
|
[String]$File
|
||||||
|
)
|
||||||
|
|
||||||
|
return Test-Path -PathType Leaf -Path "files\$File"
|
||||||
|
}
|
||||||
|
|
||||||
|
function Retrieve-File {
|
||||||
|
param (
|
||||||
|
[String]$File,
|
||||||
|
[String]$Url
|
||||||
|
)
|
||||||
|
|
||||||
|
Write-Host -BackgroundColor Black -ForegroundColor Yellow "Downloading ${File}..."
|
||||||
|
Invoke-WebRequest -UseBasicParsing -Uri $Url -OutFile "files\$File" -ErrorAction Stop
|
||||||
|
}
|
||||||
|
|
||||||
|
function Test-Hash {
|
||||||
|
param (
|
||||||
|
[String]$File,
|
||||||
|
[String]$Hash
|
||||||
|
)
|
||||||
|
|
||||||
|
Write-Host -BackgroundColor Black -ForegroundColor Cyan "Verifying ${File}..."
|
||||||
|
|
||||||
|
$fileHash = (Get-FileHash -Path "files\$File" -Algorithm SHA256 -ErrorAction Stop).Hash
|
||||||
|
return ($fileHash.ToLower() -eq $Hash)
|
||||||
|
}
|
||||||
|
|
||||||
|
if((Test-Existece -File $file) -and (Test-Hash -File $file -Hash $hash)) {
|
||||||
|
Write-Host -BackgroundColor Black -ForegroundColor Green "Ready."
|
||||||
|
Exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
if(-not (Test-Path -PathType Container -Path "files")) {
|
||||||
|
$null = New-Item -Path "files" -ItemType Directory
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
Retrieve-File -File $file -Url $url
|
||||||
|
} catch {
|
||||||
|
Write-Host "Failed to download $file"
|
||||||
|
Write-Host $_
|
||||||
|
Exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
if(-not (Test-Hash -File $file -Hash $hash)) {
|
||||||
|
Write-Error "$file appears to be tampered with"
|
||||||
|
Exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Host -BackgroundColor Black -ForegroundColor Green "Ready."
|
Loading…
Reference in New Issue
Block a user