Code optimization

This commit is contained in:
amd64fox
2022-04-03 09:28:01 +03:00
parent e551f9b5e5
commit 4ea1373296
2 changed files with 163 additions and 335 deletions

View File

@@ -17,6 +17,61 @@ $spotx_new = $false
$block_update = $false $block_update = $false
$cache_install = $false $cache_install = $false
function incorrectValue {
Write-Host "Oops, an incorrect value, " -ForegroundColor Red -NoNewline
Write-Host "enter again through " -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host "3" -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host " 2" -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host " 1"
Start-Sleep -Milliseconds 1000
Clear-Host
}
function downloadScripts($param1) {
$web_Url_prev = "https://github.com/mrpond/BlockTheSpot/releases/latest/download/chrome_elf.zip", "https://download.scdn.co/SpotifySetup.exe"
$local_Url_prev = "$PWD\chrome_elf.zip", "$PWD\SpotifySetup.exe"
$web_name_file_prev = "chrome_elf.zip", "SpotifySetup.exe"
if ($param1 -eq "BTS") {
$web_Url = $web_Url_prev[0]
$local_Url = $local_Url_prev[0]
$web_name_file = $web_name_file_prev[0]
}
if ($param1 -eq "Desktop") {
$web_Url = $web_Url_prev[1]
$local_Url = $local_Url_prev[1]
$web_name_file = $web_name_file_prev[1]
}
try { $webClient.DownloadFile($web_Url, $local_Url) }
catch [System.Management.Automation.MethodInvocationException] {
Write-Host "Error downloading" $web_name_file -ForegroundColor RED
$Error[0].Exception
Write-Host ""
Write-Host "Will re-request in 5 seconds..."`n
Start-Sleep -Milliseconds 5000
try { $webClient.DownloadFile($web_Url, $local_Url) }
catch [System.Management.Automation.MethodInvocationException] {
Write-Host "Error again, script stopped" -ForegroundColor RED
$Error[0].Exception
Write-Host ""
Write-Host "Try to check your internet connection and run the installation again."`n
$tempDirectory = $PWD
Pop-Location
Start-Sleep -Milliseconds 200
Remove-Item -Recurse -LiteralPath $tempDirectory
exit
}
}
}
# Check Tls12 # Check Tls12
$tsl_check = [Net.ServicePointManager]::SecurityProtocol $tsl_check = [Net.ServicePointManager]::SecurityProtocol
@@ -40,17 +95,24 @@ $win8 = $win_os -match "\windows 8\b"
if ($win11 -or $win10 -or $win8_1 -or $win8) { if ($win11 -or $win10 -or $win8_1 -or $win8) {
# Remove Spotify Windows Store If Any # Remove Spotify Windows Store If Any
if (Get-AppxPackage -Name SpotifyAB.SpotifyMusic) { if (Get-AppxPackage -Name SpotifyAB.SpotifyMusic) {
Write-Host 'The Microsoft Store version of Spotify has been detected which is not supported.'`n Write-Host 'The Microsoft Store version of Spotify has been detected which is not supported.'`n
$ch = Read-Host -Prompt "Uninstall Spotify Windows Store edition (Y/N) " do {
if ($ch -eq 'y') { $ch = Read-Host -Prompt "Uninstall Spotify Windows Store edition (Y/N) "
Write-Host ""
if (!($ch -eq 'n' -or $ch -eq 'y')) {
incorrectValue
}
}
while ($ch -notmatch '^y$|^n$')
if ($ch -eq 'y') {
$ProgressPreference = 'SilentlyContinue' # Hiding Progress Bars $ProgressPreference = 'SilentlyContinue' # Hiding Progress Bars
Write-Host 'Uninstalling Spotify.'`n Write-Host 'Uninstalling Spotify...'`n
Get-AppxPackage -Name SpotifyAB.SpotifyMusic | Remove-AppxPackage Get-AppxPackage -Name SpotifyAB.SpotifyMusic | Remove-AppxPackage
} }
else { if ($ch -eq 'n') {
Read-Host "Exiting..." Read-Host "Exiting..."
exit exit
} }
} }
@@ -60,45 +122,11 @@ if ($win11 -or $win10 -or $win8_1 -or $win8) {
Push-Location -LiteralPath $env:TEMP Push-Location -LiteralPath $env:TEMP
New-Item -Type Directory -Name "BlockTheSpot-$(Get-Date -UFormat '%Y-%m-%d_%H-%M-%S')" | Convert-Path | Set-Location New-Item -Type Directory -Name "BlockTheSpot-$(Get-Date -UFormat '%Y-%m-%d_%H-%M-%S')" | Convert-Path | Set-Location
Write-Host 'Downloading latest patch BTS...'`n Write-Host 'Downloading latest patch BTS...'`n
$webClient = New-Object -TypeName System.Net.WebClient $webClient = New-Object -TypeName System.Net.WebClient
try {
$webClient.DownloadFile(
# Remote file URL
"https://github.com/mrpond/BlockTheSpot/releases/latest/download/chrome_elf.zip",
# Local file path
"$PWD\chrome_elf.zip"
)
}
catch [System.Management.Automation.MethodInvocationException] {
Write-Host "Error downloading chrome_elf.zip" -ForegroundColor RED
$Error[0].Exception
Write-Host ""
Write-Host "Will re-request in 5 seconds..."`n
Start-Sleep -Milliseconds 5000
try {
$webClient.DownloadFile( downloadScripts -param1 "BTS"
# Remote file URL
"https://github.com/mrpond/BlockTheSpot/releases/latest/download/chrome_elf.zip",
# Local file path
"$PWD\chrome_elf.zip"
)
}
catch [System.Management.Automation.MethodInvocationException] {
Write-Host "Error again, script stopped" -ForegroundColor RED
$Error[0].Exception
Write-Host ""
Write-Host "Try to check your internet connection and run the installation again."`n
$tempDirectory = $PWD
Pop-Location
Start-Sleep -Milliseconds 200
Remove-Item -Recurse -LiteralPath $tempDirectory
exit
}
}
Add-Type -Assembly 'System.IO.Compression.FileSystem' Add-Type -Assembly 'System.IO.Compression.FileSystem'
$zip = [System.IO.Compression.ZipFile]::Open("$PWD\chrome_elf.zip", 'read') $zip = [System.IO.Compression.ZipFile]::Open("$PWD\chrome_elf.zip", 'read')
@@ -107,50 +135,12 @@ $zip.Dispose()
Remove-Item -LiteralPath "$PWD\chrome_elf.zip" Remove-Item -LiteralPath "$PWD\chrome_elf.zip"
try { downloadScripts -param1 "Desktop"
$webClient.DownloadFile(
# Remote file URL
'https://download.scdn.co/SpotifySetup.exe',
# Local file path
"$PWD\SpotifySetup.exe"
)
}
catch [System.Management.Automation.MethodInvocationException] {
Write-Host "Error downloading SpotifySetup.exe" -ForegroundColor RED
$Error[0].Exception
Write-Host ""
Write-Host "Will re-request in 5 seconds..."`n
Start-Sleep -Milliseconds 5000
try {
$webClient.DownloadFile(
# Remote file URL
'https://download.scdn.co/SpotifySetup.exe',
# Local file path
"$PWD\SpotifySetup.exe"
)
}
catch [System.Management.Automation.MethodInvocationException] {
Write-Host "Error again, script stopped" -ForegroundColor RED
$Error[0].Exception
Write-Host ""
Write-Host "Try to check your internet connection and run the installation again."`n
$tempDirectory = $PWD
Pop-Location
Start-Sleep -Milliseconds 200
Remove-Item -Recurse -LiteralPath $tempDirectory
exit
}
}
$spotifyInstalled = (Test-Path -LiteralPath $spotifyExecutable) $spotifyInstalled = (Test-Path -LiteralPath $spotifyExecutable)
if ($spotifyInstalled) { if ($spotifyInstalled) {
# Check last version Spotify online # Check last version Spotify online
$version_client_check = (get-item $PWD\SpotifySetup.exe).VersionInfo.ProductVersion $version_client_check = (get-item $PWD\SpotifySetup.exe).VersionInfo.ProductVersion
$online_version = $version_client_check -split '.\w\w\w\w\w\w\w\w\w' $online_version = $version_client_check -split '.\w\w\w\w\w\w\w\w\w'
@@ -159,25 +149,12 @@ if ($spotifyInstalled) {
# Check last version Spotify ofline # Check last version Spotify ofline
$ofline_version = (Get-Item $spotifyExecutable).VersionInfo.FileVersion $ofline_version = (Get-Item $spotifyExecutable).VersionInfo.FileVersion
if ($online_version -gt $ofline_version) { if ($online_version -gt $ofline_version) {
do { do {
$ch = Read-Host -Prompt "Your Spotify $ofline_version version is outdated, it is recommended to upgrade to $online_version `nWant to update ? (Y/N)" $ch = Read-Host -Prompt "Your Spotify $ofline_version version is outdated, it is recommended to upgrade to $online_version `nWant to update ? (Y/N)"
Write-Host "" Write-Host ""
if (!($ch -eq 'n' -or $ch -eq 'y')) { if (!($ch -eq 'n' -or $ch -eq 'y')) {
incorrectValue
Write-Host "Oops, an incorrect value, " -ForegroundColor Red -NoNewline
Write-Host "enter again through..." -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host "3" -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host ".2" -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host ".1"
Start-Sleep -Milliseconds 1000
Clear-Host
} }
} }
while ($ch -notmatch '^y$|^n$') while ($ch -notmatch '^y$|^n$')
@@ -185,7 +162,6 @@ if ($spotifyInstalled) {
} }
} }
# If there is no client or it is outdated, then install # If there is no client or it is outdated, then install
if (-not $spotifyInstalled -or $upgrade_client) { if (-not $spotifyInstalled -or $upgrade_client) {
@@ -195,8 +171,7 @@ if (-not $spotifyInstalled -or $upgrade_client) {
Write-Host "Downloading and installing Spotify " -NoNewline Write-Host "Downloading and installing Spotify " -NoNewline
Write-Host $version_client -ForegroundColor Green Write-Host $version_client -ForegroundColor Green
Write-Host "Please wait..."`n Write-Host "Please wait..."`n
# Try deleting chrome_elf files if Spotify folder exists # Try deleting chrome_elf files if Spotify folder exists
if (Test-Path -LiteralPath $spotifyDirectory) { if (Test-Path -LiteralPath $spotifyDirectory) {
$ErrorActionPreference = 'SilentlyContinue' # extinguishes light mistakes $ErrorActionPreference = 'SilentlyContinue' # extinguishes light mistakes
@@ -214,9 +189,8 @@ if (-not $spotifyInstalled -or $upgrade_client) {
Stop-Process -Name SpotifyWebHelper Stop-Process -Name SpotifyWebHelper
Stop-Process -Name SpotifyFullSetup Stop-Process -Name SpotifyFullSetup
$ErrorActionPreference = 'SilentlyContinue' # extinguishes light mistakes
# Remove Spotify installer # Remove Spotify installer
$ErrorActionPreference = 'SilentlyContinue' # extinguishes light mistakes
if (test-path "$env:LOCALAPPDATA\Microsoft\Windows\Temporary Internet Files\") { if (test-path "$env:LOCALAPPDATA\Microsoft\Windows\Temporary Internet Files\") {
get-childitem -path "$env:LOCALAPPDATA\Microsoft\Windows\Temporary Internet Files\" -Recurse -Force -Filter "SpotifyFullSetup*" | remove-item -Force get-childitem -path "$env:LOCALAPPDATA\Microsoft\Windows\Temporary Internet Files\" -Recurse -Force -Filter "SpotifyFullSetup*" | remove-item -Force
} }
@@ -225,28 +199,16 @@ if (-not $spotifyInstalled -or $upgrade_client) {
} }
} }
# Create backup chrome_elf.dll # Create backup chrome_elf.dll
if (!(Test-Path -LiteralPath $chrome_elf_bak)) { if (!(Test-Path -LiteralPath $chrome_elf_bak)) {
Move-Item $chrome_elf $chrome_elf_bak Move-Item $chrome_elf $chrome_elf_bak
} }
do { do {
$ch = Read-Host -Prompt "Want to turn off podcasts ? (Y/N)" $ch = Read-Host -Prompt "Want to turn off podcasts ? (Y/N)"
Write-Host "" Write-Host ""
if (!($ch -eq 'n' -or $ch -eq 'y')) { if (!($ch -eq 'n' -or $ch -eq 'y')) {
incorrectValue
Write-Host "Oops, an incorrect value, " -ForegroundColor Red -NoNewline
Write-Host "enter again through..." -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host "3" -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host ".2" -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host ".1"
Start-Sleep -Milliseconds 1000
Clear-Host
} }
} }
while ($ch -notmatch '^y$|^n$') while ($ch -notmatch '^y$|^n$')
@@ -257,17 +219,7 @@ do {
$ch = Read-Host -Prompt "Want to block updates ? (Y/N)" $ch = Read-Host -Prompt "Want to block updates ? (Y/N)"
Write-Host "" Write-Host ""
if (!($ch -eq 'n' -or $ch -eq 'y')) { if (!($ch -eq 'n' -or $ch -eq 'y')) {
incorrectValue
Write-Host "Oops, an incorrect value, " -ForegroundColor Red -NoNewline
Write-Host "enter again through..." -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host "3" -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host ".2" -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host ".1"
Start-Sleep -Milliseconds 1000
Clear-Host
} }
} }
while ($ch -notmatch '^y$|^n$') while ($ch -notmatch '^y$|^n$')
@@ -278,16 +230,7 @@ do {
$ch = Read-Host -Prompt "Want to set up automatic cache cleanup? (Y/N)" $ch = Read-Host -Prompt "Want to set up automatic cache cleanup? (Y/N)"
Write-Host "" Write-Host ""
if (!($ch -eq 'n' -or $ch -eq 'y')) { if (!($ch -eq 'n' -or $ch -eq 'y')) {
Write-Host "Oops, an incorrect value, " -ForegroundColor Red -NoNewline incorrectValue
Write-Host "enter again through..." -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host "3" -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host ".2" -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host ".1"
Start-Sleep -Milliseconds 1000
Clear-Host
} }
} }
while ($ch -notmatch '^y$|^n$') while ($ch -notmatch '^y$|^n$')
@@ -299,33 +242,23 @@ if ($ch -eq 'y') {
Enter the number of days from 1 to 100" Enter the number of days from 1 to 100"
Write-Host "" Write-Host ""
if (!($ch -match "^[1-9][0-9]?$|^100$")) { if (!($ch -match "^[1-9][0-9]?$|^100$")) {
Write-Host "Oops, an incorrect value, " -ForegroundColor Red -NoNewline incorrectValue
Write-Host "enter again through..." -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host "3" -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host ".2" -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host ".1"
Start-Sleep -Milliseconds 1000
Clear-Host
} }
} }
while ($ch -notmatch '^[1-9][0-9]?$|^100$') while ($ch -notmatch '^[1-9][0-9]?$|^100$')
if ($ch -match "^[1-9][0-9]?$|^100$") { $number_days = $ch } if ($ch -match "^[1-9][0-9]?$|^100$") { $number_days = $ch }
} }
function OffUpdStatus { function OffUpdStatus {
# Remove the label about the new version # Remove the label about the new version
$upgrade_status = "sp://desktop/v1/upgrade/status" $upgrade_status = "sp://desktop/v1/upgrade/status"
if ($xpui_js -match $upgrade_status) { $xpui_js = $xpui_js -replace $upgrade_status, "" } else { Write-Host "Didn't find variable " -ForegroundColor red -NoNewline; Write-Host "`$upgrade_status in xpui.js" } if ($xpui_js -match $upgrade_status) { $xpui_js = $xpui_js -replace $upgrade_status, "" } else { Write-Host "Didn't find variable " -ForegroundColor red -NoNewline; Write-Host "`$upgrade_status in xpui.js" }
$xpui_js $xpui_js
} }
function OffPodcasts { function OffPodcasts {
# Turn off podcasts # Turn off podcasts
$podcasts_off1 = 'album,playlist,artist,show,station,episode', 'album,playlist,artist,station' $podcasts_off1 = 'album,playlist,artist,show,station,episode', 'album,playlist,artist,station'
$podcasts_off2 = ',this[.]enableShows=[a-z]' $podcasts_off2 = ',this[.]enableShows=[a-z]'
@@ -339,7 +272,6 @@ function OffAdsOnFullscreen {
$empty_block_ad = 'adsEnabled:!0', 'adsEnabled:!1' $empty_block_ad = 'adsEnabled:!0', 'adsEnabled:!1'
# Full screen mode activation and removing "Upgrade to premium" menu, upgrade button # Full screen mode activation and removing "Upgrade to premium" menu, upgrade button
$ofline_version2 = (Get-Item $spotifyExecutable).VersionInfo.FileVersion $ofline_version2 = (Get-Item $spotifyExecutable).VersionInfo.FileVersion
if ($ofline_version2 -ge "1.1.80.699") { if ($ofline_version2 -ge "1.1.80.699") {
@@ -367,6 +299,7 @@ function OffAdsOnFullscreen {
$xpui_js $xpui_js
} }
function ExpFeature { function ExpFeature {
# Experimental Feature # Experimental Feature
$exp_features1 = '(Show "Made For You" entry point in the left sidebar.,default:)(!1)', '$1!0' $exp_features1 = '(Show "Made For You" entry point in the left sidebar.,default:)(!1)', '$1!0'
$exp_features2 = '(Enable the new Search with chips experience",default:)(!1)', '$1!0' $exp_features2 = '(Enable the new Search with chips experience",default:)(!1)', '$1!0'
@@ -390,8 +323,8 @@ function ExpFeature {
} }
function ContentsHtml { function ContentsHtml {
# licenses.html minification # licenses.html minification
$html_lic_min1 = '<li><a href="#6eef7">zlib<\/a><\/li>\n(.|\n)*<\/p><!-- END CONTAINER DEPS LICENSES -->(<\/div>)' $html_lic_min1 = '<li><a href="#6eef7">zlib<\/a><\/li>\n(.|\n)*<\/p><!-- END CONTAINER DEPS LICENSES -->(<\/div>)'
$html_lic_min2 = " " $html_lic_min2 = " "
$html_lic_min3 = " " $html_lic_min3 = " "
@@ -415,8 +348,6 @@ Copy-Item -LiteralPath $patchFiles -Destination "$spotifyDirectory"
$tempDirectory = $PWD $tempDirectory = $PWD
Pop-Location Pop-Location
Start-Sleep -Milliseconds 200 Start-Sleep -Milliseconds 200
Remove-Item -Recurse -LiteralPath $tempDirectory Remove-Item -Recurse -LiteralPath $tempDirectory
@@ -436,7 +367,6 @@ if ($test_spa -and $test_js) {
if (Test-Path $xpui_js_patch) { if (Test-Path $xpui_js_patch) {
Write-Host "Spicetify detected"`n Write-Host "Spicetify detected"`n
$reader = New-Object -TypeName System.IO.StreamReader -ArgumentList $xpui_js_patch $reader = New-Object -TypeName System.IO.StreamReader -ArgumentList $xpui_js_patch
$xpui_js = $reader.ReadToEnd() $xpui_js = $reader.ReadToEnd()
$reader.Close() $reader.Close()
@@ -446,7 +376,6 @@ if (Test-Path $xpui_js_patch) {
Copy-Item $xpui_js_patch "$xpui_js_patch.bak" Copy-Item $xpui_js_patch "$xpui_js_patch.bak"
} }
# Remove the label about the new version # Remove the label about the new version
if ($block_update) { $xpui_js = OffUpdStatus } if ($block_update) { $xpui_js = OffUpdStatus }
@@ -478,7 +407,6 @@ if (Test-Path $xpui_js_patch) {
$writer.Close() $writer.Close()
} }
If (Test-Path $xpui_spa_patch) { If (Test-Path $xpui_spa_patch) {
# Make a backup copy of xpui.spa if it is original # Make a backup copy of xpui.spa if it is original
@@ -505,15 +433,12 @@ If (Test-Path $xpui_spa_patch) {
$xpui_js = $reader.ReadToEnd() $xpui_js = $reader.ReadToEnd()
$reader.Close() $reader.Close()
# Remove the label about the new version # Remove the label about the new version
if ($block_update) { $xpui_js = OffUpdStatus } if ($block_update) { $xpui_js = OffUpdStatus }
# Turn off podcasts # Turn off podcasts
if ($podcasts_off) { $xpui_js = OffPodcasts } if ($podcasts_off) { $xpui_js = OffPodcasts }
# Full screen mode activation and removing "Upgrade to premium" menu, upgrade button, disabling a playlist sponsor # Full screen mode activation and removing "Upgrade to premium" menu, upgrade button, disabling a playlist sponsor
$xpui_js = OffAdsOnFullscreen $xpui_js = OffAdsOnFullscreen
@@ -526,7 +451,6 @@ If (Test-Path $xpui_spa_patch) {
if ($spotx_new) { $writer.Write([System.Environment]::NewLine + '// Patched by SpotX') } if ($spotx_new) { $writer.Write([System.Environment]::NewLine + '// Patched by SpotX') }
$writer.Close() $writer.Close()
# vendor~xpui.js # vendor~xpui.js
$entry_vendor_xpui = $zip.GetEntry('vendor~xpui.js') $entry_vendor_xpui = $zip.GetEntry('vendor~xpui.js')
$reader = New-Object System.IO.StreamReader($entry_vendor_xpui.Open()) $reader = New-Object System.IO.StreamReader($entry_vendor_xpui.Open())
@@ -540,7 +464,6 @@ If (Test-Path $xpui_spa_patch) {
$writer.Write($xpuiContents_vendor) $writer.Write($xpuiContents_vendor)
$writer.Close() $writer.Close()
# xpui.css # xpui.css
$entry_xpui_css = $zip.GetEntry('xpui.css') $entry_xpui_css = $zip.GetEntry('xpui.css')
$reader = New-Object System.IO.StreamReader($entry_xpui_css.Open()) $reader = New-Object System.IO.StreamReader($entry_xpui_css.Open())
@@ -554,7 +477,6 @@ If (Test-Path $xpui_spa_patch) {
$writer.Write([System.Environment]::NewLine + ' .BKsbV2Xl786X9a09XROH {display: none}') $writer.Write([System.Environment]::NewLine + ' .BKsbV2Xl786X9a09XROH {display: none}')
$writer.Close() $writer.Close()
# js minification # js minification
$zip.Entries | Where-Object FullName -like '*.js' | ForEach-Object { $zip.Entries | Where-Object FullName -like '*.js' | ForEach-Object {
$readerjs = New-Object System.IO.StreamReader($_.Open()) $readerjs = New-Object System.IO.StreamReader($_.Open())
@@ -569,15 +491,12 @@ If (Test-Path $xpui_spa_patch) {
$writer.Close() $writer.Close()
} }
# *.Css # *.Css
$zip.Entries | Where-Object FullName -like '*.css' | ForEach-Object { $zip.Entries | Where-Object FullName -like '*.css' | ForEach-Object {
$readercss = New-Object System.IO.StreamReader($_.Open()) $readercss = New-Object System.IO.StreamReader($_.Open())
$xpuiContents_css = $readercss.ReadToEnd() $xpuiContents_css = $readercss.ReadToEnd()
$readercss.Close() $readercss.Close()
$xpuiContents_css = $xpuiContents_css ` $xpuiContents_css = $xpuiContents_css `
<# Remove RTL #>` <# Remove RTL #>`
-replace "}\[dir=ltr\]\s?([.a-zA-Z\d[_]+?,\[dir=ltr\])", '}[dir=str] $1' ` -replace "}\[dir=ltr\]\s?([.a-zA-Z\d[_]+?,\[dir=ltr\])", '}[dir=str] $1' `
@@ -654,7 +573,6 @@ If (Test-Path $xpui_spa_patch) {
$zip.Dispose() $zip.Dispose()
} }
# If the default Dekstop folder does not exist, then try to find it through the registry. # If the default Dekstop folder does not exist, then try to find it through the registry.
$ErrorActionPreference = 'SilentlyContinue' $ErrorActionPreference = 'SilentlyContinue'
@@ -687,7 +605,6 @@ If (!(Test-Path $env:USERPROFILE\Desktop\Spotify.lnk)) {
# Block updates # Block updates
$ErrorActionPreference = 'SilentlyContinue' $ErrorActionPreference = 'SilentlyContinue'
$update_directory = Test-Path -Path $env:LOCALAPPDATA\Spotify $update_directory = Test-Path -Path $env:LOCALAPPDATA\Spotify
$migrator_bak = Test-Path -Path $env:APPDATA\Spotify\SpotifyMigrator.bak $migrator_bak = Test-Path -Path $env:APPDATA\Spotify\SpotifyMigrator.bak
@@ -696,7 +613,6 @@ $Check_folder_file = Get-ItemProperty -Path $env:LOCALAPPDATA\Spotify\Update | S
$folder_update_access = Get-Acl $env:LOCALAPPDATA\Spotify\Update $folder_update_access = Get-Acl $env:LOCALAPPDATA\Spotify\Update
if ($block_update) { if ($block_update) {
# If there was a client installation # If there was a client installation
@@ -725,7 +641,6 @@ if ($block_update) {
# If the client has already been # If the client has already been
If ($update_directory) { If ($update_directory) {
# Delete the Update folder if it exists # Delete the Update folder if it exists
if ($Check_folder_file -match '\bDirectory\b') { if ($Check_folder_file -match '\bDirectory\b') {
@@ -761,8 +676,6 @@ if ($block_update) {
# automatic cache clearing # automatic cache clearing
if ($cache_install) { if ($cache_install) {
$test_cache_folder = Test-Path -Path $env:APPDATA\Spotify\cache $test_cache_folder = Test-Path -Path $env:APPDATA\Spotify\cache
@@ -773,7 +686,6 @@ if ($cache_install) {
Start-Sleep -Milliseconds 200 Start-Sleep -Milliseconds 200
New-Item -Path $env:APPDATA\Spotify\ -Name "cache" -ItemType "directory" | Out-Null New-Item -Path $env:APPDATA\Spotify\ -Name "cache" -ItemType "directory" | Out-Null
# cache-spotify.ps1 # cache-spotify.ps1
@@ -785,7 +697,6 @@ if ($cache_install) {
# run_ps.bat # run_ps.bat
$webClient.DownloadFile('https://raw.githubusercontent.com/amd64fox/SpotX/main/Cache/run_ps.bat', "$env:APPDATA\Spotify\cache\run_ps.bat") $webClient.DownloadFile('https://raw.githubusercontent.com/amd64fox/SpotX/main/Cache/run_ps.bat', "$env:APPDATA\Spotify\cache\run_ps.bat")
# Spotify.lnk # Spotify.lnk
$source2 = "$env:APPDATA\Spotify\cache\hide_window.vbs" $source2 = "$env:APPDATA\Spotify\cache\hide_window.vbs"
$target2 = "$desktop_folder\Spotify.lnk" $target2 = "$desktop_folder\Spotify.lnk"
@@ -797,7 +708,6 @@ if ($cache_install) {
$Shortcut2.TargetPath = $source2 $Shortcut2.TargetPath = $source2
$Shortcut2.Save() $Shortcut2.Save()
if ($number_days -match "^[1-9][0-9]?$|^100$") { if ($number_days -match "^[1-9][0-9]?$|^100$") {
$file_cache_spotify_ps1 = Get-Content $env:APPDATA\Spotify\cache\cache-spotify.ps1 -Raw $file_cache_spotify_ps1 = Get-Content $env:APPDATA\Spotify\cache\cache-spotify.ps1 -Raw
$new_file_cache_spotify_ps1 = $file_cache_spotify_ps1 -replace '7', $number_days $new_file_cache_spotify_ps1 = $file_cache_spotify_ps1 -replace '7', $number_days
@@ -822,7 +732,6 @@ if ($cache_install) {
Remove-item $infile -Recurse -Force Remove-item $infile -Recurse -Force
Rename-Item -path $outfile -NewName $infile Rename-Item -path $outfile -NewName $infile
Write-Host "installation completed"`n -ForegroundColor Green Write-Host "installation completed"`n -ForegroundColor Green
exit exit
} }

View File

@@ -17,6 +17,61 @@ $spotx_new = $false
$block_update = $false $block_update = $false
$cache_install = $false $cache_install = $false
function incorrectValue {
Write-Host "Ой, некорректное значение, " -ForegroundColor Red -NoNewline
Write-Host "повторите ввод через " -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host "3" -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host " 2" -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host " 1"
Start-Sleep -Milliseconds 1000
Clear-Host
}
function downloadScripts($param1) {
$web_Url_prev = "https://github.com/mrpond/BlockTheSpot/releases/latest/download/chrome_elf.zip", "https://download.scdn.co/SpotifySetup.exe"
$local_Url_prev = "$PWD\chrome_elf.zip", "$PWD\SpotifySetup.exe"
$web_name_file_prev = "chrome_elf.zip", "SpotifySetup.exe"
if ($param1 -eq "BTS") {
$web_Url = $web_Url_prev[0]
$local_Url = $local_Url_prev[0]
$web_name_file = $web_name_file_prev[0]
}
if ($param1 -eq "Desktop") {
$web_Url = $web_Url_prev[1]
$local_Url = $local_Url_prev[1]
$web_name_file = $web_name_file_prev[1]
}
try { $webClient.DownloadFile($web_Url, $local_Url) }
catch [System.Management.Automation.MethodInvocationException] {
Write-Host "Ошибка загрузки" $web_name_file -ForegroundColor RED
$Error[0].Exception
Write-Host ""
Write-Host "Повторный запрос через 5 секунд..."`n
Start-Sleep -Milliseconds 5000
try { $webClient.DownloadFile($web_Url, $local_Url) }
catch [System.Management.Automation.MethodInvocationException] {
Write-Host "Опять ошибка, скрипт остановлен" -ForegroundColor RED
$Error[0].Exception
Write-Host ""
Write-Host "Попробуйте проверить подключение к интернету и снова запустить установку."`n
$tempDirectory = $PWD
Pop-Location
Start-Sleep -Milliseconds 200
Remove-Item -Recurse -LiteralPath $tempDirectory
exit
}
}
}
# чек сертификата Tls12 # чек сертификата Tls12
$tsl_check = [Net.ServicePointManager]::SecurityProtocol $tsl_check = [Net.ServicePointManager]::SecurityProtocol
@@ -43,13 +98,20 @@ if ($win11 -or $win10 -or $win8_1 -or $win8) {
# Удалить Spotify Windows Store если он есть # Удалить Spotify Windows Store если он есть
if (Get-AppxPackage -Name SpotifyAB.SpotifyMusic) { if (Get-AppxPackage -Name SpotifyAB.SpotifyMusic) {
Write-Host 'Обнаружена версия Spotify из Microsoft Store, которая не поддерживается.'`n Write-Host 'Обнаружена версия Spotify из Microsoft Store, которая не поддерживается.'`n
$ch = Read-Host -Prompt "Хотите удалить Spotify Microsoft Store ? (Y/N) " do {
if ($ch -eq 'y') { $ch = Read-Host -Prompt "Хотите удалить Spotify Microsoft Store ? (Y/N) "
Write-Host ""
if (!($ch -eq 'n' -or $ch -eq 'y')) {
incorrectValue
}
}
while ($ch -notmatch '^y$|^n$')
if ($ch -eq 'y') {
$ProgressPreference = 'SilentlyContinue' # Скрывает Progress Bars $ProgressPreference = 'SilentlyContinue' # Скрывает Progress Bars
Write-Host 'Удаление Spotify.'`n Write-Host 'Удаление Spotify...'`n
Get-AppxPackage -Name SpotifyAB.SpotifyMusic | Remove-AppxPackage Get-AppxPackage -Name SpotifyAB.SpotifyMusic | Remove-AppxPackage
} }
else { if ($ch -eq 'n') {
Read-Host "Завершение работы скрипта..." Read-Host "Завершение работы скрипта..."
exit exit
} }
@@ -60,45 +122,11 @@ if ($win11 -or $win10 -or $win8_1 -or $win8) {
Push-Location -LiteralPath $env:TEMP Push-Location -LiteralPath $env:TEMP
New-Item -Type Directory -Name "BlockTheSpot-$(Get-Date -UFormat '%Y-%m-%d_%H-%M-%S')" | Convert-Path | Set-Location New-Item -Type Directory -Name "BlockTheSpot-$(Get-Date -UFormat '%Y-%m-%d_%H-%M-%S')" | Convert-Path | Set-Location
Write-Host 'Загружаю последний патч BTS...'`n Write-Host 'Загружаю последний патч BTS...'`n
$webClient = New-Object -TypeName System.Net.WebClient $webClient = New-Object -TypeName System.Net.WebClient
try {
$webClient.DownloadFile(
# Remote file URL
"https://github.com/mrpond/BlockTheSpot/releases/latest/download/chrome_elf.zip",
# Local file path
"$PWD\chrome_elf.zip"
)
}
catch [System.Management.Automation.MethodInvocationException] {
Write-Host "Ошибка загрузки chrome_elf.zip" -ForegroundColor RED
$Error[0].Exception
Write-Host ""
Write-Host "Повторный запрос через 5 секунд..."`n
Start-Sleep -Milliseconds 5000
try {
$webClient.DownloadFile( downloadScripts -param1 "BTS"
# Remote file URL
"https://github.com/mrpond/BlockTheSpot/releases/latest/download/chrome_elf.zip",
# Local file path
"$PWD\chrome_elf.zip"
)
}
catch [System.Management.Automation.MethodInvocationException] {
Write-Host "Опять ошибка, скрипт остановлен" -ForegroundColor RED
$Error[0].Exception
Write-Host ""
Write-Host "Попробуйте проверить подключение к интернету и снова запустить установку."`n
$tempDirectory = $PWD
Pop-Location
Start-Sleep -Milliseconds 200
Remove-Item -Recurse -LiteralPath $tempDirectory
exit
}
}
Add-Type -Assembly 'System.IO.Compression.FileSystem' Add-Type -Assembly 'System.IO.Compression.FileSystem'
$zip = [System.IO.Compression.ZipFile]::Open("$PWD\chrome_elf.zip", 'read') $zip = [System.IO.Compression.ZipFile]::Open("$PWD\chrome_elf.zip", 'read')
@@ -107,50 +135,12 @@ $zip.Dispose()
Remove-Item -LiteralPath "$PWD\chrome_elf.zip" Remove-Item -LiteralPath "$PWD\chrome_elf.zip"
try { downloadScripts -param1 "Desktop"
$webClient.DownloadFile(
# Remote file URL
'https://download.scdn.co/SpotifySetup.exe',
# Local file path
"$PWD\SpotifySetup.exe"
)
}
catch [System.Management.Automation.MethodInvocationException] {
Write-Host "Ошибка загрузки SpotifySetup.exe" -ForegroundColor RED
$Error[0].Exception
Write-Host ""
Write-Host "Повторный запрос через 5 секунд..."`n
Start-Sleep -Milliseconds 5000
try {
$webClient.DownloadFile(
# Remote file URL
'https://download.scdn.co/SpotifySetup.exe',
# Local file path
"$PWD\SpotifySetup.exe"
)
}
catch [System.Management.Automation.MethodInvocationException] {
Write-Host "Опять ошибка, скрипт остановлен" -ForegroundColor RED
$Error[0].Exception
Write-Host ""
Write-Host "Попробуйте проверить подключение к интернету и снова запустить установку."`n
$tempDirectory = $PWD
Pop-Location
Start-Sleep -Milliseconds 200
Remove-Item -Recurse -LiteralPath $tempDirectory
exit
}
}
$spotifyInstalled = (Test-Path -LiteralPath $spotifyExecutable) $spotifyInstalled = (Test-Path -LiteralPath $spotifyExecutable)
if ($spotifyInstalled) { if ($spotifyInstalled) {
# Проверка последней версии Spotify онлайн # Проверка последней версии Spotify онлайн
$version_client_check = (get-item $PWD\SpotifySetup.exe).VersionInfo.ProductVersion $version_client_check = (get-item $PWD\SpotifySetup.exe).VersionInfo.ProductVersion
$online_version = $version_client_check -split '.\w\w\w\w\w\w\w\w\w' $online_version = $version_client_check -split '.\w\w\w\w\w\w\w\w\w'
@@ -159,25 +149,12 @@ if ($spotifyInstalled) {
# Проверка последней версии Spotify офлайн # Проверка последней версии Spotify офлайн
$ofline_version = (Get-Item $spotifyExecutable).VersionInfo.FileVersion $ofline_version = (Get-Item $spotifyExecutable).VersionInfo.FileVersion
if ($online_version -gt $ofline_version) { if ($online_version -gt $ofline_version) {
do { do {
$ch = Read-Host -Prompt "Ваша версия Spotify $ofline_version устарела, рекомендуется обновиться до $online_version `nОбновить ? (Y/N)" $ch = Read-Host -Prompt "Ваша версия Spotify $ofline_version устарела, рекомендуется обновиться до $online_version `nОбновить ? (Y/N)"
Write-Host "" Write-Host ""
if (!($ch -eq 'n' -or $ch -eq 'y')) { if (!($ch -eq 'n' -or $ch -eq 'y')) {
incorrectValue
Write-Host "Ой, некорректное значение, " -ForegroundColor Red -NoNewline
Write-Host "повторите ввод через..." -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host "3" -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host ".2" -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host ".1"
Start-Sleep -Milliseconds 1000
Clear-Host
} }
} }
while ($ch -notmatch '^y$|^n$') while ($ch -notmatch '^y$|^n$')
@@ -185,7 +162,6 @@ if ($spotifyInstalled) {
} }
} }
# Если клиента нет или он устарел, то начинаем установку/обновление # Если клиента нет или он устарел, то начинаем установку/обновление
if (-not $spotifyInstalled -or $upgrade_client) { if (-not $spotifyInstalled -or $upgrade_client) {
@@ -196,7 +172,6 @@ if (-not $spotifyInstalled -or $upgrade_client) {
Write-Host $version_client -ForegroundColor Green Write-Host $version_client -ForegroundColor Green
Write-Host "Пожалуйста подождите......"`n Write-Host "Пожалуйста подождите......"`n
# Попробовать удалить файлы chrome_elf если существует папка Spotify # Попробовать удалить файлы chrome_elf если существует папка Spotify
if (Test-Path -LiteralPath $spotifyDirectory) { if (Test-Path -LiteralPath $spotifyDirectory) {
$ErrorActionPreference = 'SilentlyContinue' # Команда гасит легкие ошибки $ErrorActionPreference = 'SilentlyContinue' # Команда гасит легкие ошибки
@@ -229,24 +204,11 @@ if (-not $spotifyInstalled -or $upgrade_client) {
if (!(Test-Path -LiteralPath $chrome_elf_bak)) { if (!(Test-Path -LiteralPath $chrome_elf_bak)) {
Move-Item $chrome_elf $chrome_elf_bak Move-Item $chrome_elf $chrome_elf_bak
} }
do { do {
$ch = Read-Host -Prompt "Хотите отключить подкасты ? (Y/N)" $ch = Read-Host -Prompt "Хотите отключить подкасты ? (Y/N)"
Write-Host "" Write-Host ""
if (!($ch -eq 'n' -or $ch -eq 'y')) { if (!($ch -eq 'n' -or $ch -eq 'y')) {
incorrectValue
Write-Host "Ой, некорректное значение, " -ForegroundColor Red -NoNewline
Write-Host "повторите ввод через..." -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host "3" -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host ".2" -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host ".1"
Start-Sleep -Milliseconds 1000
Clear-Host
} }
} }
while ($ch -notmatch '^y$|^n$') while ($ch -notmatch '^y$|^n$')
@@ -257,17 +219,7 @@ do {
$ch = Read-Host -Prompt "Хотите заблокировать обновления ? (Y/N)" $ch = Read-Host -Prompt "Хотите заблокировать обновления ? (Y/N)"
Write-Host "" Write-Host ""
if (!($ch -eq 'n' -or $ch -eq 'y')) { if (!($ch -eq 'n' -or $ch -eq 'y')) {
incorrectValue
Write-Host "Ой, некорректное значение, " -ForegroundColor Red -NoNewline
Write-Host "повторите ввод через..." -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host "3" -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host ".2" -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host ".1"
Start-Sleep -Milliseconds 1000
Clear-Host
} }
} }
while ($ch -notmatch '^y$|^n$') while ($ch -notmatch '^y$|^n$')
@@ -278,16 +230,7 @@ do {
$ch = Read-Host -Prompt "Хотите установить автоматическую очистку кеша ? (Y/N)" $ch = Read-Host -Prompt "Хотите установить автоматическую очистку кеша ? (Y/N)"
Write-Host "" Write-Host ""
if (!($ch -eq 'n' -or $ch -eq 'y')) { if (!($ch -eq 'n' -or $ch -eq 'y')) {
Write-Host "Ой, некорректное значение, " -ForegroundColor Red -NoNewline incorrectValue
Write-Host "повторите ввод через..." -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host "3" -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host ".2" -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host ".1"
Start-Sleep -Milliseconds 1000
Clear-Host
} }
} }
while ($ch -notmatch '^y$|^n$') while ($ch -notmatch '^y$|^n$')
@@ -299,17 +242,7 @@ if ($ch -eq 'y') {
Пожалуйста, введите количество дней от 1 до 100" Пожалуйста, введите количество дней от 1 до 100"
Write-Host "" Write-Host ""
if (!($ch -match "^[1-9][0-9]?$|^100$")) { if (!($ch -match "^[1-9][0-9]?$|^100$")) {
Write-Host "Ой, некорректное значение, " -ForegroundColor Red -NoNewline incorrectValue
Write-Host "повторите ввод через..." -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host "3" -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host ".2" -NoNewline
Start-Sleep -Milliseconds 1000
Write-Host ".1"
Start-Sleep -Milliseconds 1000
Clear-Host
} }
} }
while ($ch -notmatch '^[1-9][0-9]?$|^100$') while ($ch -notmatch '^[1-9][0-9]?$|^100$')
@@ -317,14 +250,15 @@ if ($ch -eq 'y') {
if ($ch -match "^[1-9][0-9]?$|^100$") { $number_days = $ch } if ($ch -match "^[1-9][0-9]?$|^100$") { $number_days = $ch }
} }
function OffUpdStatus { function OffUpdStatus {
# Удалить надпись о новой версии # Удалить надпись о новой версии
$upgrade_status = "sp://desktop/v1/upgrade/status" $upgrade_status = "sp://desktop/v1/upgrade/status"
if ($xpui_js -match $upgrade_status) { $xpui_js = $xpui_js -replace $upgrade_status, "" } else { Write-Host "Не нашел " -ForegroundColor red -NoNewline; Write-Host "переменную `$upgrade_status в xpui.js" } if ($xpui_js -match $upgrade_status) { $xpui_js = $xpui_js -replace $upgrade_status, "" } else { Write-Host "Не нашел " -ForegroundColor red -NoNewline; Write-Host "переменную `$upgrade_status в xpui.js" }
$xpui_js $xpui_js
} }
function OffPodcasts { function OffPodcasts {
# Отключить подкасты # Отключить подкасты
$podcasts_off1 = 'album,playlist,artist,show,station,episode', 'album,playlist,artist,station' $podcasts_off1 = 'album,playlist,artist,show,station,episode', 'album,playlist,artist,station'
$podcasts_off2 = ',this[.]enableShows=[a-z]' $podcasts_off2 = ',this[.]enableShows=[a-z]'
@@ -338,7 +272,6 @@ function OffAdsOnFullscreen {
$empty_block_ad = 'adsEnabled:!0', 'adsEnabled:!1' $empty_block_ad = 'adsEnabled:!0', 'adsEnabled:!1'
# Активация полноэкранного режима, а также удаление кнопки и меню "Перейти на Premium" # Активация полноэкранного режима, а также удаление кнопки и меню "Перейти на Premium"
$ofline_version2 = (Get-Item $spotifyExecutable).VersionInfo.FileVersion $ofline_version2 = (Get-Item $spotifyExecutable).VersionInfo.FileVersion
if ($ofline_version2 -ge "1.1.80.699") { if ($ofline_version2 -ge "1.1.80.699") {
@@ -366,12 +299,14 @@ function OffAdsOnFullscreen {
$xpui_js $xpui_js
} }
function OffRujs { function OffRujs {
# Удалить из xpui.js все языки кроме En и Ru # Удалить из xpui.js все языки кроме En и Ru
$rus_js = '(JSON.parse\(.{)("en":"English \(English\)".*\(Vietnamese\)"})', '$1"en":"English (English)","ru":"Русский (Russian)"}' $rus_js = '(JSON.parse\(.{)("en":"English \(English\)".*\(Vietnamese\)"})', '$1"en":"English (English)","ru":"Русский (Russian)"}'
if ($xpui_js -match $rus_js[0]) { $xpui_js = $xpui_js -replace $rus_js[0], $rus_js[1] } else { Write-Host "Не нашел " -ForegroundColor red -NoNewline; Write-Host "переменную `$rus_js[0] в xpui.js" } if ($xpui_js -match $rus_js[0]) { $xpui_js = $xpui_js -replace $rus_js[0], $rus_js[1] } else { Write-Host "Не нашел " -ForegroundColor red -NoNewline; Write-Host "переменную `$rus_js[0] в xpui.js" }
$xpui_js $xpui_js
} }
function ExpFeature { function ExpFeature {
# Эксперементальные фишки # Эксперементальные фишки
$exp_features1 = '(Show "Made For You" entry point in the left sidebar.,default:)(!1)', '$1!0' $exp_features1 = '(Show "Made For You" entry point in the left sidebar.,default:)(!1)', '$1!0'
$exp_features2 = '(Enable the new Search with chips experience",default:)(!1)', '$1!0' $exp_features2 = '(Enable the new Search with chips experience",default:)(!1)', '$1!0'
@@ -395,6 +330,7 @@ function ExpFeature {
} }
function ContentsHtml { function ContentsHtml {
# Минификация html # Минификация html
$html_lic_min1 = '<li><a href="#6eef7">zlib<\/a><\/li>\n(.|\n)*<\/p><!-- END CONTAINER DEPS LICENSES -->(<\/div>)' $html_lic_min1 = '<li><a href="#6eef7">zlib<\/a><\/li>\n(.|\n)*<\/p><!-- END CONTAINER DEPS LICENSES -->(<\/div>)'
$html_lic_min2 = " " $html_lic_min2 = " "
@@ -410,6 +346,7 @@ function ContentsHtml {
} }
function RuTranslate { function RuTranslate {
# Доперевод некоторых слов для русского языка # Доперевод некоторых слов для русского языка
$ru_translate1 = '"one": "Enhanced with [{]0[}] recommended song."', '"one": "Добавлен {0} рекомендованный трек."' $ru_translate1 = '"one": "Enhanced with [{]0[}] recommended song."', '"one": "Добавлен {0} рекомендованный трек."'
$ru_translate2 = '"few": "Enhanced with [{]0[}] recommended songs."', '"few": "Добавлено {0} рекомендованных трека."' $ru_translate2 = '"few": "Enhanced with [{]0[}] recommended songs."', '"few": "Добавлено {0} рекомендованных трека."'
@@ -511,7 +448,6 @@ function RuTranslate {
Write-Host 'Модифицирую Spotify...'`n Write-Host 'Модифицирую Spotify...'`n
# Модифицируем файлы # Модифицируем файлы
$patchFiles = "$PWD\chrome_elf.dll", "$PWD\config.ini" $patchFiles = "$PWD\chrome_elf.dll", "$PWD\config.ini"
Copy-Item -LiteralPath $patchFiles -Destination "$spotifyDirectory" Copy-Item -LiteralPath $patchFiles -Destination "$spotifyDirectory"
@@ -526,7 +462,6 @@ $xpui_js_patch = "$env:APPDATA\Spotify\Apps\xpui\xpui.js"
$spa_test = Test-Path -LiteralPath "$env:APPDATA\Spotify\Apps\xpui.spa" $spa_test = Test-Path -LiteralPath "$env:APPDATA\Spotify\Apps\xpui.spa"
$js_test = Test-Path -LiteralPath "$env:APPDATA\Spotify\Apps\xpui\xpui.js" $js_test = Test-Path -LiteralPath "$env:APPDATA\Spotify\Apps\xpui\xpui.js"
if ($spa_test -and $js_test) { if ($spa_test -and $js_test) {
Write-Host "Ошибка" -ForegroundColor Red Write-Host "Ошибка" -ForegroundColor Red
Write-Host "Расположение файлов Spotify нарушено, удалите клиент и снова запустите скрипт." Write-Host "Расположение файлов Spotify нарушено, удалите клиент и снова запустите скрипт."
@@ -538,14 +473,11 @@ if ($spa_test -and $js_test) {
if (Test-Path $xpui_js_patch) { if (Test-Path $xpui_js_patch) {
Write-Host "Обнаружен Spicetify"`n Write-Host "Обнаружен Spicetify"`n
# Удалить все файлы кроме "en", "ru" и "__longest" # Удалить все файлы кроме "en", "ru" и "__longest"
$patch_lang = "$env:APPDATA\Spotify\Apps\xpui\i18n" $patch_lang = "$env:APPDATA\Spotify\Apps\xpui\i18n"
Remove-Item $patch_lang -Exclude *en*, *ru*, *__longest* -Recurse Remove-Item $patch_lang -Exclude *en*, *ru*, *__longest* -Recurse
$reader = New-Object -TypeName System.IO.StreamReader -ArgumentList $xpui_js_patch $reader = New-Object -TypeName System.IO.StreamReader -ArgumentList $xpui_js_patch
$xpui_js = $reader.ReadToEnd() $xpui_js = $reader.ReadToEnd()
$reader.Close() $reader.Close()
@@ -555,7 +487,6 @@ if (Test-Path $xpui_js_patch) {
Copy-Item $xpui_js_patch "$xpui_js_patch.bak" Copy-Item $xpui_js_patch "$xpui_js_patch.bak"
} }
# Удалить надпись о новой версии # Удалить надпись о новой версии
if ($block_update) { $xpui_js = OffUpdStatus } if ($block_update) { $xpui_js = OffUpdStatus }
@@ -818,7 +749,6 @@ If (Test-Path $xpui_spa_patch) {
$zip.Dispose() $zip.Dispose()
} }
# Удалить все файлы кроме "en" и "ru" # Удалить все файлы кроме "en" и "ru"
$patch_lang = "$spotifyDirectory\locales" $patch_lang = "$spotifyDirectory\locales"
@@ -854,9 +784,7 @@ If (!(Test-Path $env:USERPROFILE\Desktop\Spotify.lnk)) {
$Shortcut.Save() $Shortcut.Save()
} }
# Блокировка обновлений # Блокировка обновлений
$ErrorActionPreference = 'SilentlyContinue' $ErrorActionPreference = 'SilentlyContinue'
$update_directory = Test-Path -Path $env:LOCALAPPDATA\Spotify $update_directory = Test-Path -Path $env:LOCALAPPDATA\Spotify
$migrator_bak = Test-Path -Path $env:APPDATA\Spotify\SpotifyMigrator.bak $migrator_bak = Test-Path -Path $env:APPDATA\Spotify\SpotifyMigrator.bak
@@ -864,8 +792,6 @@ $migrator_exe = Test-Path -Path $env:APPDATA\Spotify\SpotifyMigrator.exe
$Check_folder_file = Get-ItemProperty -Path $env:LOCALAPPDATA\Spotify\Update | Select-Object Attributes $Check_folder_file = Get-ItemProperty -Path $env:LOCALAPPDATA\Spotify\Update | Select-Object Attributes
$folder_update_access = Get-Acl $env:LOCALAPPDATA\Spotify\Update $folder_update_access = Get-Acl $env:LOCALAPPDATA\Spotify\Update
if ($block_update) { if ($block_update) {
# Если была установка клиента # Если была установка клиента
@@ -894,7 +820,6 @@ if ($block_update) {
# Если клиент уже был # Если клиент уже был
If ($update_directory) { If ($update_directory) {
# Удалить папку Update если она есть # Удалить папку Update если она есть
if ($Check_folder_file -match '\bDirectory\b') { if ($Check_folder_file -match '\bDirectory\b') {
@@ -928,9 +853,7 @@ if ($block_update) {
} }
} }
# Автоматическая очистка кеша # Автоматическая очистка кеша
if ($cache_install) { if ($cache_install) {
$test_cache_folder = Test-Path -Path $env:APPDATA\Spotify\cache $test_cache_folder = Test-Path -Path $env:APPDATA\Spotify\cache
@@ -941,7 +864,6 @@ if ($cache_install) {
Start-Sleep -Milliseconds 200 Start-Sleep -Milliseconds 200
New-Item -Path $env:APPDATA\Spotify\ -Name "cache" -ItemType "directory" | Out-Null New-Item -Path $env:APPDATA\Spotify\ -Name "cache" -ItemType "directory" | Out-Null
# cache-spotify.ps1 # cache-spotify.ps1
@@ -953,7 +875,6 @@ if ($cache_install) {
# run_ps.bat # run_ps.bat
$webClient.DownloadFile('https://raw.githubusercontent.com/amd64fox/SpotX/main/Cache/run_ps.bat', "$env:APPDATA\Spotify\cache\run_ps.bat") $webClient.DownloadFile('https://raw.githubusercontent.com/amd64fox/SpotX/main/Cache/run_ps.bat', "$env:APPDATA\Spotify\cache\run_ps.bat")
# Spotify.lnk # Spotify.lnk
$source2 = "$env:APPDATA\Spotify\cache\hide_window.vbs" $source2 = "$env:APPDATA\Spotify\cache\hide_window.vbs"
$target2 = "$desktop_folder\Spotify.lnk" $target2 = "$desktop_folder\Spotify.lnk"
@@ -965,7 +886,6 @@ if ($cache_install) {
$Shortcut2.TargetPath = $source2 $Shortcut2.TargetPath = $source2
$Shortcut2.Save() $Shortcut2.Save()
if ($number_days -match "^[1-9][0-9]?$|^100$") { if ($number_days -match "^[1-9][0-9]?$|^100$") {
$file_cache_spotify_ps1 = Get-Content $env:APPDATA\Spotify\cache\cache-spotify.ps1 -Raw $file_cache_spotify_ps1 = Get-Content $env:APPDATA\Spotify\cache\cache-spotify.ps1 -Raw
$new_file_cache_spotify_ps1 = $file_cache_spotify_ps1 -replace '7', $number_days $new_file_cache_spotify_ps1 = $file_cache_spotify_ps1 -replace '7', $number_days
@@ -990,11 +910,10 @@ if ($cache_install) {
Remove-item $infile -Recurse -Force Remove-item $infile -Recurse -Force
Rename-Item -path $outfile -NewName $infile Rename-Item -path $outfile -NewName $infile
Write-Host "Установка завершена"`n -ForegroundColor Green Write-Host "Установка завершена"`n -ForegroundColor Green
exit exit
} }
} }
Write-Host "Установка завершена"`n -ForegroundColor Green Write-Host "Установка завершена"`n -ForegroundColor Green
exit exit