mirror of
https://github.com/SpotX-Official/SpotX.git
synced 2026-08-11 02:21:09 +10:00
Updating the installation process, minor edits.
This commit is contained in:
+108
-29
@@ -1,6 +1,13 @@
|
||||
# Ignore errors from `Stop-Process`
|
||||
$PSDefaultParameterValues['Stop-Process:ErrorAction'] = 'SilentlyContinue'
|
||||
|
||||
# Check Tls12
|
||||
$tsl_check = [Net.ServicePointManager]::SecurityProtocol
|
||||
if (!($tsl_check -match '^tls12$' )) {
|
||||
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
|
||||
}
|
||||
|
||||
|
||||
Write-Host "*****************"
|
||||
Write-Host "Author: " -NoNewline
|
||||
Write-Host "@Nuzair46" -ForegroundColor DarkYellow
|
||||
@@ -11,14 +18,12 @@ Write-Host "*****************"
|
||||
|
||||
$SpotifyDirectory = "$env:APPDATA\Spotify"
|
||||
$SpotifyExecutable = "$SpotifyDirectory\Spotify.exe"
|
||||
$SpotifyApps = "$SpotifyDirectory\Apps"
|
||||
|
||||
|
||||
Stop-Process -Name Spotify
|
||||
Stop-Process -Name SpotifyWebHelper
|
||||
|
||||
if ($PSVersionTable.PSVersion.Major -ge 7)
|
||||
{
|
||||
if ($PSVersionTable.PSVersion.Major -ge 7) {
|
||||
Import-Module Appx -UseWindowsPowerShell
|
||||
}
|
||||
# Check version Windows
|
||||
@@ -27,6 +32,7 @@ $win11 = $win_os -match "\windows 11\b"
|
||||
$win10 = $win_os -match "\windows 10\b"
|
||||
$win8_1 = $win_os -match "\windows 8.1\b"
|
||||
$win8 = $win_os -match "\windows 8\b"
|
||||
$win7 = $win_os -match "\windows 7\b"
|
||||
|
||||
|
||||
if ($win11 -or $win10 -or $win8_1 -or $win8) {
|
||||
@@ -43,7 +49,8 @@ The Microsoft Store version of Spotify has been detected which is not supported.
|
||||
Uninstalling Spotify.
|
||||
'@`n
|
||||
Get-AppxPackage -Name SpotifyAB.SpotifyMusic | Remove-AppxPackage
|
||||
} else{
|
||||
}
|
||||
else {
|
||||
Write-Host @'
|
||||
Exiting...
|
||||
'@`n
|
||||
@@ -60,7 +67,8 @@ try {
|
||||
New-Item -Type Directory -Name "BlockTheSpot-$(Get-Date -UFormat '%Y-%m-%d_%H-%M-%S')" `
|
||||
| Convert-Path `
|
||||
| Set-Location
|
||||
} catch {
|
||||
}
|
||||
catch {
|
||||
Write-Output ''
|
||||
Pause
|
||||
exit
|
||||
@@ -78,7 +86,8 @@ try {
|
||||
# Local file path
|
||||
"$PWD\chrome_elf.zip"
|
||||
)
|
||||
} catch {
|
||||
}
|
||||
catch {
|
||||
Write-Output ''
|
||||
Sleep
|
||||
}
|
||||
@@ -88,32 +97,49 @@ Remove-Item -LiteralPath "$PWD\chrome_elf.zip"
|
||||
|
||||
$spotifyInstalled = (Test-Path -LiteralPath $SpotifyExecutable)
|
||||
if (-not $spotifyInstalled) {
|
||||
Write-Host @'
|
||||
Spotify desktop application not found.
|
||||
Downloading latest Spotify full setup, please wait...
|
||||
'@
|
||||
|
||||
try {
|
||||
$webClient.DownloadFile(
|
||||
# Remote file URL
|
||||
'https://download.scdn.co/SpotifyFullSetup.exe',
|
||||
'https://download.scdn.co/SpotifySetup.exe',
|
||||
# Local file path
|
||||
"$PWD\SpotifyFullSetup.exe"
|
||||
"$PWD\SpotifySetup.exe"
|
||||
)
|
||||
} catch {
|
||||
}
|
||||
catch {
|
||||
Write-Output ''
|
||||
Pause
|
||||
exit
|
||||
}
|
||||
mkdir $SpotifyDirectory >$null 2>&1
|
||||
Write-Host 'Running installation...'
|
||||
Start-Process -FilePath "$PWD\SpotifyFullSetup.exe"
|
||||
|
||||
while ((Get-Process -name Spotify -ErrorAction SilentlyContinue) -eq $null){
|
||||
#waiting until installation complete
|
||||
}
|
||||
# Check version Spotify
|
||||
$version_client_check = (get-item $PWD\SpotifySetup.exe).VersionInfo.ProductVersion
|
||||
$version_client = $version_client_check -split '.\w\w\w\w\w\w\w\w\w'
|
||||
|
||||
Write-Host "Downloading and installing Spotify " -NoNewline
|
||||
Write-Host $version_client -ForegroundColor Green
|
||||
Write-Host "Please wait..."
|
||||
|
||||
Start-Process -FilePath $PWD\SpotifySetup.exe; wait-process -name SpotifySetup
|
||||
|
||||
|
||||
|
||||
Stop-Process -Name Spotify >$null 2>&1
|
||||
Stop-Process -Name SpotifyWebHelper >$null 2>&1
|
||||
Stop-Process -Name SpotifyFullSetup >$null 2>&1
|
||||
|
||||
|
||||
$ErrorActionPreference = 'SilentlyContinue' # Команда гасит легкие ошибки
|
||||
|
||||
if ($win7) {
|
||||
get-childitem -path "$env:LOCALAPPDATA\Microsoft\Windows\Temporary Internet Files\" -Recurse -Force -Filter "SpotifyFullSetup*" | remove-item -Force
|
||||
}
|
||||
if ($win10) {
|
||||
get-childitem -path "$env:LOCALAPPDATA\Microsoft\Windows\INetCache\" -Recurse -Force -Filter "SpotifyFullSetup*" | remove-item -Force
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (!(test-path $SpotifyDirectory/chrome_elf.dll.bak)) {
|
||||
@@ -133,6 +159,7 @@ Remove-Item -Recurse -LiteralPath $tempDirectory
|
||||
|
||||
|
||||
|
||||
|
||||
# Removing an empty block and button
|
||||
|
||||
if (!(test-path $env:APPDATA\Spotify\Apps\xpui.bak)) {
|
||||
@@ -142,21 +169,28 @@ Copy $env:APPDATA\Spotify\Apps\xpui.spa $env:APPDATA\Spotify\Apps\xpui.bak
|
||||
Rename-Item -path $env:APPDATA\Spotify\Apps\xpui.spa -NewName $env:APPDATA\Spotify\Apps\xpui.zip
|
||||
Expand-Archive $env:APPDATA\Spotify\Apps\xpui.zip -DestinationPath $env:APPDATA\Spotify\Apps\temporary
|
||||
$file_js = Get-Content $env:APPDATA\Spotify\Apps\temporary\xpui.js -Raw
|
||||
If (!($file_js -match 'patched by spotx')) {
|
||||
$new_js = $file_js -replace ".........................................Z.UpgradeButton.......", "" -replace 'e.ads.leaderboard.isEnabled', 'e.ads.leaderboard.isDisabled'
|
||||
Set-Content -Path $env:APPDATA\Spotify\Apps\temporary\xpui.js -Force -Value $new_js
|
||||
add-content -Path $env:APPDATA\Spotify\Apps\temporary\xpui.js -Value '// Patched by SpotX' -passthru | Out-Null
|
||||
$contentjs = [System.IO.File]::ReadAllText("$env:APPDATA\Spotify\Apps\temporary\xpui.js")
|
||||
$contentjs = $contentjs.Trim()
|
||||
[System.IO.File]::WriteAllText("$env:APPDATA\Spotify\Apps\temporary\xpui.js", $contentjs)
|
||||
Compress-Archive -Path $env:APPDATA\Spotify\Apps\temporary\xpui.js -Update -DestinationPath $env:APPDATA\Spotify\Apps\xpui.zip
|
||||
}
|
||||
|
||||
|
||||
# Remove "Upgrade to premium" menu
|
||||
$file_css = Get-Content $env:APPDATA\Spotify\Apps\temporary\xpui.css -Raw
|
||||
If (!($file_css -match 'patched by spotx')) {
|
||||
$new_css = $file_css -replace 'table{border-collapse:collapse;border-spacing:0}', 'table{border-collapse:collapse;border-spacing:0}[target="_blank"]{display:none !important;}'
|
||||
Set-Content -Path $env:APPDATA\Spotify\Apps\temporary\xpui.css -Force -Value $new_css
|
||||
add-content -Path $env:APPDATA\Spotify\Apps\temporary\xpui.css -Value '/* Patched by SpotX */' -passthru | Out-Null
|
||||
$contentcss = [System.IO.File]::ReadAllText("$env:APPDATA\Spotify\Apps\temporary\xpui.css")
|
||||
$contentcss = $contentcss.Trim()
|
||||
[System.IO.File]::WriteAllText("$env:APPDATA\Spotify\Apps\temporary\xpui.css", $contentcss)
|
||||
Compress-Archive -Path $env:APPDATA\Spotify\Apps\temporary\xpui.css -Update -DestinationPath $env:APPDATA\Spotify\Apps\xpui.zip
|
||||
}
|
||||
Rename-Item -path $env:APPDATA\Spotify\Apps\xpui.zip -NewName $env:APPDATA\Spotify\Apps\xpui.spa
|
||||
Remove-item $env:APPDATA\Spotify\Apps\temporary -Recurse
|
||||
|
||||
@@ -171,27 +205,41 @@ $Shortcut.Save()
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
# Block updates
|
||||
|
||||
$ErrorActionPreference = 'SilentlyContinue' # Команда гасит легкие ошибки
|
||||
|
||||
|
||||
|
||||
$update_directory = Test-Path -Path $env:LOCALAPPDATA\Spotify
|
||||
$update_directory_file = Test-Path -Path $env:LOCALAPPDATA\Spotify\Update
|
||||
$migrator_bak = Test-Path -Path $env:APPDATA\Spotify\SpotifyMigrator.bak
|
||||
$migrator_exe = Test-Path -Path $env:APPDATA\Spotify\SpotifyMigrator.exe
|
||||
|
||||
$Check_folder_file = Get-ItemProperty -Path $env:LOCALAPPDATA\Spotify\Update | SELECT Attributes
|
||||
|
||||
$ch = Read-Host -Prompt "Want to block updates ? (Y/N), Unlock again (U)"
|
||||
if ($ch -eq 'y') {
|
||||
|
||||
# Создать папку Spotify если ее нет
|
||||
|
||||
If (!($update_directory)) {
|
||||
New-Item -Path $env:LOCALAPPDATA -Name "Spotify" -ItemType "directory" | Out-Null
|
||||
}
|
||||
|
||||
If($update_directory_file) {
|
||||
#Удалить папку Update если она есть.
|
||||
if ($Check_folder_file -match '\bDirectory\b') {
|
||||
Remove-item $env:LOCALAPPDATA\Spotify\Update -Recurse -Force
|
||||
}
|
||||
|
||||
#Создать файл Update если его нет
|
||||
if (!($Check_folder_file -match '\bSystem\b' -and $Check_folder_file -match '\bReadOnly\b')) {
|
||||
New-Item -Path $env:LOCALAPPDATA\Spotify\ -Name "Update" -ItemType "file" -Value "STOPIT" | Out-Null
|
||||
$file = Get-ItemProperty -Path $env:LOCALAPPDATA\Spotify\Update
|
||||
$file.Attributes = "ReadOnly", "System"
|
||||
|
||||
Write-Host "Updates blocked successfully" -ForegroundColor Green
|
||||
}
|
||||
If ($migrator_exe -and $migrator_bak) {
|
||||
Remove-item $env:APPDATA\Spotify\SpotifyMigrator.bak -Recurse -Force
|
||||
Rename-Item -path $env:APPDATA\Spotify\SpotifyMigrator.exe -NewName $env:APPDATA\Spotify\SpotifyMigrator.bak
|
||||
@@ -200,7 +248,39 @@ Rename-Item -path $env:APPDATA\Spotify\SpotifyMigrator.exe -NewName $env:APPDATA
|
||||
elseif ($migrator_exe) {
|
||||
Rename-Item -path $env:APPDATA\Spotify\SpotifyMigrator.exe -NewName $env:APPDATA\Spotify\SpotifyMigrator.bak
|
||||
}
|
||||
Write-Host "Updates blocked successfully" -ForegroundColor Green
|
||||
|
||||
|
||||
|
||||
if ($Check_folder_file -match '\bSystem\b' -and $Check_folder_file -match '\bReadOnly\b' -and $migrator_bak ) {
|
||||
|
||||
$ch = Read-Host -Prompt 'Wow, your updates are already blocked, Do you want to delete ? (Y/N)'
|
||||
|
||||
if ($ch -eq 'y') {
|
||||
If ($update_directory_file) {
|
||||
Remove-item $env:LOCALAPPDATA\Spotify\Update -Recurse -Force
|
||||
}
|
||||
If ($migrator_bak -and $migrator_exe ) {
|
||||
Remove-item $env:APPDATA\Spotify\SpotifyMigrator.bak -Recurse -Force
|
||||
}
|
||||
elseif ($migrator_bak) {
|
||||
Rename-Item -path $env:APPDATA\Spotify\SpotifyMigrator.bak -NewName $env:APPDATA\Spotify\SpotifyMigrator.exe
|
||||
}
|
||||
Write-Host "Updates unlocked" -ForegroundColor Green
|
||||
|
||||
}
|
||||
if ($ch -eq 'n') {
|
||||
|
||||
Write-Host "installation completed" -ForegroundColor Green
|
||||
|
||||
|
||||
}
|
||||
else {
|
||||
Write-Host "Oops, unsuccessful" -ForegroundColor Red
|
||||
Write-Host "installation completed" -ForegroundColor Green
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
elseif ($ch -eq 'u') {
|
||||
@@ -217,8 +297,8 @@ Write-Host "Updates unlocked" -ForegroundColor Green
|
||||
}
|
||||
|
||||
|
||||
# automatic cache clearing
|
||||
|
||||
# automatic cache clearing
|
||||
|
||||
|
||||
$ch = Read-Host -Prompt "Want to set up automatic cache cleanup? (Y/N) Delete script (U)"
|
||||
@@ -301,8 +381,8 @@ $Shortcut.IconLocation = "$env:APPDATA\Spotify\Spotify.exe"
|
||||
$Shortcut.TargetPath = $source
|
||||
$Shortcut.Save()
|
||||
|
||||
$ch = Read-Host -Prompt "Files that have not been used for more than xx days will be deleted.
|
||||
Please enter the number of days (from 1 to 100)"
|
||||
$ch = Read-Host -Prompt "Cache files that have not been used for more than XX days will be deleted.
|
||||
Enter the number of days from 1 to 100"
|
||||
if ($ch -match "^[1-9][0-9]?$|^100$") {
|
||||
$file_cache_spotify_ps1 = Get-Content $env:APPDATA\Spotify\cache-spotify.ps1 -Raw
|
||||
$new_file_cache_spotify_ps1 = $file_cache_spotify_ps1 -replace 'seven', $ch -replace '-7', - $ch
|
||||
@@ -316,8 +396,8 @@ exit
|
||||
}
|
||||
if (!($ch -match "^[1-9][0-9]?$|^100$")) {
|
||||
$ch = Read-Host -Prompt "Oops, bad luck, let's try again
|
||||
Files that have not been used for more than xx days will be deleted.
|
||||
Please enter the number of days (from 1 to 100)"
|
||||
Cache files that have not been used for more than XX days will be deleted.
|
||||
Enter the number of days from 1 to 100"
|
||||
if ($ch -match "^[1-9][0-9]?$|^100$") {
|
||||
$file_cache_spotify_ps1 = Get-Content $env:APPDATA\Spotify\cache-spotify.ps1 -Raw
|
||||
$new_file_cache_spotify_ps1 = $file_cache_spotify_ps1 -replace 'seven', $ch -replace '-7', - $ch
|
||||
@@ -334,7 +414,7 @@ exit
|
||||
else {
|
||||
Write-Host "Unsuccessful again" -ForegroundColor Red
|
||||
Write-Host 'Please open the cache-spotify.ps1 file in this path "AppData\Roaming\Spotify" and enter your number of days'
|
||||
Write-Host "installation completed" -ForegroundColor Green
|
||||
Write-Host "Installation completed" -ForegroundColor Green
|
||||
exit
|
||||
}
|
||||
|
||||
@@ -375,7 +455,6 @@ exit
|
||||
|
||||
else {
|
||||
Write-Host "Oops, unsuccessful" -ForegroundColor Red
|
||||
Write-Host 'Please open the cache-spotify.ps1 file in this path "AppData\Roaming\Spotify" and enter your number of days' -ForegroundColor Red
|
||||
Write-Host "installation completed" -ForegroundColor Green
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user