- Get the power to switch spotify accounts without having to log in everytime
- Fully made in Go
- Very fast & simple
- Customisable user folder name
- Portable to store & move the user folder anywhere
- Windows
- Linux
- MacOS (called darwin)
- AMD64 : 64 bit cpu
- 386 : 32 bit cpu
- ARM : arm cpu
- ARM64 : arm 64 bit cpu
- Go to Releases page
- Download the version for your platform & architecture
- Extract files and put them where you want the app to be
- Execute the main file
This creates a folder called "New User", and makes a copy of your Spotify profile called "prefs".
Now you can move and customise however you want your user profile folder.
- Go inside your user profile folder that you want to switch to.
- Execute the switch file
This puts the "prefs" file from the user profile into the Spotify directory.
This chapter is optional, as you can simply go to you "Spotify Switcher App" folder and go to your user folder that you wish and execute the switch executable.
I provide a powershell script. In the future i may provide a bash version.
How i will make it even easier for me to switch accounts is to put this script into my Windows Terminal profile ps1 file, which is loaded whenever i open my terminal, and then i can assign aliases.
If you want to do the same google "Windows Terminal profile ps1 config".
function spotifySwitchGO {
param (
[Parameter(Mandatory = $true)]
[string]$accountAlias
)
$spotifyAccountsFolderNames = @{
sp1 = 'Main'
sp2 = 'Mini-Alex'
sp3 = 'Mini-Alex2'
}
foreach ($key in $spotifyAccountsFolderNames.Keys) {
if ($key -eq $accountAlias) {
$user = $spotifyAccountsFolderNames[$key]
break
}
}
$switcherPath = Join-Path 'C:/App/Spotify Switcher/' "$user" '/switch.exe'
& "$switcherPath"
}
set-alias -Name sp -Value spotifySwitchGO
- We tell our console to get the name that we type after the sp alias
- We create a map with keys as our aliases for our accounts and keys for the name of the accounts folder
- We loop through the map and check if what we provided in the console matches any key from our map and if yes then assign the value of that key to a variable
- Join the path of our Spotify Switcher App, with the name of the user folder we wanted from the $user variable, and with the name of our switch executable
- Then using the & symbol we ensure that we run the executable from that path
- We assign a alias for our function so we can easily just type in our console, to switch to the "Main" account:
sp sp1
- That's it! It can be complicated but if you break it down it's easy, and if you don't want this much complexity you can make your own function with simple if and else if statements.
I don't recommend this aproach because the releases are up to date with the source code. The only times they will be delayed is when i would want to update the documentation.
When running from source without building it is SLOWER than building or running the distributed executables from the Release page.
You are required to have this tools:
- git (for cloning)
- go (for building & running)
- Clone the repository into a folder
- Open a console/terminal and go inside that folder
- Run the following command:
go build main.go
- Then go inside the Source folder
- Run the following command:
go build switch.go
- Clone the repository into a folder
- Open a console/terminal and go inside that folder
- Run the following command - to make a new user folder:
go run main.go
- Then go inside your user folder
- Run the following command - to switch to that user account
go run switch.go
You can contribute with scripts, examples, simpler or more optimised ones, maybe in bash or other scripting languages for making it a easier time for the linux community.
You can also contribute with optimisations to the main source code or the switcher one.
Any contribution is warm welcomed. Although i would ask from anyone wanting to contribute to the app to follow these goals of the project:
- Fast and simple
- Efficient
- Cross-compatible