프로젝트 소개
# Psst
Psst는 네이티브 그래픽 사용자 인터페이스(GUI)를 갖춘 고성능 멀티 플랫폼 Spotify 클라이언트입니다. Rust로 완전히 작성되어 Electron 기반 애플리케이션의 오버헤드를 피하며, 가볍고 반응성 좋은 경험을 제공합니다. 소프트웨어는 완전한 크로스 플랫폼을 지원하여 Windows, Linux, macOS를 모두 지원합니다.
## 주요 기능
- **네이티브 성능**: Rust로 구축되어 속도와 효율성을 제공하며, Druid UI 라이브러리를 사용하여 네이티브 외관과 느낌을 구현합니다.
- **핵심 기능**: Vorbis 트랙 재생, 저장된 앨범 및 트랙 탐색, 팔로우한 플레이리스트, 장르 플레이리스트(포함 "For You" 콘텐츠)를 지원합니다.
- **검색 및 발견**: 앱 내에서 아티스트, 앨범, 트랙을 직접 검색할 수 있습니다.
- **팟캐스트 지원**: 팟캐스트를 탐색하고 청취할 수 있는 기능을 포함합니다.
- **재생 컨트롤**: 미디어 키 제어, 오디오 볼륨 조정, 오디오 라우드니스 정규화를 제공합니다.
- **테마**: 다크 테마 옵션을 포함합니다.
- **프라이버시**: 공식 Spotify 서버에만 연결하며, 홈 콜을 하지 않습니다. 사용자 자격 증명은 로컬에 저장되지 않으며, 대신 Spotify에서 발급한 재사용 가능한 인증 토큰을 사용합니다. 캐시는 로컬에 저장되며 언제든지 삭제할 수 있습니다.
## 요구 사항
- 애플리케이션 사용에는 **Spotify Premium** 계정이 필요합니다.
- 2026년 2월 기준, Spotify 개발자 액세스 정책 변경으로 인해 Psst는 Web API 기능(검색, 라이브러리 액세스, 플레이리스트 등)을 위해 사용자가 자체 Spotify Developer Client ID를 등록해야 합니다. 사용자는 Spotify Developer Dashboard에서 앱을 등록하고 Psst의 로그인 화면에 Client ID를 입력해야 합니다.
## 플랫폼 지원
- **Windows**: 실행 파일 다운로드를 통해 사용 가능합니다.
- **macOS**: DMG 설치 파일을 통해 사용 가능합니다.
- **Linux**: x86_64 및 aarch64 아키텍처를 지원하며, Debian 패키지(.deb)를 포함합니다.
- **OpenBSD**: 작업 진행 중이며, 지원이 불안정할 수 있습니다.
비공식 빌드는 Arch User Repository(AUR)과 Homebrew를 통해 사용할 수 있습니다.
## 설치
사전 빌드된 바이너리는 [GitHub Releases 페이지](https://github.com/jpochyla/psst/releases/latest)에서 다운로드할 수 있습니다.
### 소스에서 빌드
Psst를 소스에서 빌드하려면 최신 안정 버전의 Rust(최소 1.65.0)가 필요합니다.
#### 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`
#### 빌드 명령
```shell
cargo build
# 릴리스 빌드를 위해 --release를 추가합니다.
```
GUI를 실행하려면:
```shell
cargo run --bin psst-gui
```
설치 번들(예: macOS .app)을 생성하려면:
```shell
cargo install cargo-bundle
cargo bundle --release
```
## 프로젝트 구조
- `/psst-core`: Spotify TCP 세션, 오디오 검색, 디코딩, 출력, 재생 큐를 처리하는 핵심 라이브러리.
- `/psst-gui`: Druid로 구축된 GUI 애플리케이션.
- `/psst-cli`: 트랙 재생을 위한 예제 CLI 도구.
## 로드맵
현재 개발은 안정성 향상과 플레이리스트 관리(팔로우/팔로우 해제, 트랙 추가/삭제), 더 나은 캐싱 메커니즘, 네트워크 오류에 대한 회복력, OS별 애플리케이션 번들 등 누락된 기능 추가에 초점을 맞추고 있습니다. 향후 UI 개선 사항으로는 두 개의 패널 레이아웃, 라이트/다크 OS 테마 감지, 대규모 라이브러리에 대한 더 나은 성능을 위한 가상화 목록이 포함됩니다.
## 기여
기여를 환영합니다. 이 프로젝트는 기능 향상과 버그 수정을 위해 커뮤니티의 노력을 의존합니다. 코드베이스 구조와 기여 지침에 대한 자세한 내용은 저장소의 개발 섹션을 참조하세요.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.