diff --git a/.github/workflows/manual-patch.yml b/.github/workflows/manual-patch.yml index 405c2d7..5086ee9 100644 --- a/.github/workflows/manual-patch.yml +++ b/.github/workflows/manual-patch.yml @@ -16,6 +16,7 @@ on: options: - 'Revanced' - 'Revanced Beta' + - 'Spotjfy' - 'Revanced Extended' - 'Revanced Extended Beta' - 'RVE-anddea-stable' @@ -311,9 +312,9 @@ jobs: id: release-rve67 if: steps.check-gh-rve67.outputs.internet_error == '0' uses: ./.github/actions/release - patch_rve5: - name: Patch RVX Android 5 - if: ${{ github.event.inputs.org == 'Revanced Extended Android 5' || inputs.org == 'Revanced Extended Android 5' }} + patch_Spotjfy: + name: Patch Spotjfy + if: ${{ github.event.inputs.org == 'Spotjfy' || inputs.org == 'Spotjfy' }} runs-on: ubuntu-latest steps: - name: Checkout @@ -321,15 +322,15 @@ jobs: - name: Preparing to patch uses: ./.github/actions/preparing - name: Check github connection - id: check-gh-rve5 + id: check-gh-spotjfy run: bash src/etc/connection.sh - name: Patch apk - id: patch-rve5 - if: steps.check-gh-rve5.outputs.internet_error == '0' - run: bash src/build/Revanced-Extended-Android-5.sh + id: patch-spotjfy + if: steps.check-gh-spotjfy.outputs.internet_error == '0' + run: bash src/build/Spotjfy.sh - name: Releasing APK files - id: release-rve5 - if: steps.check-gh-rve5.outputs.internet_error == '0' + id: release-spotjfy + if: steps.check-gh-spotjfy.outputs.internet_error == '0' uses: ./.github/actions/release patch_BiliRoamingM: name: Patch BiliRoamingM diff --git a/README.md b/README.md index c3a8416..5cd496f 100644 --- a/README.md +++ b/README.md @@ -228,6 +228,16 @@ Old patches, because latest patch not support split apks --- +### [Spotjfy:](https://www.google.com/search?q=Spotjfy) + +### [Revanced](https://github.com/revanced/revanced-patches) + +#### ⚠️ Please read [WIKI](../main/docs/Frequently%20Asked%20Questions.md#q-what-is-spotjfy-and-how-can-i-download-it) before click download + +[Arm64-v8a](../../releases/download/all/spotjfy-arm64-v8a-revanced.apk) + +--- + [](https://play.google.com/store/apps/details?id=org.telegram.messenger) ### [Revanced Experiments:](https://github.com/Aunali321/ReVancedExperiments) diff --git a/docs/Frequently Asked Questions.md b/docs/Frequently Asked Questions.md index 9206ddb..2b44f60 100644 --- a/docs/Frequently Asked Questions.md +++ b/docs/Frequently Asked Questions.md @@ -10,15 +10,6 @@ The issue might be that your Android OS is preventing MicroG (GMS Core) from run [https://dontkillmyapp.com/](https://dontkillmyapp.com/) -#### Use Po-token: - -If it still can't solve the buffering issue, maybe using PoToken can solve it. - -1. Download and install Revanced Extended or Revanced Extended forked by anddea. -2. [Go to this repository](https://github.com/FiorenMas/scrape-youtube) -3. Scroll down, copy the PoToken and visitorData -4. Open the Revanced Extended app and go to Settings > Revanced Extended > Miscellaneous > Spoof Streaming data > Default cilent (select iOS) > PoToken/VisitorData. Then, paste the two values you copied in the previous step. - ### Q: Youtube Android 6,7 Can't load anyvideo: This is because Google force old version Youtube need to update. So you need fake your youtube version to higher version. @@ -29,10 +20,10 @@ This is because Google force old version Youtube need to update. So you need fak 3. Choose `Edit spoof app version` input `19.05.36` then restart RVX -4. And then set Po-token in above this guide if still have issues. - Credit: [@gnadgnaoh](https://github.com/gnadgnaoh/) +--- + ### Q: How do I use this repository for patching my own app? You should [fork](https://github.com/FiorenMas/Revanced-And-Revanced-Extended-Non-Root/fork) the repository, and then go to the `Action` tab @@ -48,6 +39,25 @@ And then go to Readme click download your patched apps! --- +### Q: What is Spotjfy? And how can I download it? + +"Spotjfy" not misspell, this mean [this app](https://www.google.com/search?q=Spotjfy) + +This app high DMCA chance takdown so you should patch by yourself + +You should [fork](https://github.com/FiorenMas/Revanced-And-Revanced-Extended-Non-Root/fork) the repository, and then go to the `Action` tab + + +Click "I understand my workflows, go ahead and enable them" + + +Follow these steps to run the workflow to patch Spotjfy + + +After patch done, back to home [your repository](../README.md#spotjfy) + +--- + ### Q: I want to use custom patches for patching my apps. How can I do it? You should open the folder `Revanced-And-Revanced-Extended-Non-Root/src/patches/`. It contains a lot of folders that are named after the apps you’re patching. Each folder has two files: exclude-patches and include-patches. Edit these files with the patches you like, putting one patch per line, following the patches list here: diff --git a/docs/image/FAQ/patching-app-4.png b/docs/image/FAQ/patching-app-4.png new file mode 100644 index 0000000..cc969ec Binary files /dev/null and b/docs/image/FAQ/patching-app-4.png differ diff --git a/src/build/Spotjfy.sh b/src/build/Spotjfy.sh new file mode 100644 index 0000000..e715bc8 --- /dev/null +++ b/src/build/Spotjfy.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# $potjfy build +source src/build/utils.sh + +# Download requirements +dl_gh "revanced-patches revanced-cli" "revanced" "latest" + +# Patch Spotjfy Arm64-v8a +get_patches_key "Spotjfy-revanced" +j="i" +get_apkpure "com.spot"$j"fy.music" "spotjfy-arm64-v8a" "spot"$j"fy-music-and-podcasts-for-android/com.spot"$j"fy.music" "Bundle" +patch "spotjfy-arm64-v8a" "revanced" diff --git a/src/build/utils.sh b/src/build/utils.sh index fa6b1e8..5e8a245 100644 --- a/src/build/utils.sh +++ b/src/build/utils.sh @@ -253,6 +253,45 @@ get_apk() { unzip "./download/$base_apk" -d "./download/$(basename "$base_apk" .apkm)" > /dev/null 2>&1 fi } +get_apkpure() { + if [ -z "$version" ] && [ "$lock_version" != "1" ]; then + if [[ $(ls revanced-cli-*.jar) =~ revanced-cli-([0-9]+) ]]; then + num=${BASH_REMATCH[1]} + if [ $num -ge 5 ]; then + version=$(java -jar *cli*.jar list-patches --with-packages --with-versions *.rvp | awk -v pkg="$1" 'BEGIN { found = 0 } /^Index:/ { found = 0 } /Package name: / { if ($3 == pkg) { found = 1 } } /Compatible versions:/ { if (found) { getline; latest_version = $1; while (getline && $1 ~ /^[0-9]+\./) { latest_version = $1 } print latest_version; exit } }') + else + version=$(jq -r '[.. | objects | select(.name == "'$1'" and .versions != null) | .versions[]] | reverse | .[0] // ""' *.json | uniq) + fi + fi + fi + export version="$version" + if [[ $4 == "Bundle" ]] || [[ $4 == "Bundle_extract" ]]; then + local base_apk="$2.xapk" + else + local base_apk="$2.apk" + fi + if [[ -n "$version" ]]; then + url="https://apkpure.com/$3/downloading/$version" + else + url="https://apkpure.com/$3/downloading/" + version="$(req "$url" - | awk -F'Download APK | \\(' '/