DEV Community

Julien Lengrand-Lambert
Julien Lengrand-Lambert

Posted on • Originally published at on

Automating the activation / deactivation of Spotify's proxy settings

Automating the activation / deactivation of Spotify's proxy settings

I'm a BIG fan of Spotify. I use it every day, hours on end.

I like the fat client though, I find the web version way too buggy and unstable.

At ING, we use a HTTP proxy and I have configured Spotify to go through the proxy. At home, I don't use anything.

This means that every day, I have to go back to my settings, disable / enable the proxy and restart Spotify. This is very annoying.

So annoying in fact that I started using the web player at home, to my disappointment.

Finally, it go me tired enough so I decided to dig deeper into the issue and find a solution. It had to be possible to automate this.

The first step was to find the location of the config file. On my Macbook, it is located in $HOME/Library/Application Support/Spotify/prefs.

In this file, I saw the line : network.proxy.mode=1.

The rest is child's play

Here is the final script I came out with to enable/disable spotify's proxy settings. I called it spotiProxy


SPOTIFY_PREFS="$HOME/Library/Application Support/Spotify/prefs"
PROXY_ON="network.proxy.mode=2" #HTTP Proxy
PROXY_OFF="network.proxy.mode=1" #No proxy

if [! -f "$SPOTIFY_PREFS"]; then
    echo "Spotify preference file not found. Exiting"
    exit 1

if ["$ON_OFF" = "on"]
    echo "Activating Spotify proxy settings"
    sed -i -e "s/$PROXY_OFF/$PROXY_ON/g" "$SPOTIFY_PREFS"
elif ["$ON_OFF" = "off"]
    echo "Deactivating Spotify proxy settings"
    sed -i -e "s/$PROXY_ON/$PROXY_OFF/g" "$SPOTIFY_PREFS"
elif ["$ON_OFF" = "show"]
    cat "$SPOTIFY_PREFS"
    exit 1
    echo "Invalid command entered. Please use 'spotiProxy on' or 'spotiProxy off'"
    exit 1

number_processes=$(pgrep Spotify | wc -l)
if [$number_processes -gt 1] 
    echo "Restarting Spotify"
    osascript -e 'quit app "Spotify"'
    sleep 1
    open -a Spotify
Enter fullscreen mode Exit fullscreen mode

It's usage is very simple :

  • Call it with spotiProxy on (or off)
  • It will set you settings accordingly, and restart Spotify if it was already running.
  • Enjoy!

This script is run automatically every time I arrive at home or at the office. Nothing to do any more. Joy!

If you want more info, you can check out the related Spotify forum post or the gist on github.

See you next time!

<!--kg-card-end: markdown--><!--kg-card-end: markdown-->

Discussion (0)