Files
SpotiFLAC-Mobile/README.md
T
2026-01-01 19:28:15 +07:00

117 lines
3.2 KiB
Markdown

# SpotiFLAC
Download Spotify tracks in FLAC quality from Tidal, Qobuz & Amazon Music.
![Android Build](https://github.com/zarzet/SpotiFLAC-Android/actions/workflows/android-build.yml/badge.svg)
![iOS Build](https://github.com/zarzet/SpotiFLAC-Android/actions/workflows/ios-build.yml/badge.svg)
## Features
- 🔍 Search Spotify tracks, albums, and playlists
- 📥 Download in FLAC quality from multiple sources (Tidal, Qobuz, Amazon Music)
- 🔄 Automatic fallback to available services
- 🎵 Embedded metadata and cover art
- 📝 Lyrics support (synced and plain)
- 🎨 Material 3 Expressive UI with dynamic colors
- 📱 Cross-platform: Android & iOS
## Download
### Latest Release
Download the latest version from [Releases](https://github.com/zarzet/SpotiFLAC-Android/releases)
- **Android**: Download `SpotiFLAC-vX.X.X-android.apk`
- **iOS**: Download `SpotiFLAC-vX.X.X-ios-unsigned.ipa` (requires sideloading)
### Requirements
**Android**
- Android 7.0 (API 24) or higher
- Storage permission for saving music files
**iOS**
- iOS 14.0 or higher
- Sideloading tool (AltStore, Sideloadly, etc.)
## Building from Source
### Prerequisites
- Flutter 3.24.0 or higher
- Go 1.21 or higher
- gomobile (`go install golang.org/x/mobile/cmd/gomobile@latest`)
### Android Build
```bash
# Build Go backend
cd go_backend
gomobile bind -target=android -androidapi 24 -o ../android/app/libs/gobackend.aar .
cd ..
# Build APK
flutter build apk --release
```
### iOS Build
#### Option 1: Using GitHub Actions (Recommended - No Mac Required)
Push to the repository and GitHub Actions will automatically build the iOS app.
Download the unsigned IPA from the Actions artifacts.
#### Option 2: Local Build (Requires macOS)
```bash
# Build Go backend for iOS
cd go_backend
gomobile bind -target=ios -o ../ios/Frameworks/Gobackend.xcframework .
cd ..
# Build iOS (unsigned)
flutter build ios --release --no-codesign
```
## Project Structure
```
SpotiFLAC-Android/
├── lib/ # Flutter/Dart code
│ ├── models/ # Data models
│ ├── providers/ # Riverpod state management
│ ├── screens/ # UI screens
│ ├── services/ # Platform bridge & FFmpeg
│ └── theme/ # Material 3 theming
├── go_backend/ # Go backend (Tidal, Qobuz, Amazon APIs)
├── android/ # Android platform code
├── ios/ # iOS platform code
└── .github/workflows/ # CI/CD workflows
```
## Creating a Release
Releases are automated via GitHub Actions. To create a new release:
1. Create and push a tag:
```bash
git tag v1.0.0
git push origin v1.0.0
```
2. GitHub Actions will automatically:
- Build Android APK
- Build iOS IPA (unsigned)
- Create a GitHub Release with both artifacts
## Known Limitations
- iOS IPA is unsigned and requires sideloading
- TestFlight distribution requires Apple Developer account ($99/year)
- Some streaming services may have regional restrictions
## License
Private project - not for public distribution.
## Disclaimer
This project is for educational purposes only. Please respect copyright laws and the terms of service of streaming platforms.