Sobre el proyecto
# Psst
Psst es un cliente de Spotify de alto rendimiento y multiplataforma que cuenta con una interfaz gráfica de usuario (GUI) nativa. Escrito completamente en Rust, evita la sobrecarga de las aplicaciones basadas en Electron, proporcionando una experiencia ligera y receptiva. El software es totalmente multiplataforma y admite Windows, Linux y macOS.
## Características principales
- **Rendimiento nativo**: Construido con Rust para mayor velocidad y eficiencia, utilizando la biblioteca Druid UI para ofrecer una apariencia y sensación nativas.
- **Funcionalidades básicas**: Admite la reproducción de pistas en formato Vorbis, navegación por álbumes y pistas guardados, listas de reproducción seguidas y listas de géneros, incluido el contenido "Para ti".
- **Búsqueda y descubrimiento**: Permite buscar artistas, álbumes y pistas directamente dentro de la aplicación.
- **Soporte para podcasts**: Incluye funcionalidad para navegar y escuchar podcasts.
- **Controles de reproducción**: Cuenta con control mediante teclas multimedia, ajuste de volumen de audio y normalización de la sonoridad del audio.
- **Temas**: Incluye una opción de tema oscuro.
- **Privacidad**: Se conecta únicamente a los servidores oficiales de Spotify; no realiza llamadas telefónicas ni envía datos externos. Las credenciales del usuario no se almacenan localmente; en su lugar, se utilizan tokens de autenticación reutilizables de Spotify. Los cachés se almacenan localmente y pueden eliminarse en cualquier momento.
## Requisitos
- Se requiere una cuenta de **Spotify Premium** para utilizar la aplicación.
- A partir de febrero de 2026, debido a cambios en las políticas de acceso al desarrollador de Spotify, Psst requiere que los usuarios registren su propio ID de Cliente de Desarrollador de Spotify para las funciones de la API web (como búsqueda, acceso a la biblioteca y listas de reproducción). Los usuarios deben registrar una aplicación en el Panel de desarrollo de Spotify e ingresar el ID de Cliente en la pantalla de inicio de sesión de Psst.
## Soporte de plataformas
- **Windows**: Disponible mediante descarga del ejecutable.
- **macOS**: Disponible mediante instalador DMG.
- **Linux**: Disponible para arquitecturas x86_64 y aarch64, incluidos paquetes Debian (.deb).
- **OpenBSD**: En desarrollo; el soporte puede ser inestable.
También hay versiones no oficiales disponibles a través del Repositorio de Usuarios de Arch (AUR) y Homebrew.
## Instalación
Los binarios precompilados se pueden descargar desde la [página de lanzamientos de GitHub](https://github.com/jpochyla/psst/releases/latest).
### Compilación desde el código fuente
Para compilar Psst desde el código fuente, necesitas la versión estable más reciente de Rust (al menos 1.65.0).
#### Dependencias para Linux
- **Debian/Ubuntu**: `sudo apt-get install libssl-dev libgtk-3-dev libcairo2-dev libasound2-dev`
- **RHEL/Fedora**: `sudo dnf install openssl-devel gtk3-devel cairo-devel alsa-lib-devel`
#### Comandos de compilación
```shell
cargo build
# Añadir --release para una compilación de lanzamiento.
```
Para ejecutar la GUI:
```shell
cargo run --bin psst-gui
```
Para crear un paquete de instalación (por ejemplo, .app para macOS):
```shell
cargo install cargo-bundle
cargo bundle --release
```
## Estructura del proyecto
- `/psst-core`: Biblioteca principal que gestiona sesiones TCP de Spotify, recuperación de audio, decodificación, salida y cola de reproducción.
- `/psst-gui`: La aplicación GUI construida con Druid.
- `/psst-cli`: Una herramienta CLI de ejemplo para reproducir pistas.
## Hoja de ruta
El desarrollo actual se centra en mejorar la estabilidad y añadir funciones faltantes como la gestión de listas de reproducción (seguir/dejar de seguir, añadir/quitar pistas), mejores mecanismos de caché, resistencia a errores de red y paquetes de aplicaciones específicos del sistema operativo. Las futuras mejoras de la interfaz de usuario incluyen un diseño de dos paneles, detección automática de temas claros/oscuros del sistema operativo y listas virtualizadas para un mejor rendimiento con bibliotecas grandes.
## Contribuciones
Se aceptan contribuciones. El proyecto depende de los esfuerzos de la comunidad para mejorar las funciones y corregir errores. Para obtener más detalles sobre la estructura de la base de código y las directrices de contribución, consulta la sección de desarrollo del repositorio.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.