Merge branch 'izk666-master-patch-29622' into 'master'

Enhanced script

See merge request librewolf-community/browser/windows!5
This commit is contained in:
izk666 2021-02-01 23:57:09 +00:00
commit ccf96064c4

View file

@ -1,30 +1,89 @@
# delete old things... Import-Module BitsTransfer
Remove-Item -Path firefox.exe -Force
Remove-Item -Path librewolf -Force
$ProgramName = "*Mozilla*Firefox*"
$installPath = Get-ChildItem "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*" | Where-Object { $_.getValue('DisplayName') -like $ProgramName } | ForEach-Object { $_.getValue('InstallLocation')}
# windows download version lastest win64 if (!$installPath) {
$url = "https://download.mozilla.org/?product=firefox-latest-ssl&os=win64"
# windows download version lastest win32 # Choose firefox flavor
#$url = "https://download.mozilla.org/?product=firefox-latest-ssl&os=win" write-host ""
write-host "1 - Download Firefox"
write-host "2 - Download Firefox Extended Support Release"
write-host ""
write-host "E - Exit"
write-host ""
write-host -nonewline "Type your choice and press Enter: "
$downloadfile = "$PSScriptRoot\firefox.exe" $choice = read-host
switch -Regex ( $choice ) {
1 { Write-Host "Firefox" -ForegroundColor Green; $url = "https://download.mozilla.org/?product=firefox-latest-ssl&os=win"}
2 {Write-Host "Firefox ESR" -ForegroundColor Green; $url = "https://download.mozilla.org/?product=firefox-esr-latest-ssl&os=win"}
default { exit }
}
if ([IntPtr]::size -eq 8) { # Check if the system is 64bit and download the correct version
$url += "64"
}
Write-Output "Downloading to $downloadfile" $downloadfile = "\FirefoxInstaller.exe"
Write-Output "Downloading firefox..."
Start-BitsTransfer -Source $url -Destination $downloadfile
# download firefox Write-Output ""
Invoke-WebRequest -Uri $url -outfile $downloadfile Write-Output "Installing Firefox. Please, follow the wizard"
Start-Process $downloadfile -NoNewWindow -Wait
Write-Output "Extracting $downloadfile to librewolf" # Check if firefox is running and close/kill
# extract with 7zip while ($firefox = Get-Process firefox -ErrorAction SilentlyContinue) {
& "$PSScriptRoot\7za.exe" x -olibrewolf .\firefox.exe $firefox.CloseMainWindow()
# kill after five seconds
Sleep 10
if (!$firefox.HasExited) {
$firefox | Stop-Process -Force
}
Sleep 3
}
# Check if firefox is installed
Remove-Item $downloadfile
$installPath = Get-ChildItem "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*" | Where-Object { $_.getValue('DisplayName') -like $ProgramName } | ForEach-Object { $_.getValue('InstallLocation')}
if (!$installPath) {
Write-Output "Firefox can't be located. Process can't continue"
exit
}
} else {Write-Host "Firefox is installed" }
while ($firefox = Get-Process firefox -ErrorAction SilentlyContinue) {
$firefox.CloseMainWindow()
# kill after five seconds
Sleep 5
if (!$firefox.HasExited) {
$firefox | Stop-Process -Force
}
Sleep 3
}
Write-Output "Delete files with privacy....." Write-Output "Delete files with privacy....."
# remove contact with mothership Remove-Item -Path $installPath\crashreporter.exe -Force
Remove-Item -Path librewolf\core\crashreporter.exe -Force Remove-Item -Path $installPath\updater.exe -Force
Remove-Item -Path librewolf\core\updater.exe -Force Remove-Item -Path $installPath\pingsender.exe -Force
Remove-Item -Path librewolf\core\pingsender.exe -Force
Write-Output "Extra privacy..."
$bytes = [System.IO.File]::ReadAllBytes("$installPath\omni.ja")
$hexString = [System.BitConverter]::ToString($bytes)
$offset = $hexString.IndexOf("3F-20-22-68-74-74-70-73-3A-2F-2F-66-69-72-65-66-6F-78-2E-73-65-74-74-69-6E-67-73-2E-73-65-72-76-69-63-65-73-2E-6D-6F-7A-69-6C-6C-61-2E-63-6F")
if ($offset -gt -1) {
$offset = $offset/3
For ($i=3; $i -le 50; $i++) {
$bytes[$offset+$i] = 32
}
[System.IO.File]::WriteAllBytes("$installPath\omni2.ja", $bytes)
Remove-Item -Path $installPath\omni.ja -Force
Rename-Item -Path $installPath\omni2.ja omni.ja
}
Write-Output "Copy librewolf settings" Write-Output "Copy librewolf settings"
Copy-Item -Path "$PSScriptRoot\settings\*" -Destination "$PSScriptRoot\librewolf\core" -Recurse -force $scriptPath = Split-Path -Path $MyInvocation.MyCommand.Path
Copy-Item "$scriptPath\settings\*" -Destination "$installPath" -Recurse -Force
Write-Output "Enjoy"