SpotX-Official / SpotX-Bash

SpotX Mac and Linux adblocker for the Spotify desktop client, in Bash
MIT License
1.7k stars 58 forks source link

Patch disappears after about 2 weeks #36

Closed MrBeardedGuy closed 3 months ago

MrBeardedGuy commented 3 months ago

🧐 Have you fully read the README and viewed similar issues?

Π‘ountry of your account

Switzerland

What is your Spotify Plan?

Free

Do you have Spicetify installed?

No

β„Ή Computer information

- Spotify version: 1.2.33.1039 MacOS (Intel)
- OS: Sosoma 14.4 
- Shell: zsh

πŸ“ Description

  1. Run bash <(curl -sSL https://spotx-official.github.io/run.sh) -B --installmac
  2. Install the latest available build (i.e 1.2.33.1039)
  3. Mac OS shows dialog to allow Spotify to accept incoming connections and access to the download folder (see below)
  4. Deny both dialogs
  5. Use patched Spotify for about a couple of weeks with no ads
  6. Observe no update during this period
  7. Open again Spotify after 2 weeks
  8. Mac OS shows again the dialogs as in point 3
  9. Deny both dialogs in order to use Spotify
  10. Spotify, now has ads even though the version is the same (1.2.33.1039)
    ... image

image

πŸ–₯️ Terminal Input/Output


➜  ~ bash <(curl -sSL https://spotx-official.github.io/run.sh) -B

β–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ•—  β–ˆβ•—  β–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ•— β–ˆβ•—
β–ˆβ•”β•β•β•β–ˆβ•”β•β–ˆβ•—β–ˆβ•”β•β•β–ˆβ•—β•šβ•β–ˆβ•”β•β•β•šβ–ˆβ•—β–ˆβ•”β•  β–ˆβ•”β•β–ˆβ•—β–ˆβ•”β•β–ˆβ•—β–ˆβ•”β•β•β•β–ˆβ•‘ β–ˆβ•‘
β–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ•”β•β–ˆβ•‘  β–ˆβ•‘  β–ˆβ•‘   β•šβ–ˆβ•”β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ•‘
β•šβ•β•β–ˆβ•‘β–ˆβ•”β•β• β–ˆβ•‘  β–ˆβ•‘  β–ˆβ•‘   β–ˆβ•”β–ˆβ•—β•šβ•β•β–ˆβ•”β•β–ˆβ•—β–ˆβ•”β•β–ˆβ•‘β•šβ•β•β–ˆβ•‘β–ˆβ•”β•β–ˆβ•‘
β–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ•‘   β•šβ–ˆβ–ˆβ–ˆβ•”β•  β–ˆβ•‘  β–ˆβ•”β• β–ˆβ•—  β–ˆβ–ˆβ–ˆβ•”β•β–ˆβ•‘ β–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ•‘ β–ˆβ•‘
β•šβ•β•β•β•β•šβ•    β•šβ•β•β•   β•šβ•  β•šβ•  β•šβ•  β•šβ•β•β• β•šβ• β•šβ•β•šβ•β•β•β•β•šβ• β•šβ•

Latest supported version: 1.2.33.1042
Detected Spotify version: 1.2.33.1039

βœ” Created backup
βœ” Applied free-tier plan patches
βœ” Enabled experimental features
βœ” Blocked automatic updates
βœ” Codesigned Spotify
βœ” Finished```

### πŸ“Έ Screenshots

_No response_
jetfir3 commented 3 months ago

Patches don't just disappear or undo themselves. Stock Spotify is being reinstalled/updated at some point which removes the patches due to files being overwritten. Now the question is how.

Spotify's built-in client updater would never update itself to the same version. The client doesn't know if it's patched and try to "clean" itself or something. The client has a version number and checks Spotify's servers while the client is open and running every so often to see if a new version is out... if a new version is detected it will add a notice on the Spotify "About" page (Spotify -> About Spotify) asking if you want to download the update. If this is ignored long enough the client will eventually download the update and install the update after Spotify is closed (process killed, not minimized).

So either:

The only thing that could be done to resolve this on my end would be if the patches related to blocking updates were not working and needed to be updated for the most recent clients. But, as I've explained above, it would be impossible for the built-in client updater to re-install the same exact version... so if you patched 1.2.33.1039 2 weeks ago and now 1.2.33.1039 is completely stock.. it has nothing to do with SpotX-Bash or even Spotify's built-in updater and something else is going on.

The following three commands would help you track the dates of things...

ls -la /Applications/Spotify.app/Contents/Resources/Apps
ls -la /Applications/Spotify.app/Contents/MacOS/
ls -la /Applications/

With the first two command you should see .bak files which confirm SpotX-Bash was run and made backup files.. along with file modification dates. The third command would list everything in Applications but, more specifically, would show the date/time Spotify.app was installed.

You'd need to note these dates/times and compare them to changes in the future if this were to happen again.

This issue is outside the scope of the repo/script... something is happening on your system which is reinstalling stock Spotify or you didn't use -B like you thought you did and weren't using the same client version like you thought you were.

You can test that the patches to block updates are working by re-running SpotX-Bash with ONLY the -f flag which forces SpotX-Bash to re-patch and "already patched" client. Since -B isn't used.. updates are NOT blocked. Then open Spotify and open the About page (Spotify drop-down button in top toolbar > About Spotify) and the About page should open and shortly after the About page will mention that a new update is available (as long as a newer version is available.. which is should be if you are still running v1.2.33.1039). This means auto-updates are not blocked -- AS EXPECTED. Quickly close/exit Spotify so any updates don't auto-download... now re-run SpotX-Bash with the -fB flags which will re-patch Spotify and now block auto-updates. Afterwards, you should be able to go back to the Spotify About page and you would no longer see the message saying an update is available -- updates successfully blocked.

Spotify cannot update itself at this point. Only manually updating yourself or some 3rd-party tool can reinstall or update Spotify (including SpotX-Bash with --installmac flag).

jetfir3 commented 3 months ago

Closing. No response in 7+ days. Everything that needed to be said is in the previous comment -- whatever is going on is not caused by SpotX-Bash.

samuelawachie commented 3 months ago

The following three commands would help you track the dates of things... ls -la /Applications/Spotify.app/Contents/Resources/Apps ls -la /Applications/Spotify.app/Contents/MacOS/ ls -la /Applications/

Hi, just was going through this issue, and noticed that you mentioned these folders as places to look to see if SpotX is installed and when (on MacOS). Can someone run similar tests on Linux? After installing SpotX-Bash, and then installing Spicetify on top of it, I know that SpotX is working because it's blocking ads as it should. But there doesn't seem to be any files that I see in the filesystem to show that it is installed. In the Spotify client (I'm using an older one to be able to use the Old UI), there is also no indication that it is installed. Is there any log files, or check using the terminal, or within Spotify client itself that I can do to indicate that SpotX-bash is installed without resorting to the symptoms (like checking that adblock is still functional and the like)?

jetfir3 commented 3 months ago

@samuelawachie

running the SpotX-Bash command would tell you if it's patched or not (script output will tell you it's already patched and exit).

Doing this would also tell you the app path Spotify is installed in. You can look in that path to view if there is a Spotify backup (this would also mean it's patched).

The Windows and macOS clients have an "About" page which shows info about SpotX (when used) but, unfortunately, the Linux client has no About page where we can "mark our turf".

I should also note that both SpotX and Spicetify do not guarantee proper function if both mods are used at once. ONLY SpotX should be used.. or ONLY Spicetify should be used. Using both and all expectations go out the window. And neither of us will entertain support issues when both are used. This has nothing to do with wanting users to "only use our stuff".. but the mods/patches with each could counteract others or cause additional issues.