Home

Awesome

ReFreezer

Latest Version Release date Downloads Latest Downloads Total Flutter Version Dart Version Crowdin License

Dart Flutter Java


An alternative Deezer music streaming & downloading client, based on Freezer. The entire codebase has been updated/rewritten to be compatible with the latest version of flutter, the dart SDK & android (current build target is API level 34).

Screenshots

<p align="center"> <img src="./assets/screenshots/Login.jpg" width=200> <img src="./assets/screenshots/Home.jpg" width=200> <img src="./assets/screenshots/Player.jpg" width=200> <img src="./assets/screenshots/Lyrics.jpg" width=200> </p> <details><summary><b>More Android Phone</b></summary> <p align="center"> <img src="./assets/screenshots/Search.jpg" width=200> <img src="./assets/screenshots/SearchResults.jpg" width=200> <img src="./assets/screenshots/Library.jpg" width=200> <img src="./assets/screenshots/DownloadRunning.jpg" width=200> <!---<img src="./assets/screenshots/DownloadFinished.jpg" width=200>---> <img src="./assets/screenshots/PlayerHorizontal.jpg" height=200> </p> </details> </br> <details><summary><b>Android Auto</b></summary> <p align="center"> <img src="./assets/screenshots/Android_Auto-Head_Unit-home.png" max-height=400> <img src="./assets/screenshots/Android_Auto-Head_Unit-more.png" max-height=400> <img src="./assets/screenshots/Android_Auto-Head_Unit-play.png" max-height=400> <img src="./assets/screenshots/Android_Auto-Head_Unit-wide-playing.png" max-height=400> </p> </details>

Features & changes

Compile from source

Install the latest flutter SDK: https://flutter.dev/docs/get-started/install
(Optional) Generate keys for release build: https://flutter.dev/docs/deployment/android

Download source:

git clone https://github.com/DJDoubleD/ReFreezer
git submodule init
git submodule update

Create a .env file in the lib folder of the project and add the following content:

# Deezer API credentials
deezerClientId = '<Your_Deezer_Client_Id>';
deezerClientSecret = '<Your_Deezer_Client_Secret>';

# LastFM API credentials
lastFmApiKey = '<Your_LastFM_API_Key>'
lastFmApiSecret = 'Your_LastFM_API_Secret'

Build generated files:

Use following script to (re)build generated classes in submodules and main project:

.\run_build_runner.ps1

or run these commands manually in the relevant submodules to (re)build the generated files:

flutter pub get
dart run build_runner clean
dart run build_runner build --delete-conflicting-outputs

Compile:

 flutter build apk --split-per-abi --release

NOTE: You have to use own keys, or build debug using flutter build apk --debug

Generate your own keys

Step 1: create a JKS file

Make sure your Java JDK folder is in your PATH variable and execute the following command in the ./android folder of the project:

keytool -genkey -v -keystore ./keys.jks -keyalg RSA -keysize 2048 -validity 10000 -alias <YourKeyAlias>

Follow the instructions show in the commandline to fill out the desired fields of your keystore.

Step 2: create a key.properties file

Inside the ./android (next to the keys.jks file from step 1), create a file key.properties with the following contents:

storePassword=<storePassword>
keyPassword=<keyPassword>
keyAlias=<YourKeyAlias>
storeFile=../keys.jks

Disclaimer & Legal

ReFreezer was not developed for piracy, but educational and private usage. It may be illegal to use this in your country! I will not be responsible for how you use ReFreezer.

ReFreezer uses both Deezer's public and internal API's, but is not endorsed, certified or otherwise approved in any way by Deezer.

The Deezer brand and name is the registered trademark of its respective owner.

ReFreezer has no partnership, sponsorship or endorsement with Deezer.

By using ReFreezer you agree to the following: https://www.deezer.com/legal/cgu