add Spotjfy

add support apkpure
This commit is contained in:
siritami
2025-04-18 00:31:30 +07:00
parent 73af1664b1
commit ab57321ef1
8 changed files with 92 additions and 20 deletions

View File

@@ -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

View File

@@ -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)
---
[![Telegram](https://img.shields.io/badge/Telegram-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white)](https://play.google.com/store/apps/details?id=org.telegram.messenger)
### [Revanced Experiments:](https://github.com/Aunali321/ReVancedExperiments)

View File

@@ -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 Action](../docs/image/FAQ/patching-app-1.png)
Click "I understand my workflows, go ahead and enable them"
![Click "I understand my workflows, go ahead and enable them"](../docs/image/FAQ/patching-app-2.png)
Follow these steps to run the workflow to patch Spotjfy
![](../docs/image/FAQ/patching-app-4.png)
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 youre 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:

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

12
src/build/Spotjfy.sh Normal file
View File

@@ -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"

View File

@@ -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 | \\(' '/<h2>/{print $2}')"
fi
green_log "[+] Downloading $2 version: $version $4"
url="$(req "$url" - | grep -oP '<a[^>]+id="download_link"[^>]+href="\Khttps://[^"]+')"
req "$url" "$base_apk"
if [[ -f "./download/$base_apk" ]]; then
green_log "[+] Successfully downloaded $2"
else
red_log "[-] Failed to download $2"
exit 1
fi
if [[ $4 == "Bundle" ]]; then
green_log "[+] Merge splits apk to standalone apk"
java -jar $APKEditor m -i ./download/$2.xapk -o ./download/$2.apk > /dev/null 2>&1
elif [[ $4 == "Bundle_extract" ]]; then
unzip "./download/$base_apk" -d "./download/$(basename "$base_apk" .xapk)" > /dev/null 2>&1
fi
}
#################################################