39 Commits
1.3 ... 1.4

Author SHA1 Message Date
amd64fox
61738f2e35 Update
- migration to Spotify version 1.1.92.647
 - added to the settings cleaning downloaded tracks and cache
 - fixed minor bugs and link paths
2022-08-16 14:39:11 +03:00
amd64fox
5d9acf57e2 Update bug report and fix no_shortcut
- added a question about the country of the account
 - fix no_shortcut
2022-08-14 18:41:13 +03:00
amd64fox
95aeeeb745 Without shortcut on desktop
- Added an incoming parameter (no_shortcut) that installs SpotX without a desktop shortcut https://github.com/amd64fox/SpotX/issues/108
2022-08-14 17:37:32 +03:00
amd64fox
8b168815c7 device picker unlock
- device picker unlock added for everyone https://github.com/amd64fox/SpotX/issues/93
2022-08-14 14:27:04 +03:00
amd64fox
03c677ca14 Add Translation
- added Polish Translation (thanks @Nokxixr) https://github.com/amd64fox/SpotX/issues/110
 -  added Georgian Translation  (thanks @Naviamold1) https://github.com/amd64fox/SpotX/issues/106
2022-08-14 14:14:32 +03:00
amd64fox
4c424794c4 Array sort error 2022-08-04 20:14:13 +03:00
amd64fox
1999acb1f1 Invalid environment variable
- Fixed incorrect PowerShell environment variable if launched from a bat file (Thanks @fastnicky69) https://github.com/amd64fox/SpotX/issues/101
2022-08-04 16:20:27 +03:00
amd64fox
669e0ced59 Update *.yml translation 2022-08-03 16:04:00 +03:00
amd64fox
0f42f1be40 Turkish translation added
- Added Turkish translation of the installer (Thanks @metezd) https://github.com/amd64fox/SpotX/issues/99
2022-08-02 16:53:24 +03:00
amd64fox
1bd9d25a65 fix connect unlock test 2022-08-02 12:37:28 +03:00
amd64fox
fcc3861d91 connect unlock test
- connect unlock test for 1.1.91
2022-08-02 11:50:26 +03:00
amd64fox
9586c6245d Update installer-new-translation.yml 2022-08-01 23:00:59 +03:00
amd64fox
0e99522557 update
- added automatic substitution of stars in the string
 - minor translation fixes
2022-08-01 22:52:19 +03:00
amd64fox
273ce14d7d Added Italian translation
- added Italian translation for installer (Thanks to @francescoaracu)
 - typos in translation corrected
2022-08-01 19:00:08 +03:00
amd64fox
f17e4f58b2 fix regex 2022-07-30 20:05:05 +03:00
amd64fox
53d718dc13 Update
- migration to Spotify version 1.1.91.824
 - ru translation fix
 - minor code fixes and typos
2022-07-30 19:48:38 +03:00
amd64fox
f8c7603c44 typo 2022-07-28 17:37:05 +03:00
amd64fox
240fd91559 fix installer translation 2022-07-28 17:20:55 +03:00
amd64fox
7345add4a1 Merge branch 'main' of https://github.com/amd64fox/SpotX 2022-07-28 17:16:50 +03:00
amd64fox
54ac38ff57 fix idea.yml 2022-07-28 17:16:43 +03:00
amd64fox
3865d7cab7 Update README.md 2022-07-28 17:08:09 +03:00
amd64fox
96d629e4b5 Update README.md 2022-07-28 17:07:55 +03:00
amd64fox
e6c06a89bb Update
- added FAQ
 - added forms yml
 - added "Report incorrect translations"
2022-07-28 17:03:10 +03:00
amd64fox
6d9930c7cd translation fix 2022-07-26 13:25:04 +03:00
amd64fox
e4bb370065 curl exception
- added exception for web request via curl
 - minor translation fixes
2022-07-26 13:10:57 +03:00
amd64fox
754413f760 Fixed bug
- fixed bug when deleting Ms Spotify (Thanks Ziad)
2022-07-22 07:27:32 +03:00
amd64fox
684f97c1f9 Added screenshot for enablenavalt 2022-07-22 05:14:14 +03:00
amd64fox
6786d4b1c1 fix enablenavalt
- fix error in enablenavalt input parameter
2022-07-22 04:22:34 +03:00
amd64fox
937acf8eb5 Del spotify.bak
- Deleting a possibly outdated copy of spotify.bak
2022-07-21 21:46:07 +03:00
amd64fox
a32f1a89fe Update
- up 1.1.90.859
 - improved algorithm for restoring files when refusing to re-block updates
2022-07-21 20:13:39 +03:00
amd64fox
51695f87d1 typo 2022-07-21 10:40:06 +03:00
amd64fox
9e7ec8f6fb hosts backup
- create a backup before changing the hosts file
2022-07-21 10:30:39 +03:00
amd64fox
93127b1376 fix regex 2022-07-21 09:40:50 +03:00
amd64fox
96ceebda0c fix regex
Fixing a bug where the script deleted commented lines in the hosts file (Thanks Bec-de-Xorbin)
2022-07-21 09:22:41 +03:00
amd64fox
a02860d3dd exp_off => exp_spotify
- changing the name of the input parameter from exp_off to exp_spotify
2022-07-21 08:33:41 +03:00
amd64fox
e79382186e Fix error in condition
- Fix error in condition when restoring files in reinstallation of Spicetify
2022-07-21 04:57:15 +03:00
amd64fox
0b8a0dc57e cutt
- removing translation strings
 - comment added
2022-07-20 08:49:34 +03:00
amd64fox
02b0664913 fix Install_Basic
- fixation standard Spotify features
2022-07-19 23:44:41 +03:00
amd64fox
fb05aa948f Fix links 2022-07-19 15:28:07 +03:00
18 changed files with 747 additions and 292 deletions

View File

@@ -1,33 +0,0 @@
---
name: ❌ Bug report
about: Create a report to help us improve
title: ''
labels: ❌ bug
assignees: ''
---
## Computer information
- Spotify version:
- Plan Spotify: free or premium
- Windows version:
- PowerShell version:
- Spicetify installed: yes or no
## 📝 Description of the problem
1.
2.
3.
## 📷 Screenshots
<details>
<summary><small>Screenshot</small></summary><p>
![test_screen](https://user-images.githubusercontent.com/62529699/149568115-36120440-1799-4b1b-80d5-06df10da5ec4.png)
</small></summary><p>
</details>

94
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@@ -0,0 +1,94 @@
name: ❌ Bug report
description: Report errors or unexpected behavior
labels: ❌ bug
body:
- type: checkboxes
attributes:
label: 🧐 Have you read the FAQ and viewed similar issues?
description: Please read the <a href="https://github.com/amd64fox/SpotX/discussions/111">FAQ</a>. Also check the open and closed <a href="https://github.com/amd64fox/SpotX/issues">issue</a> because your issue may have already been fixed.
options:
- label: I have read the FAQ
required: true
- label: I have checked older issues, open and closed
required: true
- label: I did a clean install of SpotX as <a href="https://github.com/amd64fox/SpotX/discussions/111#discussion-4304353">described in the FAQ</a>
required: true
- type: markdown
attributes:
value: "###"
- type: input
id: lang_spoti
attributes:
label: Сountry of your account
description: You can view your country on your account page, in paragraph <a href="https://www.spotify.com/account/">Country or region</a>.
placeholder: "e.g. Ukraine"
validations:
required: true
- type: markdown
attributes:
value: "###"
- type: dropdown
id: plan
attributes:
label: What is your Spotify Plan?
description: You can view your plan on your account page, under <a href="https://www.spotify.com/account/">Your plan</a>.
options:
- Free
- Premium
validations:
required: true
- type: markdown
attributes:
value: "###"
- type: dropdown
id: spicetify
attributes:
label: Do you have Spicetify installed?
description: <a href="https://spicetify.app/">Spicetify</a> is a command line tool to customize Spotify client.
options:
- "Yes"
- "No"
validations:
required: true
- type: markdown
attributes:
value: "###"
- type: textarea
attributes:
label: Computer information
description: |
- Spotify: e.g. <kbd>1.1.90.859.gf1bb1e36</kbd>
- In the open Spotify client in the upper left corner, click <kbd>•••</kbd> → <kbd>Help</kbd> → <kbd>About Spotify</kbd>
- Windows: e.g. <kbd>Windows 11 21H2 22000.527</kbd>
- Press <kbd>Win</kbd> + <kbd>Pause/Break</kbd> to open the page to copy from.
- PowerShell: e.g. <kbd>5.1.19041.1200</kbd>
- In the Windows PowerShell console, type the following command <kbd>Get-Host | Select-Object Version</kbd>
placeholder: |
- Spotify:
- Windows:
- PowerShell:
value: |
- Spotify:
- Windows:
- PowerShell:
render: markdown
validations:
required: true
- type: textarea
attributes:
label: 📝 Description
description: List steps to reproduce the error and details on what happens and what you expected to happen.
value: |
1.
2.
3.
...
validations:
required: true
- type: textarea
attributes:
label: 📸 Screenshots
description: Place any screenshots of the issue here if needed
validations:
required: false

5
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: ✏️ FAQ
url: https://github.com/amd64fox/SpotX/discussions/111
about: Read the frequently asked questions, maybe it will help solve your problem right now.

View File

@@ -1,25 +0,0 @@
---
name: 💡 To suggest an idea
about: Suggest an idea for this project
title: ''
labels: 💡 enhancement
assignees: ''
---
## 📝 Description of the idea
1.
2.
3.
## 📷 Screenshots
<details>
<summary><small>Screenshot</small></summary><p>
![test_screen](https://user-images.githubusercontent.com/62529699/149568115-36120440-1799-4b1b-80d5-06df10da5ec4.png)
</small></summary><p>
</details>

20
.github/ISSUE_TEMPLATE/idea.yml vendored Normal file
View File

@@ -0,0 +1,20 @@
name: 💡 To suggest an idea
description: Suggest a new feature or improvement
labels: 💡 enhancement
body:
- type: textarea
attributes:
label: Description of the new feature / enhancement
description: A clear and concise description of what the problem is that the new feature would solve. Describe why and how a user would use this new functionality (if applicable)
value: |
- 1
- 2
- 3
validations:
required: true
- type: textarea
attributes:
label: 📸 Screenshots
description: Place any screenshots of the issue here if needed
validations:
required: false

View File

@@ -0,0 +1,96 @@
name: 🌐 Installer translation
description: Translate the installer into your language
labels: 🌐 New translation
body:
- type: input
id: lang
attributes:
label: What language do you want to translate into?
description: Also note the already added languages in the <a href="https://github.com/amd64fox/SpotX/discussions/60">Language parameters</a> section
placeholder: e.g. English
validations:
required: true
- type: input
id: langpowershell
attributes:
label: Enter language name in PowerShell
description: Enter the following command in the PowerShell terminal <kbd>$PSUICulture.Remove(2)</kbd>, write the answer in the line below. For this to work, your Windows must be in this language.
placeholder: e.g. en
validations:
required: true
- type: textarea
attributes:
label: 📝 Translation strings
description: |
Now you can start translating strings, a few notes before you start:
- Translation strings start after an equals sign and are enclosed in quotation marks
- There are variables before the equal sign, they do not need to be translated.
- Also, if you come across characters <kbd>{0}</kbd>, <kbd>{1}</kbd>, <kbd>[Y/N]</kbd> or file names, then just skip them.
Good luck to you.
value: |
Author = "Patch author:"
Author2 = "@Amd64fox"
TranslationBy = "Translation author:"
TranslationBy2 = "@"
Incorrect = "Oops, an incorrect value,"
Incorrect2 = "enter again through "
Download = "Error downloading"
Download2 = "Will re-request in 5 seconds..."
Download3 = "Error again"
Download4 = "Check your network settings and run the installation again"
Download5 = "Downloading Spotify"
StopScrpit = "Script is stopped"
MsSpoti = "The Microsoft Store version of Spotify has been detected which is not supported"
MsSpoti2 = "Uninstall Spotify Windows Store edition [Y/N]"
MsSpoti3 = "Automatic uninstalling Spotify MS..."
MsSpoti4 = "Uninstalling Spotify MS..."
Prem = "Modification for premium account..."
OldV = "Found outdated version of Spotify"
OldV2 = "Your Spotify {0} version is outdated, it is recommended to upgrade to {1}"
OldV3 = "Want to update ? [Y/N]"
AutoUpd = "Automatic update to the recommended version"
DelOrOver = "Do you want to uninstall the current version of {0} or install over it? Y [Uninstall] / N [Install Over]"
DelOld = "Uninstalling old Spotify..."
NewV = "Unsupported version of Spotify found"
NewV2 = "Your Spotify {0} version hasn't been tested yet, currently it's a stable {1} version"
NewV3 = "Do you want to continue with {0} version (errors possible) ? [Y/N]"
Recom = "Do you want to install the recommended {0} version ? [Y/N]"
DelNew = "Uninstalling an untested Spotify..."
DownSpoti = "Downloading and installing Spotify"
DownSpoti2 = "Please wait..."
PodcatsOff = "Off Podcasts"
PodcastsOn = "On Podcasts"
PodcatsSelect = "Do you want to disable podcasts from the main page? [Y/N]"
DowngradeNote = "It is recommended to block because there was a downgrade of Spotify"
UpdBlock = "Spotify updates blocked"
UpdUnblock = "Spotify updates are not blocked"
UpdSelect = "Want to block Spotify updates? [Y/N]"
CacheOn = "Clear cache enabled ({0})"
CacheOff = "Clearing the cache is not enabled"
CacheSelect = "Want to set up automatic cache cleanup? [Y/N]"
CacheDays = "Cache older: XX days to be cleared "
CacheDays2 = "Enter the number of days from 1 to 100"
NoVariable = "Didn't find variable"
NoVariable2 = "in xpui.js"
NoVariable3 = "in licenses.html"
NoVariable4 = "in html"
ModSpoti = "Patching Spotify..."
Error = "Error"
FileLocBroken = "Location of Spotify files is broken, uninstall the client and run the script again"
Spicetify = "Spicetify detected"
NoRestore = "SpotX has already been installed, but files to recover xpui.js.bak and xpui.css.bak not found. `nPlease uninstall Spotify client and run Install.bat again"
ExpSpotify = "Experimental features operated by Spotify"
ExpStandart = "Experimental features of SpotX are not included"
NoRestore2 = "SpotX has already been installed, xpui.bak not found. `nPlease uninstall Spotify client and run Install.bat again"
UpdateBlocked = "Spotify updates are already blocked"
UpdateError = "Failed to block updates"
NoSpotifyExe = "Could not find Spotify.exe"
InstallComplete = "installation completed"
HostInfo = "Unwanted URLs found in hosts file"
HostBak = "Backing up hosts.bak..."
HostDel = "Trying to remove unwanted URLs from the original hosts file..."
HostError = "Something went wrong while editing the hosts file, edit it manually or run the script as administrator"
render: txt
validations:
required: true

View File

@@ -1,89 +0,0 @@
---
name: 🌏 Installer translation
about: Translate the installer into your language
title: Translation for [Write here your translation language]
labels: 🌏 New translation
assignees: ''
---
## 📝 Features translation
Before you start translating, you need to know how your language is called in powershell, for this you need Windows with this default language, enter the following command in the powershell terminal :
```ps1
$PSUICulture.Remove(2)
```
- Translation language powershell: *Enter here what you received in powershell*
Then you can start translating lines, they start after the equal sign.
It is important that you do not need to translate before the equal sign, these are variables.
Also, if you come across characters {0}, {1} or file names, then just skip them.
Good luck to you.
## 📝 Translation strings
```txt
Author = "Author:"
Incorrect = "Oops, an incorrect value,"
Incorrect2 = "enter again through "
CuttError = "Request error in cutt"
Download = "Error downloading"
Download2 = "Will re-request in 5 seconds..."
Download3 = "Error again"
Download4 = "Try to check your internet connection and run the installation again"
Download5 = "Downloading Spotify"
StopScrpit = "Script is stopped"
MsSpoti = "The Microsoft Store version of Spotify has been detected which is not supported"
MsSpoti2 = "Uninstall Spotify Windows Store edition [Y/N]"
MsSpoti3 = "Automatic uninstalling Spotify MS..."
MsSpoti4 = "Uninstalling Spotify MS..."
Prem = "Modification for premium account..."
DownBts = "Downloading latest patch BTS..."
OldV = "Found outdated version of Spotify"
OldV2 = "Your Spotify {0} version is outdated, it is recommended to upgrade to {1}"
OldV3 = "Want to update ? [Y/N]"
AutoUpd = "Automatic update to the recommended version"
DelOrOver = "Do you want to uninstall the current version of {0} or install over it? Y [Uninstall] / N [Install Over]"
DelOld = "Uninstalling old Spotify..."
NewV = "Unsupported version of Spotify found"
NewV2 = "Your Spotify {0} version hasn't been tested yet, currently it's a stable {1} version"
NewV3 = "Do you want to continue with {0} version (errors possible) ? [Y/N]"
Recom = "Do you want to install the recommended {0} version ? [Y/N]"
DelNew = "Uninstalling an untested Spotify..."
DownSpoti = "Downloading and installing Spotify"
DownSpoti2 = "Please wait..."
PodcatsOff = "Off Podcasts"
PodcastsOn = "On Podcasts"
PodcatsSelect = "Want to turn off podcasts ? [Y/N]"
DowngradeNote = "It is recommended to block because there was a downgrade of Spotify"
UpdBlock = "Updates blocked"
UpdUnblock = "Updates are not blocked"
UpdSelect = "Want to block updates ? [Y/N]"
CacheOn = "Clear cache enabled ({0})"
CacheOff = "Clearing the cache is not enabled"
CacheSelect = "Want to set up automatic cache cleanup? [Y/N]"
CacheDays = "Cache older: XX days to be cleared "
CacheDays2 = "Enter the number of days from 1 to 100"
NoVariable = "Didn't find variable"
NoVariable2 = "in xpui.js"
NoVariable3 = "in licenses.html"
NoVariable4 = "in html"
ModSpoti = "Patching Spotify..."
Error = "Error"
FileLocBroken = "Location of Spotify files is broken, uninstall the client and run the script again"
Spicetify = "Spicetify detected"
NoRestore = "SpotX has already been installed, xpui.js and xpui.css not found. `nPlease uninstall Spotify client and run Install.bat again"
ExpOff = "Experimental features disabled"
NoRestore2 = "SpotX has already been installed, xpui.bak not found. `nPlease uninstall Spotify client and run Install.bat again"
UpdateBlocked = "Spotify updates are already blocked"
UpdateError = "Failed to block updates"
NoSpotifyExe = "Could not find Spotify.exe"
InstallComplete = "installation completed"
HostDel = "Unwanted URLs found in hosts file, trying to remove them..."
HostError = "Something went wrong while editing the hosts file, edit it manually"
```

View File

@@ -0,0 +1,35 @@
name: "🌐 Localization/Translation issue"
description: Report incorrect translations.
labels: 🌐 Fix translation
body:
- type: dropdown
id: langselect
attributes:
label: 🌐 Select language
options:
- English
- Russian
- Italian
- Turkish
- Georgian
- Polish
validations:
required: true
- type: textarea
attributes:
label: ❌ Actual phrase(s)
placeholder: What is there? Please include a screenshot as that is extremely helpful.
validations:
required: true
- type: textarea
attributes:
label: ✔️ Expected phrase(s)
placeholder: What was expected?
validations:
required: true
- type: textarea
attributes:
label: Why is the current translation wrong
placeholder: Why do you feel this is incorrect?
validations:
required: true

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

BIN
.github/Pic/Excremental-fun/Navalt.jpg vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

1
.github/Pic/Shields/faq.svg vendored Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="61" height="20" role="img" aria-label="FAQ: "><title>FAQ: </title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="61" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="50" height="20" fill="#555"/><rect x="50" width="11" height="20" fill="#dfb317"/><rect width="61" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><image x="5" y="3" width="14" height="14" xlink:href="data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjRkZEMDAwIiByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+SGVscERlc2s8L3RpdGxlPjxwYXRoIGQ9Ik0xMiAxMC43MWw2LjEyLTUuMzFIMTJjLTIuMTYgMC00LjMyLjA2LTYuMzYuMjEtLjg0LjA2LTEuNS42OS0xLjU2IDEuNTMtLjEyIDEuMjYtLjE4IDIuODUtLjE4IDQuNDF2Ljg3YzAgMS41OS4wNiAzLjE1LjE4IDQuNDEuMDkuODEuNzUgMS40NyAxLjU2IDEuNWE5MCA5MCAwIDAwMTIuNzIgMGMuODEtLjAzIDEuNS0uNjkgMS41Ni0xLjUuMDktMS4yLjE1LTIuNjcuMTgtNC4xN0wyNCA5LjNWMTIuNjZjMCAxLjU5LS4wNiAzLjE4LS4xOCA0LjQ3YTUuNTcgNS41NyAwIDAxLTUuMTkgNS4xYy0yLjEzLjE4LTQuMzguMjctNi42My4yN3MtNC41LS4wOS02LjYzLS4yNGE1LjU3IDUuNTcgMCAwMS01LjE5LTUuMUMuMDYgMTUuODEgMCAxNC4xMyAwIDEyLjQ1di0uODdDMCA5LjkuMDYgOC4yMi4xOCA2Ljg0YTUuNTcgNS41NyAwIDAxNS4xOS01LjFDNy41IDEuNTkgOS43NSAxLjUgMTIgMS41aDEydjMuOUwxMiAxNS44MWwtNS42MS00Ljg2TDkuMzMgOC40eiIvPjwvc3ZnPg=="/><text aria-hidden="true" x="345" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="230">FAQ</text><text x="345" y="140" transform="scale(.1)" fill="#fff" textLength="230">FAQ</text></g></svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -1,6 +1,6 @@
@echo off
powershell -Command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12}"; "& {(Invoke-WebRequest -UseBasicParsing 'https://raw.githubusercontent.com/amd64fox/SpotX/main/Install.ps1').Content | Invoke-Expression}"
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe -Command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12}"; "& {(Invoke-WebRequest -UseBasicParsing 'https://raw.githubusercontent.com/amd64fox/SpotX/main/Install.ps1').Content | Invoke-Expression}"
pause
exit /b

View File

@@ -36,10 +36,10 @@ param
[Parameter(HelpMessage = 'Automatic launch of Spotify after installation is complete.')]
[switch]$start_spoti,
[Parameter(HelpMessage = 'Disable all experimental features.')]
[switch]$exp_off,
[Parameter(HelpMessage = 'Experimental features operated by Spotify.')]
[switch]$exp_spotify,
[Parameter(HelpMessage = 'Experimental features standart.')]
[Parameter(HelpMessage = 'Experimental features of SpotX are not included')]
[switch]$exp_standart,
[Parameter(HelpMessage = 'Do not hide the icon of collaborations in playlists.')]
@@ -71,6 +71,12 @@ param
[Parameter(HelpMessage = 'Enabled the new home structure and navigation.')]
[switch]$enablenavalt,
#[Parameter(HelpMessage = 'Connect unlock test.')]
#[switch]$testconnect,
[Parameter(HelpMessage = 'Do not create desktop shortcut.')]
[switch]$no_shortcut,
[Parameter(HelpMessage = 'Select the desired language to use for installation. Default is the detected system language.')]
[Alias('l')]
@@ -83,7 +89,6 @@ $PSDefaultParameterValues['Stop-Process:ErrorAction'] = [System.Management.Autom
function Format-LanguageCode {
# Normalizes and confirms support of the selected language.
[CmdletBinding()]
[OutputType([string])]
param
@@ -93,8 +98,7 @@ function Format-LanguageCode {
begin {
$supportLanguages = @(
'en',
'ru'
'en', 'ru', 'it', 'tr', 'ka', 'pl'
)
}
@@ -109,6 +113,22 @@ function Format-LanguageCode {
$returnCode = 'ru'
break
}
'^it' {
$returnCode = 'it'
break
}
'^tr' {
$returnCode = 'tr'
break
}
'^ka' {
$returnCode = 'ka'
break
}
'^pl' {
$returnCode = 'pl'
break
}
Default {
$returnCode = $PSUICulture.Remove(2)
break
@@ -143,14 +163,14 @@ function Set-ScriptLanguageStrings {
begin {
# Define language strings.
$langStringsEN = [PSCustomObject]@{
Author = "Author:"
Author = "Patch author:"
Author2 = "@Amd64fox"
Incorrect = "Oops, an incorrect value,"
Incorrect2 = "enter again through "
CuttError = "Request error in cutt"
Download = "Error downloading"
Download2 = "Will re-request in 5 seconds..."
Download3 = "Error again"
Download4 = "Try to check your internet connection and run the installation again"
Download4 = "Check your network settings and run the installation again"
Download5 = "Downloading Spotify"
StopScrpit = "Script is stopped"
MsSpoti = "The Microsoft Store version of Spotify has been detected which is not supported"
@@ -158,7 +178,6 @@ function Set-ScriptLanguageStrings {
MsSpoti3 = "Automatic uninstalling Spotify MS..."
MsSpoti4 = "Uninstalling Spotify MS..."
Prem = "Modification for premium account..."
DownBts = "Downloading latest patch BTS..."
OldV = "Found outdated version of Spotify"
OldV2 = "Your Spotify {0} version is outdated, it is recommended to upgrade to {1}"
OldV3 = "Want to update ? [Y/N]"
@@ -174,11 +193,11 @@ function Set-ScriptLanguageStrings {
DownSpoti2 = "Please wait..."
PodcatsOff = "Off Podcasts"
PodcastsOn = "On Podcasts"
PodcatsSelect = "Want to turn off podcasts ? [Y/N]"
PodcatsSelect = "Do you want to disable podcasts from the main page? [Y/N]"
DowngradeNote = "It is recommended to block because there was a downgrade of Spotify"
UpdBlock = "Updates blocked"
UpdUnblock = "Updates are not blocked"
UpdSelect = "Want to block updates ? [Y/N]"
UpdBlock = "Spotify updates blocked"
UpdUnblock = "Spotify updates are not blocked"
UpdSelect = "Want to block Spotify updates? [Y/N]"
CacheOn = "Clear cache enabled ({0})"
CacheOff = "Clearing the cache is not enabled"
CacheSelect = "Want to set up automatic cache cleanup? [Y/N]"
@@ -192,26 +211,29 @@ function Set-ScriptLanguageStrings {
Error = "Error"
FileLocBroken = "Location of Spotify files is broken, uninstall the client and run the script again"
Spicetify = "Spicetify detected"
NoRestore = "SpotX has already been installed, xpui.js and xpui.css not found. `nPlease uninstall Spotify client and run Install.bat again"
ExpOff = "Experimental features disabled"
NoRestore = "SpotX has already been installed, but files to recover xpui.js.bak and xpui.css.bak not found. `nPlease uninstall Spotify client and run Install.bat again"
ExpSpotify = "Experimental features operated by Spotify"
ExpStandart = "Experimental features of SpotX are not included"
NoRestore2 = "SpotX has already been installed, xpui.bak not found. `nPlease uninstall Spotify client and run Install.bat again"
UpdateBlocked = "Spotify updates are already blocked"
UpdateError = "Failed to block updates"
NoSpotifyExe = "Could not find Spotify.exe"
InstallComplete = "installation completed"
HostDel = "Unwanted URLs found in hosts file, trying to remove them..."
HostError = "Something went wrong while editing the hosts file, edit it manually"
HostInfo = "Unwanted URLs found in hosts file"
HostBak = "Backing up hosts.bak..."
HostDel = "Trying to remove unwanted URLs from the original hosts file..."
HostError = "Something went wrong while editing the hosts file, edit it manually or run the script as administrator"
}
$langStringsRU = [PSCustomObject]@{
Author = "Автор:"
Author = "Автор патча:"
Author2 = "@Amd64fox"
Incorrect = "Ой, некорректное значение,"
Incorrect2 = "повторите ввод через"
CuttError = "Ошибка запроса в cutt"
Download = "Ошибка загрузки"
Download2 = "Повторный запрос через 5 секунд..."
Download3 = "Опять ошибка"
Download4 = "Попробуйте проверить подключение к интернету и снова запустить установку"
Download4 = "Проверьте настройки вашей сети и снова запустите установку"
Download5 = "Загрузка Spotify"
StopScrpit = "рипт остановлен"
MsSpoti = "Обнаружена версия Spotify из Microsoft Store, которая не поддерживается"
@@ -219,7 +241,6 @@ function Set-ScriptLanguageStrings {
MsSpoti3 = "Автоматическое удаление Spotify MS..."
MsSpoti4 = "Удаление Spotify MS..."
Prem = "Модификация для премиум аккаунта..."
DownBts = "Загружаю последний патч BTS..."
OldV = "Найдена устаревшая версия Spotify"
OldV2 = "Ваша версия Spotify {0} устарела, рекомендуется обновиться до {1}"
OldV3 = "Обновить ? [Y/N]"
@@ -235,11 +256,11 @@ function Set-ScriptLanguageStrings {
DownSpoti2 = "Пожалуйста подождите..."
PodcatsOff = "Подкасты отключены"
PodcastsOn = "Подкасты не отключены"
PodcatsSelect = "Хотите отключить подкасты ? [Y/N]"
PodcatsSelect = "Хотите отключить подкасты c главной страницы ? [Y/N]"
DowngradeNote = "Рекомендуется заблокировать т.к. было понижение версии Spotify"
UpdBlock = "Обновления заблокированы"
UpdUnblock = "Обновления не заблокированы"
UpdSelect = "Хотите заблокировать обновления ? [Y/N]"
UpdBlock = "Обновления Spotify заблокированы"
UpdUnblock = "Обновления Spotify не заблокированы"
UpdSelect = "Хотите заблокировать обновления Spotify ? [Y/N]"
CacheOn = "Очистка кеша включена ({0})"
CacheOff = "Очистка кеша не включена"
CacheSelect = "Хотите установить автоматическую очистку кеша ? [Y/N]"
@@ -255,14 +276,277 @@ function Set-ScriptLanguageStrings {
FileLocBroken = "Расположение файлов Spotify нарушено, удалите клиент и снова запустите скрипт"
Spicetify = "Обнаружен Spicetify"
NoRestore = "SpotX уже был установлен, но файлы для восстановления xpui.js.bak и xpui.css.bak не найдены. `nУдалите клиент Spotify и снова запустите Install.bat"
ExpOff = "Экспереметальные функции отключены"
ExpSpotify = "Экспериментальные функции управляются Spotify"
ExpStandart = "Экспериментальные функции SpotX не включены"
NoRestore2 = "SpotX уже был установлен, но файл для восстановления xpui.bak не найден. `nУдалите клиент Spotify и снова запустите Install.bat"
UpdateBlocked = "Обновления Spotify уже заблокированы"
UpdateError = "Не удалось заблокировать обновления"
NoSpotifyExe = "Spotify.exe не найден"
InstallComplete = "Установка завершена"
HostDel = "В файле hosts найдены нежелательные Url-адреса, попытка их удалить..."
HostError = "Что-то пошло не так при редактировании файла hosts, отредактируйте его вручную"
HostInfo = "В файле hosts найдены нежелательные Url-адреса"
HostBak = "Создаю резервную копию hosts.bak..."
HostDel = "Попытка удалить нежелательные Url-адреса из оригинального файла hosts..."
HostError = "Что-то пошло не так при редактировании файла hosts, отредактируйте его вручную или запустите скрипт от администратора"
}
$langStringsIT = [PSCustomObject]@{
Author = "Autore patch:"
Author2 = "@Amd64fox"
TranslationBy = "Autore traduzione:"
TranslationBy2 = "@Francescoaracu"
Incorrect = "Ops! Valore sbagliato,"
Incorrect2 = "Inserisci di nuovo"
Download = "Errore nel download"
Download2 = "Nuova richiesta in 5 secondi..."
Download3 = "Nuovo errore"
Download4 = "Verifica le tue impostazioni di rete e fai partire di nuovo l'installazione"
Download5 = "Scarico Spotify"
StopScrpit = "Lo script è stato fermato"
MsSpoti = "Trovata versione del Microsoft Store di Spotify, che non è supportata"
MsSpoti2 = "Disinstalla la versione Microsoft Store di Spotify [Y/N]"
MsSpoti3 = "Disinstallazione automatica Spotify MS..."
MsSpoti4 = "Disinstallo Spotify MS..."
Prem = "Modifica per account premium..."
OldV = "Trovata vecchia versione di Spotify"
OldV2 = "La tua versione di Spotify {0} è vecchia, è consigliato aggiornare alla versione {1}"
OldV3 = "Vuoi aggiornare? [Y/N]"
AutoUpd = "Aggiornamento automatico alla versione consigliata"
DelOrOver = "Vuoi disinstallare la versione installata {0} o sovrascriverla? Y [Disinstalla] / N [Sovrascrivi]"
DelOld = "Disinstallo vecchio Spotify..."
NewV = "Trovata versione di Spotify non supportata"
NewV2 = "La tua versione {0} di Spotify non è stata ancora testata, al momento la {1} è stabile"
NewV3 = "Vuoi continuare a installare la versione {0} (possibili errori)? [Y/N]"
Recom = "Vuoi installare la versione consigliata {0}? [Y/N]"
DelNew = "Disinstallo una versione non testata di Spotify..."
DownSpoti = "Scarico e installo Spotify"
DownSpoti2 = "Attendi..."
PodcatsOff = "Podcasts OFF"
PodcastsOn = "Podcasts ON"
PodcatsSelect = "Vuoi rimuovere i podcast dalla home? [Y/N]"
DowngradeNote = "Si consiglia il blocco degli aggiornamenti perché è stato eseguito un downgrade di Spotify"
UpdBlock = "Aggiornamenti di Spotify bloccati"
UpdUnblock = "Aggiornamenti di Spotify non bloccati"
UpdSelect = "Vuoi bloccare gli aggiornamenti automatici di Spotify? [Y/N]"
CacheOn = "Attivata la cancellazione automatica della cache ({0})"
CacheOff = "Cancellazione automatica della cache non attiva"
CacheSelect = "Vuoi attivare la cancellazione automatica della cache? [Y/N]"
CacheDays = "Verrà cancellata la cache più vecchia di XX giorni"
CacheDays2 = "Inserisci il numero dei giorni da 1 a 100"
NoVariable = "Variabile non trovata"
NoVariable2 = "in xpui.js"
NoVariable3 = "in licenses.html"
NoVariable4 = "in html"
ModSpoti = "Patching Spotify..."
Error = "Errore"
FileLocBroken = "Il percorso dei file di Spotify non è stato trovato, disinstalla Spotify e fai ripartire lo script"
Spicetify = "Rilevato Spicetify"
NoRestore = "SpotX è già stato installato, ma file da recuperare xpui.js.bak e xpui.css.bak non trovati. `nPer favore, disinstalla Spotify e riapri il file Install.bat"
ExpSpotify = "Features sperimentali attivate da Spotify"
ExpStandart = "Features sperimentali di SpotX non incluse"
NoRestore2 = "SpotX è già stato installato, xpui.bak non trovato. `nPer favore, disinstalla Spotify e riapri il file Install.bat"
UpdateBlocked = "Gli aggiornamenti automatici di Spotify sono già stati bloccati"
UpdateError = "Blocco degli aggiornamenti non riuscito"
NoSpotifyExe = "Spotify.exe non trovato"
InstallComplete = "Installazione completata"
HostInfo = "Trovati URL non desiderati nel file hosts"
HostBak = "Backup di hosts.bak in corso..."
HostDel = "Provo a rimuovere URL non desiderati dal file hosts originale..."
HostError = "Qualcosa è andato storto provando a modificare il file hosts, modificalo manualmente o fai partire lo script come amministratore"
}
$langStringsTR = [PSCustomObject]@{
Author = "Yama yapımcısı:"
Author2 = "@Amd64fox"
TranslationBy = "Tercüman:"
TranslationBy2 = "@metezd"
Incorrect = "Eyvah, yanlış bir değer,"
Incorrect2 = "tekrar girin "
Download = "İndirirken hata oluştu"
Download2 = "5 saniye içinde tekrar talep edilecek..."
Download3 = "Yine hata oluştu"
Download4 = "Ağ ayarlarınızı kontrol edin ve kurulumu tekrar çalıştırın"
Download5 = "Spotify indiriliyor"
StopScrpit = "Komut dosyası durduruldu"
MsSpoti = "Spotify'ın desteklenmeyen Microsoft Mağazası sürümü tespit edildi"
MsSpoti2 = "Spotify Windows Mağazası sürümünü kaldır [Y/N]"
MsSpoti3 = "Spotify MS otomatik olarak kaldırlıyor..."
MsSpoti4 = "Spotify MS kaldırılıyor..."
Prem = "Premium hesap için modifikasyon ..."
OldV = "Spotify'ın eski bir sürümü bulundu"
OldV2 = "Spotify {0} sürümü güncel değil, {1} sürümüne yükseltmeniz önerilir"
OldV3 = "Güncelleme yapılsın mı? [Y/N]"
AutoUpd = "Önerilen sürüme otomatik olarak güncelle"
DelOrOver = "Mevcut {0} sürümünü kaldırmak mı yoksa üzerine yüklemek mi istiyorsunuz? Y [Kaldır] / N [Üzerine Yükle]"
DelOld = "Eski Spotify kaldırılıyor..."
NewV = "Desteklenmeyen Spotify sürümü bulundu"
NewV2 = "Spotify {0} sürümü henüz test edilmedi, şu anda kararlı olan {1} sürümüdür"
NewV3 = "{0} sürümü ile devam etmek istiyor musunuz (hatalar olabilir) ? [Y/N]"
Recom = "Önerilen {0} sürümünü yüklemek istiyor musunuz? [Y/N]"
DelNew = "Test edilmemiş Spotify kaldırılıyor..."
DownSpoti = "Spotify indiriliyor ve kuruluyor"
DownSpoti2 = "Lütfen bekleyin..."
PodcatsOff = "Podcast'ler Kapalı"
PodcastsOn = "Podcast'ler Açık"
PodcatsSelect = "Podcast'leri ana sayfadan kaldırmak istiyor musunuz? [Y/N]"
DowngradeNote = "Spotify'da bir sürüm düşürme olduğu için engellemeniz önerilir"
UpdBlock = "Spotify güncellemeleri engellendi"
UpdUnblock = "Spotify güncellemeleri engellenmedi"
UpdSelect = "Spotify güncellemelerini engellemek ister misiniz? [Y/N]"
CacheOn = "Önbelleği temizleme etkin ({0})"
CacheOff = "Önbelleğin temizlenmesi etkin değil"
CacheSelect = "Otomatik önbellek temizlemeyi ayarlamak ister misiniz? [Y/N]"
CacheDays = "Daha eski olan önbellek: XX gün içinde temizlenecek "
CacheDays2 = "Gün sayısını 1 ile 100 arasında girin"
NoVariable = "Değişken bulunamadı"
NoVariable2 = "xpui.js içinde"
NoVariable3 = "in licenses.html"
NoVariable4 = "html içinde"
ModSpoti = "Spotify'a yama yapılıyor..."
Error = "Hata"
FileLocBroken = "Spotify dosyalarının konumu bozuk, istemciyi kaldırın ve kodu tekrar çalıştırın"
Spicetify = "Spicetify algılandı"
NoRestore = "SpotX zaten yüklenmiş, ancak xpui.js.bak ve xpui.css.bak dosyalarının bulunamadığı tespit edildi. `nLütfen Spotify istemcisini kaldırın ve Install.bat dosyasını tekrar çalıştırın"
ExpSpotify = "Spotify tarafından sunulan deneysel özellikler"
ExpStandart = "SpotX'in deneysel özellikleri dahil değildir"
NoRestore2 = "SpotX zaten kurulmuş, xpui.bak dosyası bulunamadı. `nLütfen Spotify istemcisini kaldırın ve Install.bat dosyasını tekrar çalıştırın"
UpdateBlocked = "Spotify güncellemeleri zaten engellenmiş durumda"
UpdateError = "Güncellemeler engellenemedi"
NoSpotifyExe = "Spotify.exe bulunamadı"
InstallComplete = "kurulum tamamlandı"
HostInfo = "Hosts dosyasında istenmeyen URL'ler bulundu"
HostBak = "hosts.bak dosyası yedekleniyor...."
HostDel = "Orijinal hosts dosyasından istenmeyen URL'ler kaldırılmaya çalışılıyor..."
HostError = "Hosts dosyasını düzenlerken bir şeyler ters gitti, elle düzenleyin veya kodu yönetici olarak çalıştırın"
}
$langStringsKA = [PSCustomObject]@{
Author = "პაჩის ავტორი:"
Author2 = "@Amd64fox"
TranslationBy = "თარგმანის ავტორი:"
TranslationBy2 = "@Naviamold1"
Incorrect = "უპს, არასწორი შენატანი,"
Incorrect2 = "მაგრამ თავიდან სცადე"
Download = "შეცდომა ჩაწერის დროს"
Download2 = "თავიდან ვცდი 5 წამში..."
Download3 = "შეცდომა ისევ"
Download4 = "შეამოწმეთ თქვენი კავშირი ქსელთან და თავიდან სცადე ინსტალაცია"
Download5 = "Spotify იწერება"
StopScrpit = "სკრიპტი ჩერდება"
MsSpoti = "Microsoft Store-ის ვერსია მოიძებნა რომელიც არ არის მხარდაჯერილი"
MsSpoti2 = "წავშალოთ Spotify Microsoft Store-ის ვერსია [Y/N]"
MsSpoti3 = "ავტუმატურად იშლება Spotify MS..."
MsSpoti4 = "იშლება Spotify MS..."
Prem = "მოდიფიკაცია პრემიუმ აკკოუნტის..."
OldV = "მოიძებნა მოძველებული Spotify-ს ვერსია"
OldV2 = "თქვენი Spotify-ს {0} ვერსია არის მოძველებული, რეკომენდურია მისი აპგრეიდობა ამ ვერსიაზე {1}"
OldV3 = "გინდა განაახლოთ ? [Y/N]"
AutoUpd = "აუტომატიკური აპდაიტი რეკომენდებულ ვერსიაზე"
DelOrOver = "გინდა წაშალო ეხლანდელი ვერსია: {0} თუ თავიდან ჩაწერა? Y [წაშლა] / N [თავიდან ჩაწერა]"
DelOld = "ძველი Spotify იშლება..."
NewV = "არა მხარდაჯერილი Spotify-ს ვერსია არის მოწებნილი"
NewV2 = "თქვენი Spotify-ს {0} ვერსია ჯერ არ არის დატესტილი, ამჟამად არის სტაბილური {1} ვერსია"
NewV3 = "გინდათ რომ გააგრძელოთ {0} ვერსიაზე (შეცდომები შესაძლებელია) ? [Y/N]"
Recom = "გინდათ რო ჩაიწეროთ რეკომენდირებული {0} ვერსია ? [Y/N]"
DelNew = "იშლება არა ტესტირებულ Spotify..."
DownSpoti = "ვტვირთავთ და ვიწერთ Spotify-ს"
DownSpoti2 = "გთხოვთ დაიცადოთ..."
PodcatsOff = "პოდკასტები გათიშული"
PodcastsOn = "პოდკასტები ჩართული"
PodcatsSelect = "გინდათ რომ გათიშოთ პოდკასტები მთავარ გვერდიდან? [Y/N]"
DowngradeNote = "რეკომენდირებული რომ დაბლოკოთ იმიტომ რომ იყო Spotify-ს დაქვეითება"
UpdBlock = "Spotify-ს განახლებები დაბლოკილია"
UpdUnblock = "Spotify-ს განახლებები არ არის დაბლოკილი"
UpdSelect = "გინდათ რომ დაბლოკოთ Spotify-ს განახლებები? [Y/N]"
CacheOn = "ქეშის გაწმენდა ჩართულია ({0})"
CacheOff = "ქეშის გაწმენდა არ არის ჩართული"
CacheSelect = "გინდათ რომ ჩართოთ ავტომატიკური ქეშის გაწმენდა? [Y/N]"
CacheDays = "ქეში უფრო ძველია: XX დღეზე რომ იყოს გაწმენდილი "
CacheDays2 = "შეიყვანეთ the დღეების რაოდენობა 1-იდან 100-ამდე"
NoVariable = "ცვლადი არ არის მოძებნილი"
NoVariable2 = "xpui.js -ში"
NoVariable3 = "licenses.html -ში"
NoVariable4 = "html =ში"
ModSpoti = "Spotify იკერვება..."
Error = "შეცდომა"
FileLocBroken = "Spotify ფაილების ლოკაცია არის გადეხილი, წაშალეთ კლიენტი და თავიდან გაუშვით სკრიპტი"
Spicetify = "Spicetify მოიზებნა"
NoRestore = "SpotX უკვეა ჩაწერილი, მაგრამ ფაილები xpui.js.bak და xpui.css.bak აღსადგენად ვერ მოიძებნა. `nგთხოვთ წაშალეთ Spotify-ის აპლიკაცია და თავიდან გაუშვით Install.bat"
ExpSpotify = "ექსპერიმენტული ფუნქციები, რომელსაც მართავს Spotify"
ExpStandart = "ექსპერიმენტული ფუნქციები SpotX არ მოითავსება"
NoRestore2 = "SpotX უკვე დაინსტალირებულია, xpui.bak ვერ მოიძებნა. `nგთხოვთ, წაშალოთ Spotify აპლიკაცია და თავიდან გაუშვით Install.bat"
UpdateBlocked = "Spotify-ს განახლებები უკვე დაბლოკერიბული არიან"
UpdateError = "განახლებების დაბლოკვა ვერ მოხერხდა"
NoSpotifyExe = "Spotify.exe ვერ მოიძებნა"
InstallComplete = "ინსტალაცია დასრულდა"
HostInfo = "არასასურველი URL-ები ნაპოვნი მასპინძელის ფაილში"
HostBak = "იქმნება hosts.bak-ის სარევეზნო ასლი..."
HostDel = "ვცდილობთ რომ ამოვიღოთ არასასურველი URL-ები ორიგინალური მასპინძელის ფაილიდან..."
HostError = "რაღაც შეცდომა მოხდა მასპინძელის ფაილის რედაქტირებისას, დაარედაქტირეთ ის ხელით ან გაუშვით სკრიპტი ადმინისტრატორის სახით"
}
$langStringsPL = [PSCustomObject]@{
Author = "Patch author:"
Author2 = "@Amd64fox"
TranslationBy = "Translation author:"
TranslationBy2 = "@Nokxixr"
Incorrect = "Oops, niewłaściwa wartość,"
Incorrect2 = "Wejdź ponownie przez "
Download = "Błąd pobierania"
Download2 = "Prośbę ponowię za 5 sekund..."
Download3 = "Ponowny Błąd"
Download4 = "Sprawdź swoje połączenie z siecią i spróbuj ponownie"
Download5 = "Pobieranie Spotify"
StopScrpit = "Skrypt wstrzymany"
MsSpoti = "Wersja Microsoft Store Spotify została wykryta i nie jest wspierana"
MsSpoti2 = "Odinstalować wersję od Spotify Windows Store? [Y/N]"
MsSpoti3 = "Automatyczne odinstalowywanie Spotify MS..."
MsSpoti4 = "Odinstalowywanie Spotify MS..."
Prem = "Modyfikacja dla konta premium..."
OldV = "Znaleziono nieaktualną wersję Spotify"
OldV2 = "Twoja wersja Spotify {0} jest nieaktualna, zalecana jest aktualizacja do {1}"
OldV3 = "Czy chcesz ją pobrać? [Y/N]"
AutoUpd = "Automatyczna aktualizacja do zalecanej wersji"
DelOrOver = "Chcesz odinstalować aktualną wersję {0}, czy pobrać nową? Y [Odinstaluj] / N [Pobierz Nowa]"
DelOld = "Odinstalowywanie przedawnionego Spotify..."
NewV = "Wykryto niewspieraną wersję Spotify"
NewV2 = "Twoja wersja {0} nie została jeszcze przetestowana, obecna stabilna jest wersja {1} "
NewV3 = "Czy chcesz kontynuować z wersją {0} (możliwe błędy) ? [Y/N]"
Recom = "Czy chcesz pobrać zalecaną, {0} wersję ? [Y/N]"
DelNew = "Odinstalowywanie niesprawdzonego Spotify..."
DownSpoti = "Pobieranie i instalowanie Spotify"
DownSpoti2 = "Proszę czekać..."
PodcatsOff = "Wyłączanie Podcastsów"
PodcastsOn = "Włączanie Podcastsów"
PodcatsSelect = "Czy chcesz wyłączyć podcasty ze strony głównej?? [Y/N]"
DowngradeNote = "Zalecane jest zablokowanie, ponieważ nastąpiło obniżenie wartości dla Spotify"
UpdBlock = "Aktualizacje Spotify zablokowane"
UpdUnblock = "Aktualizacje Spotify nie są zablokowane"
UpdSelect = "Czy chcesz zablokować aktualizacje dla Spotify? [Y/N]"
CacheOn = "Usuwanie plików cache ({0})"
CacheOff = "Czyszczenie plików cache jest wyłączone"
CacheSelect = "Chcesz ustawić automatyczne czyszczenie plików cache? [Y/N]"
CacheDays = "Czyszczenie co: XX dni"
CacheDays2 = "Wybierz co ile dni ma nastąpić czyszczenie od 1 to 100 do"
NoVariable = "Nieznaleziono wartości"
NoVariable2 = "w xpui.js"
NoVariable3 = "w licenses.html"
NoVariable4 = "w html"
ModSpoti = "Patchowanie Spotify..."
Error = "Błąd"
FileLocBroken = "Lokalizacje plików spotify są zepsute, odinstaluj klienta i uruchom ponownie skrypt"
Spicetify = "Spicetify wykryty"
NoRestore = "SpotX został zainstalowany, jednak pliki do odzyskania xpui.js.bak i xpui.css.bak zostały nieznalezione. `nProszę odinstalować klienta i uruchomić Install.bat ponownie"
ExpSpotify = "Eksperymentalne funkcje obsługiwane przez Spotify"
ExpStandart = "Eksperymentalne funkcje SpotX nie są uwzględnione"
NoRestore2 = "SpotX został pobrany, xpui.bak nie znaleziony. `nProszę odinstalować klienta Spotify i uruchomić Install.bat ponownie"
UpdateBlocked = "Spotify aktualizacje są już zablokowane"
UpdateError = "Nie udało się zablokować aktualizacji"
NoSpotifyExe = "Nie można znaleźć Spotify.exe"
InstallComplete = "Instalacja zakończona"
HostInfo = "Niepożądane adresy URL znalezione w plikach hosts"
HostBak = "Tworzenie kopii zapasowych hosts.bak..."
HostDel = "Próba usunięcia niechcianych adresów URL z oryginalnego pliku hosts..."
HostError = "Coś poszło nie tak podczas edycji pliku hosts, edytuj go ręcznie lub uruchom skrypt jako administrator"
}
}
@@ -277,6 +561,22 @@ function Set-ScriptLanguageStrings {
$langStrings = $langStringsRU
break
}
'it' {
$langStrings = $langStringsIT
break
}
'tr' {
$langStrings = $langStringsTR
break
}
'ka' {
$langStrings = $langStringsKA
break
}
'pl' {
$langStrings = $langStringsPL
break
}
Default {
# Default to English if unable to find a match.
$langStrings = $langStringsEN
@@ -297,14 +597,27 @@ $lang = Set-ScriptLanguageStrings -LanguageCode $langCode
# Set variable 'ru'.
if ($langCode -eq 'ru') { $ru = $true }
# Set variable 'add transl line'.
if ($langCode -match '^(it|tr|ka|pl)') { $line = $true }
# Automatic length of stars
$au = ($lang).Author.Length + ($lang).Author2.Length
$by = ($lang).TranslationBy.Length + ($lang).TranslationBy2.Length
if ($au -gt $by ) { $long = $au + 1 } else { $long = $by + 1 }
$st = ""
$star = $st.PadLeft($long, '*')
Write-Host "*****************"
Write-Host $star
Write-Host ($lang).Author"" -NoNewline
Write-Host "@Amd64fox" -ForegroundColor DarkYellow
Write-Host "*****************"`n
Write-Host ($lang).Author2 -ForegroundColor DarkYellow
if (!($line)) { Write-Host $star`n }
if ($line) {
Write-Host ($lang).TranslationBy"" -NoNewline
Write-Host ($lang).TranslationBy2 -ForegroundColor DarkYellow
Write-Host $star`n
}
# Sending a statistical web query to cutt.ly
$ErrorActionPreference = 'SilentlyContinue'
$cutt_url = "https://cutt.ly/DK8UQub"
try {
@@ -321,10 +634,12 @@ catch {
$spotifyDirectory = "$env:APPDATA\Spotify"
$spotifyDirectory2 = "$env:LOCALAPPDATA\Spotify"
$spotifyExecutable = "$spotifyDirectory\Spotify.exe"
$exe_bak = "$spotifyDirectory\Spotify.bak"
$chrome_elf = "$spotifyDirectory\chrome_elf.dll"
$chrome_elf_bak = "$spotifyDirectory\chrome_elf_bak.dll"
$cache_folder = "$env:APPDATA\Spotify\cache"
$spotifyUninstall = "$env:TEMP\SpotifyUninstall.exe"
$start_menu = "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\Spotify.lnk"
$upgrade_client = $false
function incorrectValue {
@@ -357,6 +672,11 @@ function Check_verison_clients($param2) {
$check_offline = (Get-Item $spotifyExecutable).VersionInfo.FileVersion
return $check_offline
}
# Check version Spotify.bak
if ($param2 -eq "Spotify.bak") {
$check_offline_bak = (Get-Item $exe_bak).VersionInfo.FileVersion
return $check_offline_bak
}
}
function unlockFolder {
@@ -421,6 +741,8 @@ function downloadScripts($param1) {
}
try {
if ($param1 -eq "Desktop" -and $curl_check) {
$stcode = curl.exe -I -s $web_Url
if (!($stcode -match "200 OK")) { throw ($lang).Download6 }
curl.exe $web_Url -o $local_Url --progress-bar --retry 3 --ssl-no-revoke
}
if ($param1 -eq "Desktop" -and $null -ne (Get-Module -Name BitsTransfer -ListAvailable) -and !($curl_check )) {
@@ -435,7 +757,7 @@ function downloadScripts($param1) {
}
}
catch [System.Management.Automation.MethodInvocationException] {
catch {
Write-Host ""
Write-Host ($lang).Download $web_name_file -ForegroundColor RED
$Error[0].Exception
@@ -445,6 +767,8 @@ function downloadScripts($param1) {
try {
if ($param1 -eq "Desktop" -and $curl_check) {
$stcode = curl.exe -I -s $web_Url
if (!($stcode -match "200 OK")) { throw ($lang).Download6 }
curl.exe $web_Url -o $local_Url --progress-bar --retry 3 --ssl-no-revoke
}
if ($param1 -eq "Desktop" -and $null -ne (Get-Module -Name BitsTransfer -ListAvailable) -and !($curl_check )) {
@@ -460,7 +784,7 @@ function downloadScripts($param1) {
}
catch [System.Management.Automation.MethodInvocationException] {
catch {
Write-Host ($lang).Download3 -ForegroundColor RED
$Error[0].Exception
Write-Host ""
@@ -518,7 +842,7 @@ if ($win11 -or $win10 -or $win8_1 -or $win8) {
if (!($confirm_uninstall_ms_spoti)) {
do {
$ch = Read-Host -Prompt ($lang).MsSpoti2""
$ch = Read-Host -Prompt ($lang).MsSpoti2
Write-Host ""
if (!($ch -eq 'n' -or $ch -eq 'y')) {
incorrectValue
@@ -544,17 +868,21 @@ if ($win11 -or $win10 -or $win8_1 -or $win8) {
# Attempt to fix the hosts file
$pathHosts = "$Env:windir\System32\Drivers\Etc\hosts"
$pathHosts_bak = "$Env:windir\System32\Drivers\Etc\hosts.bak"
$ErrorActionPreference = 'SilentlyContinue'
$testHosts = Test-Path -Path $pathHosts
if ($testHosts) {
$hosts = Get-Content -Path $pathHosts
if ($hosts -match '.+scdn.+' -or $hosts -match '.+spotify.+' ) {
Write-Host ($lang).HostDel`n
if ($hosts -match '^[^\#|].+scdn.+|^[^\#|].+spotify.+') {
Write-Host ($lang).HostInfo
Write-Host ($lang).HostBak
copy-Item $pathHosts $pathHosts_bak
Write-Host ($lang).HostDel`n
try {
$hosts = $hosts -replace '.+scdn.+', '' -replace '.+spotify.+', ''
$hosts = $hosts -replace '^[^\#|].+scdn.+|^[^\#|].+spotify.+', ''
Set-Content -Path $pathHosts -Value $hosts -Force
$hosts | Where-Object { $_.trim() -ne "" } | Set-Content -Path $pathHosts -Force
}
@@ -572,7 +900,6 @@ if ($premium) {
Write-Host ($lang).Prem`n
}
if (!($premium)) {
Write-Host ($lang).DownBts`n
downloadScripts -param1 "BTS"
Add-Type -Assembly 'System.IO.Compression.FileSystem'
$zip = [System.IO.Compression.ZipFile]::Open("$PWD\chrome_elf.zip", 'read')
@@ -740,11 +1067,15 @@ if (-not $spotifyInstalled -or $upgrade_client) {
Start-Process -FilePath explorer.exe -ArgumentList $PWD\SpotifySetup.exe
while (-not (get-process | Where-Object { $_.ProcessName -eq 'SpotifySetup' })) {}
wait-process -name SpotifySetup
Stop-Process -Name Spotify
}
wait-process -name SpotifySetup
Stop-Process -Name Spotify
# Delete Spotify shortcut if it is on desktop
if ($no_shortcut) {
$ErrorActionPreference = 'SilentlyContinue'
$desktop_folder = DesktopFolder
Start-Sleep -Milliseconds 1000
remove-item "$desktop_folder\Spotify.lnk" -Recurse -Force
}
# Delete the leveldb folder (Fixes bug with incorrect experimental features for some accounts)
@@ -806,6 +1137,16 @@ if (!($block_update_on) -and !($block_update_off)) {
}
if ($ch -eq 'y') { $block_update = $true }
if ($ch -eq 'n') {
$ErrorActionPreference = 'SilentlyContinue'
$exe_onl_fn = Check_verison_clients -param2 "offline"
$exe_bak_fn = Check_verison_clients -param2 'Spotify.bak'
if ((Test-Path -LiteralPath $exe_bak) -and $exe_onl_fn -eq $exe_bak_fn) {
Remove-Item $spotifyExecutable -Recurse -Force
Rename-Item $exe_bak $spotifyExecutable
}
}
$ch = $null
if ($cache_on) {
@@ -819,6 +1160,7 @@ if ($cache_off) {
if (Test-Path -LiteralPath $cache_folder) {
remove-item $cache_folder -Recurse -Force
remove-item $desktop_folder\Spotify.lnk -Recurse -Force
remove-item $start_menu -Recurse -Force
}
}
if (!($cache_on) -and !($cache_off)) {
@@ -849,21 +1191,25 @@ if (!($cache_on) -and !($cache_off)) {
if (Test-Path -LiteralPath $cache_folder) {
remove-item $cache_folder -Recurse -Force
remove-item $desktop_folder\Spotify.lnk -Recurse -Force
remove-item $start_menu -Recurse -Force
}
}
}
if ($exp_standart) { Write-Host ($lang).ExpStandart`n }
if ($exp_spotify) { Write-Host ($lang).ExpSpotify`n }
function Helper($paramname) {
switch ( $paramname ) {
"HtmlLicMin" {
# licenses.html minification
$html_lic_min = @{
HtmlLicMin1 = '\r?\n(?!\(1|\d)', ''
HtmlLicMin2 = '(?m)(^\s*\r?\n)', ''
HtmlLicMin1 = '<li><a href="#6eef7">zlib<\/a><\/li>\n(.|\n)*<\/p><!-- END CONTAINER DEPS LICENSES -->(<\/div>)', '$2'
HtmlLicMin2 = ' ', ''
HtmlLicMin3 = ' ', ''
HtmlLicMin4 = ' ', ''
HtmlLicMin5 = '<li><a href="#6eef7">zlib<\/a><\/li>\n(.|\n)*<\/p><!-- END CONTAINER DEPS LICENSES -->(<\/div>)', ''
HtmlLicMin4 = '(?m)(^\s*\r?\n)', ''
HtmlLicMin5 = '\r?\n(?!\(1|\d)', ''
}
$n = ($lang).NoVariable3
$contents = $html_lic_min
@@ -874,7 +1220,15 @@ function Helper($paramname) {
EmptyBlockAd = 'adsEnabled:!0', 'adsEnabled:!1' # Removing an empty block
FullScreenAd = '(return|.=.=>)"free"===(.+?)(return|.=.=>)"premium"===', '$1"premium"===$2$3"free"===' # Fullscreen act., removing upgrade menu, button
PlaylistSponsorsOff = 'allSponsorships' , '' # Disabling a playlist sponsor
ConnectUnlock = ' connect-device-list-item--disabled' , '' # Connect unlock test for 1.1.91
ConnectUnlock2 = 'connect-picker.unavailable-to-control' , 'spotify-connect'
ConnectUnlock3 = '(className:.,disabled:)(..)' , '$1false'
ConnectUnlock4 = 'return (..isDisabled)(\?..createElement\(..,)' , 'return false$2'
}
#if (!($testconnect)) {
# $offadson_fullscreen.Remove('ConnectUnlock'), $offadson_fullscreen.Remove('ConnectUnlock2'),
# $offadson_fullscreen.Remove('ConnectUnlock3'), $offadson_fullscreen.Remove('ConnectUnlock4')
#}
$n = ($lang).NoVariable2
$contents = $offadson_fullscreen
$paramdata = $xpui_js
@@ -892,7 +1246,15 @@ function Helper($paramname) {
"OffRujs" {
# Remove all languages except En and Ru from xpui.js
$rus_js = @{
OffRujs = '(en:{displayName:"English",displayNameEn:"English"}).*"Vietnamese"', '$1,ru:{displayName:"Русский",displayNameEn:"Russian"'
OffRujs = '(a\.go\.en,)(.+?\])', '$1a.go.ru]'
# temporary translation
clear = 'Remove all downloads', 'Удалить все загрузки'
clear2 = 'Clear cache', 'Очистка кеша'
clear3 = 'Temporary files that Spotify stores for a faster experience on slow networks', 'Временные файлы, которые Spotify хранит для более быстрой работы в медленных сетях'
clear4 = 'Content you have downloaded for offline use', 'Контент, который вы скачали для автономного использования'
clear5 = 'null,"Storage"', 'null,"Хранилище"'
clear6 = '"Downloads:"', '"Загрузки:"'
clear7 = '"Cache:"', '"Кэш:"'
}
$n = ($lang).NoVariable2
$contents = $rus_js
@@ -902,15 +1264,10 @@ function Helper($paramname) {
"RuTranslate" {
# Additional translation of some words for the Russian language
$ru_translate = @{
One = '"one": "Enhanced with [{]0[}] recommended song."', '"one": "Добавлен {0} рекомендованный трек."'
Few = '"few": "Enhanced with [{]0[}] recommended songs."', '"few": "Добавлено {0} рекомендованных трека."'
Many = '"many": "Enhanced with [{]0[}] recommended songs."', '"many": "Добавлено {0} рекомендованных треков."'
Other = '"other": "Enhanced with [{]0[}] recommended songs."', '"other": "Добавлено {0} рекомендованных трека."'
EnhancePlaylist = '"To Enhance this playlist, you.ll need to go online."', '"Чтобы улучшить этот плейлист, вам нужно подключиться к интернету."'
ConfirmAge = '"Confirm your age"', '"Подтвердите свой возраст"'
Premium = '"%price%\/month after. Terms and conditions apply. One month free not available for users who have already tried Premium."', '"%price%/месяц спустя. Принять условия. Один месяц бесплатно, недоступно для пользователей, которые уже попробовали Premium."'
AdFreeMusic = '"Enjoy ad-free music listening, offline listening, and more. Cancel anytime."', '"Наслаждайтесь прослушиванием музыки без рекламы, прослушиванием в офлайн режиме и многим другим. Отменить можно в любое время."'
LyricsBy = '"Lyrics provided by [{]0[}]"', '"Тексты песен предоставлены {0}"'
Premium = '"%price%\/month after. Terms and conditions apply. One month free not available for users who have already tried Premium."', '"%price%/месяц спустя. Принять условия. Один месяц бесплатно, недоступно для пользователей, которые уже попробовали Premium."'
AdFreeMusic = '"Enjoy ad-free music listening, offline listening, and more. Cancel anytime."', '"Наслаждайтесь прослушиванием музыки без рекламы, прослушиванием в офлайн режиме и многим другим. Отменить можно в любое время."'
AddPlaylist = '"Add to another playlist"', '"Добавить в другой плейлист"'
OfflineStorage = '"Offline storage location"', '"Хранилище скачанных треков"'
ChangeLocation = '"Change location"', '"Изменить место"'
@@ -925,8 +1282,7 @@ function Helper($paramname) {
Name = '"Name"', '"Имя"'
ChangeSpeed = '"Change speed"', '"Изменение скорости"'
Years19 = '"You need to be at least 19 years old to listen to explicit content marked with"', '"Вам должно быть не менее 19 лет, чтобы слушать непристойный контент, помеченный значком"'
AddPlaylist2 = '"Add to this playlist"', '"Добавить в этот плейлист"'
Retrying = '"Retrying in [{]0[}]..."', '"Повторная попытка в {0}..."'
AddPlaylist2 = '"Add to this playlist"', '"Добавить в этот плейлист"'
NoConnect = '"Couldn.t connect to Spotify."', '"Не удалось подключиться к Spotify."'
Reconnecting = '"Reconnecting..."', '"Повторное подключение..."'
NoConnection = '"No connection"', '"Нет соединения"'
@@ -955,7 +1311,6 @@ function Helper($paramname) {
AlbumReleaseMany = '"many": "\\"%name%\\" was released %years% years ago this week!"', '"many": "\"%name%\" был выпущен %years% лет назад на этой неделе!"'
AlbumReleaseOther = '"other": "\\"%name%\\" was released %years% years ago this week!"', '"other": "\"%name%\" был выпущен %years% года назад на этой неделе!"'
Speed = '"Speed [{]0[}]×"', '"Скорость {0}×"'
SearchEmpty = '(\")(No \{1\} found for)( \\\"\{0\}\\\"\")', '$1{1} не найдено для$3'
AudiobookFree = '"This audiobook is free"', '"Эта аудиокнига бесплатна"'
AudiobookGet = '"Get"', '"Получить"'
AudiobookBy = '"Buy"', '"Купить"'
@@ -983,8 +1338,9 @@ function Helper($paramname) {
ExpFeatures13 = '(Enable Lyrics match labels in search results",default:)(!1)', '$1!0'
ExpFeatures14 = '(Enable audio equalizer for Desktop and Web Player",default:)(!1)', '$1!0'
ExpFeatures15 = '(Enable showing a new and improved device picker UI",default:)(!1)', '$1!0'
ExpFeatures16 = '(Enable the new home structure and navigation:)(!1)', '$1!0'
ExpFeatures16 = '(Enable the new home structure and navigation",default:)(!1)', '$1!0'
ExpFeatures17 = '(Show "Made For You" entry point in the left sidebar.,default:)(!1)', '$1!0'
ExpFeatures18 = '(Enable option in settings to clear all downloads",default:)(!1)', '$1!0'
}
if ($enhance_like_off) { $exp_features.Remove('ExpFeatures10') }
if ($enhance_playlist_off) { $exp_features.Remove('ExpFeatures11') }
@@ -1006,7 +1362,7 @@ function Helper($paramname) {
}
}
$contents.Keys | ForEach-Object {
$contents.Keys | Sort-Object | ForEach-Object {
if ($paramdata -match $contents.$PSItem[0]) {
$paramdata = $paramdata -replace $contents.$PSItem[0], $contents.$PSItem[1]
@@ -1075,16 +1431,14 @@ if (Test-Path $xpui_js_patch) {
if ($ru) { $test_xpui_ru_bak = Test-Path -Path $xpui_ru_bak_patch }
$test_spotify_exe_bak = Test-Path -Path $spotify_exe_bak_patch
if ($test_xpui_js_bak -or $test_xpui_css_bak) {
if ($test_xpui_js_bak -and $test_xpui_css_bak) {
Remove-Item $xpui_js_patch -Recurse -Force
Rename-Item $xpui_js_bak_patch $xpui_js_patch
Remove-Item $xpui_css_patch -Recurse -Force
Rename-Item $xpui_css_bak_patch $xpui_css_patch
if ($test_xpui_js_bak) {
Remove-Item $xpui_js_patch -Recurse -Force
Rename-Item $xpui_js_bak_patch $xpui_js_patch
}
if ($test_xpui_css_bak) {
Remove-Item $xpui_css_patch -Recurse -Force
Rename-Item $xpui_css_bak_patch $xpui_css_patch
}
if ($test_xpui_lic_bak) {
Remove-Item $xpui_lic_patch -Recurse -Force
Rename-Item $xpui_lic_bak_patch $xpui_lic_patch
@@ -1123,8 +1477,7 @@ if (Test-Path $xpui_js_patch) {
if (!($premium)) { $xpui_js = Helper -paramname "OffadsonFullscreen" }
# Experimental Feature
if ($exp_off) { Write-Host ($lang).ExpOff`n }
if (!($exp_off)) { $xpui_js = Helper -paramname "ExpFeature" }
if (!($exp_spotify)) { $xpui_js = Helper -paramname "ExpFeature" }
# Remove all languages except En and Ru from xpui.js
if ($ru) { $xpui_js = Helper -paramname "OffRujs" }
@@ -1164,7 +1517,7 @@ if (Test-Path $xpui_js_patch) {
$writer.Write([System.Environment]::NewLine + ' button.wC9sIed7pfp47wZbmU6m.pzkhLqffqF_4hucrVVQA{display:none}')
}
# Hide Collaborators icon
if (!($hide_col_icon_off) -and !($exp_off)) {
if (!($hide_col_icon_off) -and !($exp_spotify)) {
$writer.Write([System.Environment]::NewLine + ' .X1lXSiVj0pzhQCUo_72A{display:none}')
}
# Hide broken podcast menu
@@ -1269,8 +1622,7 @@ If (Test-Path $xpui_spa_patch) {
}
# Experimental Feature
if ($exp_off) { Write-Host ($lang).ExpOff`n }
if (!($exp_off)) { $xpui_js = Helper -paramname "ExpFeature" }
if (!($exp_spotify)) { $xpui_js = Helper -paramname "ExpFeature" }
# Remove all languages except En and Ru from xpui.js
if ($ru) { $xpui_js = Helper -paramname "OffRujs" }
@@ -1328,7 +1680,7 @@ If (Test-Path $xpui_spa_patch) {
$writer.Write([System.Environment]::NewLine + ' button.wC9sIed7pfp47wZbmU6m.pzkhLqffqF_4hucrVVQA {display: none}')
}
# Hide Collaborators icon
if (!($hide_col_icon_off) -and !($exp_off)) {
if (!($hide_col_icon_off) -and !($exp_spotify)) {
$writer.Write([System.Environment]::NewLine + ' .X1lXSiVj0pzhQCUo_72A{display:none}')
}
# Hide broken podcast menu
@@ -1429,14 +1781,29 @@ if ($ru) {
Remove-Item $patch_lang -Exclude *en*, *ru* -Recurse
}
# Shortcut Spotify.lnk
# create a desktop shortcut
$ErrorActionPreference = 'SilentlyContinue'
$desktop_folder = DesktopFolder
if (!($no_shortcut)) {
If (!(Test-Path $desktop_folder\Spotify.lnk)) {
$desktop_folder = DesktopFolder
If (!(Test-Path $desktop_folder\Spotify.lnk)) {
$source = "$env:APPDATA\Spotify\Spotify.exe"
$target = "$desktop_folder\Spotify.lnk"
$WorkingDir = "$env:APPDATA\Spotify"
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut($target)
$Shortcut.WorkingDirectory = $WorkingDir
$Shortcut.TargetPath = $source
$Shortcut.Save()
}
}
# create shortcut in start menu
If (!(Test-Path $start_menu)) {
$source = "$env:APPDATA\Spotify\Spotify.exe"
$target = "$desktop_folder\Spotify.lnk"
$target = $start_menu
$WorkingDir = "$env:APPDATA\Spotify"
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut($target)
@@ -1453,7 +1820,6 @@ if ($block_update) {
if ($update_test_exe) {
$exe = "$env:APPDATA\Spotify\Spotify.exe"
$exe_bak = "$env:APPDATA\Spotify\Spotify.bak"
$ANSI = [Text.Encoding]::GetEncoding(1251)
$old = [IO.File]::ReadAllText($exe, $ANSI)
@@ -1461,6 +1827,10 @@ if ($block_update) {
Write-Host ($lang).UpdateBlocked`n
}
elseif ($old -match "(?<=wg:\/\/desktop-update\/.)2(\/update)") {
if (Test-Path -LiteralPath $exe_bak) {
Remove-Item $exe_bak -Recurse -Force
Start-Sleep -Milliseconds 150
}
copy-Item $exe $exe_bak
$new = $old -replace "(?<=wg:\/\/desktop-update\/.)2(\/update)", '7/update'
[IO.File]::WriteAllText($exe, $new, $ANSI)
@@ -1484,9 +1854,22 @@ if ($cache_install) {
downloadScripts -param1 "hide_window"
downloadScripts -param1 "run_ps"
# Spotify.lnk
# create a desktop shortcut
if (!($no_shortcut)) {
$source2 = "$cache_folder\hide_window.vbs"
$target2 = "$desktop_folder\Spotify.lnk"
$WorkingDir2 = "$cache_folder"
$WshShell2 = New-Object -comObject WScript.Shell
$Shortcut2 = $WshShell2.CreateShortcut($target2)
$Shortcut2.WorkingDirectory = $WorkingDir2
$Shortcut2.IconLocation = "$env:APPDATA\Spotify\Spotify.exe"
$Shortcut2.TargetPath = $source2
$Shortcut2.Save()
}
# create shortcut in start menu
$source2 = "$cache_folder\hide_window.vbs"
$target2 = "$desktop_folder\Spotify.lnk"
$target2 = $start_menu
$WorkingDir2 = "$cache_folder"
$WshShell2 = New-Object -comObject WScript.Shell
$Shortcut2 = $WshShell2.CreateShortcut($target2)

View File

@@ -6,13 +6,15 @@
<a href="https://t.me/spotify_windows_mod"><img src="https://raw.githubusercontent.com/amd64fox/SpotX/main/.github/Pic/Shields/tg.svg"></a>
<a href="https://www.youtube.com/results?search_query=https%3A%2F%2Fgithub.com%2Famd64fox%2FSpotX"><img src="https://raw.githubusercontent.com/amd64fox/SpotX/main/.github/Pic/Shields/youtube.svg"></a>
<a href="https://cutt.ly/8EH6NuH"><img src="https://raw.githubusercontent.com/amd64fox/SpotX/main/.github/Pic/Shields/excel.svg"></a>
<a href="https://github.com/amd64fox/SpotX/blob/main/.github/Doc/FAQ.md#faq"><img src="https://raw.githubusercontent.com/amd64fox/SpotX/main/.github/Pic/Shields/faq.svg"></a>
</p>
<h2> <div align="center"><b> Modified Spotify Client for Windows </b></div> </h2>
<h2> <div align="center"><b> Modified Spotify Client for Windows </b></div> </h2>
<h1>System requirements</h1>
- <strong>OS: Windows 7-11</strong>
- <strong>Spotify: Recommended official version [1.1.90.855](https://cutt.ly/8EH6NuH)</strong>
- <strong>Spotify: Recommended official version [1.1.92.647](https://cutt.ly/8EH6NuH)</strong>
- <strong>For Windows Desktop only (Microsoft store version is not suitable).</strong>
- <strong>PowerShell: 3 or higher</strong>
@@ -31,7 +33,7 @@
- <strong>Enabled [Ignore In Recommendations](https://github.com/amd64fox/SpotX/discussions/50#discussioncomment-2996165)</strong>
- <strong>Enabled [Equalizer](https://github.com/amd64fox/SpotX/discussions/50#discussioncomment-3179778)</strong>
- <strong>Enabled [new device picker panel](https://github.com/amd64fox/SpotX/discussions/50#discussioncomment-3179782)</strong>
- <strong>Activated ["Made For You" in the left sidebar](https://github.com/amd64fox/SpotX/discussions/50#discussioncomment-2853981)</strong>
- <strong>Activated [Made For You" in the left sidebar](https://github.com/amd64fox/SpotX/discussions/50#discussioncomment-2853981)</strong>
- <strong>Disabled Sentry (Prevented Sentry from sending console log/error/warning to Spotify developers)</strong>
- <strong>Disabled logging (Stopped various elements to log user interaction)</strong>
- <strong>Removed RTL rules (Removed all right-to-left CSS rules to simplify CSS files)</strong>
@@ -42,17 +44,17 @@
<details>
<summary><small>Usual installation</small></summary><p>
<h4>During installation, you need to confirm some actions, also contains:</h4>
#### During installation, you need to confirm some actions, also contains:
- All [experimental features](https://github.com/amd64fox/SpotX/discussions/50) included
<h4> </h4>
* Just download and run [Install.bat](https://raw.githack.com/amd64fox/SpotX/main/Install.bat)
#### Just download and run [Install.bat](https://raw.githack.com/amd64fox/SpotX/main/Install.bat)
or
- Run The following command in PowerShell:
#### Run The following command in PowerShell:
```ps1
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; (iwr -useb 'https://raw.githubusercontent.com/amd64fox/SpotX/main/Install.ps1').Content | iex
@@ -63,7 +65,7 @@ or
<details>
<summary><small>Automated basic installation</small></summary><p>
<h4>Automated basic installation without confirmation, what does it do?</h4>
#### Automated basic installation without confirmation, what does it do?
- Automatic removal of Spotify MS if it was found
- Automatic installation of the recommended version of Spotify (if another client has already been found, it will be installed over)
@@ -71,14 +73,14 @@ or
<h4> </h4>
- Just download and run [Install_Basic.bat](https://raw.githack.com/amd64fox/SpotX/main/scripts/Install_Basic.bat)
#### Just download and run [Install_Basic.bat](https://raw.githack.com/amd64fox/SpotX/main/scripts/Install_Basic.bat)
or
- Run The following command in PowerShell:
#### Run The following command in PowerShell:
```ps1
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; iex "& { $((iwr -useb 'https://raw.githubusercontent.com/amd64fox/SpotX/main/Install.ps1').Content) } -confirm_uninstall_ms_spoti -confirm_spoti_recomended_over -podcasts_on -cache_off -block_update_off -exp_off -start_spoti"
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; iex "& { $((iwr -useb 'https://raw.githubusercontent.com/amd64fox/SpotX/main/Install.ps1').Content) } -confirm_uninstall_ms_spoti -confirm_spoti_recomended_over -podcasts_on -cache_off -block_update_off -exp_standart -hide_col_icon_off -start_spoti"
```
</details>
@@ -97,11 +99,11 @@ or
<h4> </h4>
- Just download and run [Install_Auto.bat](https://raw.githack.com/amd64fox/SpotX/main/scripts/Install_Auto.bat)
#### Just download and run [Install_Auto.bat](https://raw.githack.com/amd64fox/SpotX/main/scripts/Install_Auto.bat)
or
- Run The following command in PowerShell:
#### Run The following command in PowerShell:
```ps1
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; iex "& { $((iwr -useb 'https://raw.githubusercontent.com/amd64fox/SpotX/main/Install.ps1').Content) } -confirm_uninstall_ms_spoti -confirm_spoti_recomended_over -podcasts_off -cache_off -block_update_on -start_spoti"
@@ -111,7 +113,7 @@ or
<details>
<summary><small>Installing with Scoop</small></summary><p>
<h4>Installing SpotX via the Scoop package manager includes:</h4>
#### Installing SpotX via the Scoop package manager includes:
- Automatic removal of Spotify MS if it was found
- Automatic installation of the recommended version of Spotify (if another client has already been found, it will be installed over)
@@ -121,19 +123,19 @@ or
<h4> </h4>
<h4>Installing SpotX with Scoop</h4>
#### Installing SpotX with Scoop
Just run these commands in the command prompt or powershell:
<br>
<br>```scoop bucket add nonportable```
<br>```scoop install spotx-np```
<h4>Updating SpotX with Scoop</h4>
#### Updating SpotX with Scoop
To update SpotX or check for updates run this command in the command prompt or powershell:
```scoop update spotx-np```
<h4>Uninstalling SpotX with Scoop</h4>
#### Uninstalling SpotX with Scoop
To fully uninstall SpotX and Spotify run this command in the command prompt or powershell:
@@ -144,17 +146,17 @@ To fully uninstall SpotX and Spotify run this command in the command prompt or p
<details>
<summary><small>Installation for premium</small></summary><p>
<h4>Usual installation only without ad blocking, for those who have a premium account, also contains:</h4>
#### Usual installation only without ad blocking, for those who have a premium account, also contains:
- All [experimental features](https://github.com/amd64fox/SpotX/discussions/50) included
<h4> </h4>
* Just download and run [Install_Prem.bat](https://raw.githack.com/amd64fox/SpotX/main/scripts/Install_Prem.bat)
#### Just download and run [Install_Prem.bat](https://raw.githack.com/amd64fox/SpotX/main/scripts/Install_Prem.bat)
or
- Run The following command in PowerShell:
#### Run The following command in PowerShell:
```ps1
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; iex "& { $((iwr -useb 'https://raw.githubusercontent.com/amd64fox/SpotX/main/Install.ps1').Content) } -premium"
@@ -171,50 +173,16 @@ You can specify various parameters for a more flexible installation, more [detai
<h1>Uninstall</h1>
- Just run [Uninstall.bat](https://cutt.ly/dErpPEK)
- Just run [Uninstall.bat](https://raw.githack.com/amd64fox/SpotX/main/Uninstall.bat)
or
- Reinstall Spotify ([Full uninstall](https://github.com/amd64fox/Uninstall-Spotify) recommended)
<h1>Possible problems</h1>
<h1>FAQ</h1>
<details>
<summary><small>In most cases, this helps solve problems.</small></summary><p>
- Read [FAQ](https://github.com/amd64fox/SpotX/discussions/111)
If you notice an error or other malfunction in the mod or in its installation, then do not rush to create a problem report, try this couple of simple steps, this helps to solve a large number of different bugs:
- Completely remove Spotify so that there are no tails from the old versions of the client, [this patch](https://github.com/amd64fox/Uninstall-Spotify) will do it for you in one click.
- Also, as an additional measure, look at your host file, it should not contain different URLs that can cause the client to work incorrectly, even if you are sure that you did not add anything to it, then go into it anyway and check it for sure, since Some ad blockers that you may have used in the past may have added entries to the host file automatically without your consent.
To quickly open the host file, press `Win + R` and enter `%WinDir%\System32\Drivers\Etc\hosts`, in order for the system to allow you to edit the file, you need to open it as an administrator.
- If you still see errors, then install the original client and check this error there, if the error is present in the original client, then here you need to wait for a fix from the Spotify developers.
To expedite resolution of a problem in the original client, please create a problem report on their [support forum](https://community.spotify.com/t5/Desktop-Windows/bd-p/desktop_windows).
In the meantime, you are waiting for a fix, you can temporarily return to the previous version of Spotify that worked for you and block updates in it, [this instruction](https://github.com/amd64fox/Rollback-Spotify) will help you with this.
</details>
<details>
<summary><small>Outdated versions of PowerShell</small></summary><p>
If you are using Windows 7, there may be errors in the installation process due to an outdated version of NET Framework and PowerShell.
Do the following:
- Upgrade to [NET Framework 4.8](https://go.microsoft.com/fwlink/?linkid=2088631)
- Upgrade to [WMF 5.1](https://www.microsoft.com/en-us/download/details.aspx?id=54616)
- Reboot your PC
</details>
<details>
<summary><small>How do I go back to the previous version of the client ?</small></summary><p>
If you have problems with the patch after upgrading the client version, then use this [tool](https://github.com/amd64fox/Rollback-Spotify) to revert back to the working version.
</details>
<h1>Additional Notes</h1>
<h1>Credits</h1>
- The repository is based on <a href="https://github.com/mrpond/BlockTheSpot">BlockTheSpot</a>, and also some tricks were taken from <a href="https://github.com/khanhas/spicetify-cli">spicetify-cli</a>, many thanks to the contributors
- SpotX will only work correctly on the latest versions of Spotify, please make sure of this before asking a question.
- The modifiable files are replaced by the Spotify installer every time it is updated, so you will need to apply the patch again when this happens.
- [SpotX will be installed even if you are using Spicetify](https://github.com/amd64fox/SpotX/discussions/28#discussioncomment-2389043), but you may need to run Install.bat again after running the `spicetify apply` or other commands.

View File

@@ -1,6 +1,6 @@
@echo off
powershell -Command "&{[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12}; """"& { $((Invoke-WebRequest -UseBasicParsing 'https://raw.githubusercontent.com/amd64fox/SpotX/main/Install.ps1').Content)} -confirm_uninstall_ms_spoti -confirm_spoti_recomended_over -podcasts_off -cache_off -block_update_on -start_spoti """" | Invoke-Expression"
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe -Command "&{[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12}; """"& { $((Invoke-WebRequest -UseBasicParsing 'https://raw.githubusercontent.com/amd64fox/SpotX/main/Install.ps1').Content)} -confirm_uninstall_ms_spoti -confirm_spoti_recomended_over -podcasts_off -cache_off -block_update_on -start_spoti """" | Invoke-Expression"
pause
exit /b

View File

@@ -1,6 +1,6 @@
@echo off
powershell -Command "&{[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12}; """"& { $((Invoke-WebRequest -UseBasicParsing 'https://raw.githubusercontent.com/amd64fox/SpotX/main/Install.ps1').Content)} -confirm_uninstall_ms_spoti -confirm_spoti_recomended_over -podcasts_on -cache_off -block_update_off -exp_off -start_spoti"""" | Invoke-Expression"
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe -Command "&{[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12}; """"& { $((Invoke-WebRequest -UseBasicParsing 'https://raw.githubusercontent.com/amd64fox/SpotX/main/Install.ps1').Content)} -confirm_uninstall_ms_spoti -confirm_spoti_recomended_over -podcasts_on -cache_off -block_update_off -exp_standart -hide_col_icon_off -start_spoti"""" | Invoke-Expression"
pause
exit /b

View File

@@ -1,6 +1,6 @@
@echo off
powershell -Command "&{[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12}; """"& { $((Invoke-WebRequest -UseBasicParsing 'https://raw.githubusercontent.com/amd64fox/SpotX/main/Install.ps1').Content)} -premium """" | Invoke-Expression"
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe -Command "&{[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12}; """"& { $((Invoke-WebRequest -UseBasicParsing 'https://raw.githubusercontent.com/amd64fox/SpotX/main/Install.ps1').Content)} -premium """" | Invoke-Expression"
pause
exit /b