Spogo 🎵



Spotify in the convenience of your command-line! Inspired by spotify-tui.
🚀 Demo
https://github.com/user-attachments/assets/f56fa98d-f6fe-448c-acb8-c13975218c19
🛠️ Installation Steps:
🐧 Linux & MacOS
1. Clone the repo.
git clone https://github.com/dionvu/spogo && cd spogo
2. Build.
go build
3. Move the binary.
sudo mv spogo /usr/local/bin
4. Clean up cloned files.
cd .. && rm -rf spogo
5. Run and follow configuration instructions
spogo
🪟 Windows
Apologies to all windows people, I'll figure it out within the next 3-5 years promise. 👍
⚙️ Configuration
1. Navigate to Spotify Developer Dashboard and click on "Create App".
2. Add a the following URI to "Redirect URIs" section, fill in the rest of the fields and press save.
http://localhost:42069/callback
3. Copy your Spotify Client ID and Client Secret for later use.
4. Navigate to Spogo configuration directory and open "config.yaml" in your prefered editor.
cd ~ && cd .config/spogo
vim config.yaml
5. Set your Spotify Client ID and Client Secret.
spotify:
client_id: "YOUR_CLIENT_ID_HERE"
client_secret: "YOUR_CLIENT_SECRET_HERE"
🎵 Spotify Devices
Since Spogo is not a Spotify client and relies on the Spotify Web API, an external playback device is required.
It is recommended to use Spotifyd, but the offical Spotify client works too. (The offical web client also works but I wouldn't recommend it)
Select your playback device by running:
spogo d
You will only need to do this once since your device will be cached for your convenience.
🧐 Commands
⏯️ Control
next / n - Skips playback to next track.
previous/ prev - Skips playback to next track.
forward/ f - Skips current track forward 15s.
backward/ f - Skips current track backward 15s.
& more...
📝 Others
info / i - Prints details about current track.
device / d - Manage playback devices.
search / s - Search for an album, track, artist, podcast, episode, etc.
& more...
❌ Uninstallation Steps:
1. Remove binary.
sudo rm /usr/local/bin/spogo
2. Remove config files.
rm -rf ~/.config/spogo
3. Remove cache files.
rm -rf ~/.cache/spogo
4. Farewell! 🫡