https://github.com/florianruby/spotcli
๐งControl your Spotify from the Terminal & directly access stats using LastFM
https://github.com/florianruby/spotcli
Last synced: 4 months ago
JSON representation
๐งControl your Spotify from the Terminal & directly access stats using LastFM
- Host: GitHub
- URL: https://github.com/florianruby/spotcli
- Owner: FlorianRuby
- License: mit
- Created: 2025-05-11T12:06:19.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-05-11T14:59:08.000Z (8 months ago)
- Last Synced: 2025-05-11T15:35:51.351Z (8 months ago)
- Homepage:
- Size: 1000 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SpotCli - Spotify Console Control ๐ต
A powerful command-line interface (CLI) tool for controlling Spotify from your terminal, with integrated Last.fm support. Written in Rust for maximum performance and reliability.
## Features
- ๐ต Control Spotify playback (play, pause, skip, previous)
- ๐ Volume control (including mute/unmute)
- ๐ Search and play specific songs and playlists
- ๐ Toggle shuffle mode
- ๐ View currently playing track with progress bar
- ๐ Queue management (view and add tracks)
- ๐ Last.fm integration
- Scrobbling support
- View detailed statistics
- Track listening history
- Display top artists, tracks, and albums
## Installation
### Windows
Currently working on an installer, however
### Building from Source
1. Make sure you have Rust and Cargo installed
2. Clone the repository
3. Build the project:
```bash
cargo build --release
```
## Usage
### Basic Commands
```bash
spotcli # Show currently playing track
spotcli help # Show help message
spotcli fetch # Show Spotify and Last.fm stats in neofetch style
```
### Playback Control
```bash
spotcli play # Resume playback
spotcli play [song name] # Play a specific song
spotcli pause # Pause playback
spotcli next/skip # Skip to next track
spotcli prev # Skip to previous track
spotcli shuffle # Toggle shuffle mode on/off
```
### Volume Control
```bash
spotcli volume/vol [0-100] # Set volume (0-100)
spotcli mute # Mute volume
spotcli unmute # Unmute volume (restores previous volume)
```
### Queue Management
```bash
spotcli queue # Show next 5 tracks in queue
spotcli add [track name] # Add a track to queue
spotcli playlist [name] # Play a playlist
```
### Last.fm Integration
```bash
spotcli lastfm login # Set up Last.fm scrobbling
spotcli lastfm status # Show Last.fm username
spotcli lastfm stats # Show Last.fm statistics
spotcli lastfm logout # Disable Last.fm scrobbling
```
## Configuration
The application stores its configuration files in the following location:
- Windows: `%APPDATA%\spotify-cli\`
Configuration files:
- `token.json`: Stores Spotify authentication tokens
- `lastfm.json`: Stores Last.fm credentials
- `volume_cache.json`: Stores volume state for mute/unmute functionality
## Dependencies
- Rust 2021 edition
- Required crates:
- reqwest (with blocking and json features)
- serde (with derive feature)
- serde_json
- base64
- dirs
- colored
- tokio
- webbrowser
- rpassword
- md5
- chrono
## License
This project is licensed under the MIT License - see the LICENSE file for details.
## Author
Florian Ruby
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## Acknowledgments
- Spotify Web API
- Last.fm API
# SpotCli




## Fetch


organise later