Napisałem mały skrypt Bash automatyzujący pobieranie ReVanced (oficjalny z githuba) i instalację na smartfonie przy pomocy adb
.
UPDATE: Poprawiłem filtry dla README.md i apkmirror, aby poprawnie wypisywało wersję
UPDATE #2: Drobne poprawki
Zależności:
- curl
- jq
- OpenJDK Zulu 17.XX (Java Download | Java 8, Java 11, Java 13 - Linux, Windows & macOS) //w katalogu ze skryptem rozpakowana musi być
- android-tools / android-udev
Uwagi:
- jeżeli masz Androida z obecną oryginalną aplikacją YouTube. Konieczne jest wybranie wersji z Vanced microG, nawet jeżeli nie będziesz się logował, ponieważ aplikacja będzie się wysypywać przy uruchomieniu.
- po instalacji konieczne jest przejście do ustawień uprawnień ReVanced i przyznanie dostępu do „Kontakty”, w przeciwnym razie też aplikacja będzie się wysypywać przy starcie
#!/bin/bash
#Sprawdzanie obecności OpenJDK ZULU v17.XX w bierzącym katalogu
java_check="$(./zulu*-ca-jdk*-linux_x64/bin/java --version | grep -om1 'Zulu17')"
if [ "$java_check" = "Zulu17" ]; then
:
else
echo "Nie znaleziono katalogu z OpenJDK Zulu w wersji 17.XX! (x64) Przerywam!"
echo "Pobierz i rozpakuj odpowiednią wersję z: https://www.azul.com/downloads/?package=jdk#download-openjdk"
exit 1
fi
echo "Usuwanie poprzednich plików ReVanced jeżeli istnieją..."
rm -v revanced-patches*.{dex,jar} revanced-cli*-all.jar integrations.apk revanced.apk microg.apk
echo "Trwa pobieranie plików ReVanced, czekaj..." \
&& \
curl -sL https://api.github.com/repos/revanced/revanced-patches/releases/latest | jq -r '.assets[] | select(.name | test("^revanced-patches") and test(".dex")).browser_download_url' | xargs -I {} curl -sL {} -O \
&& \
curl -sL https://api.github.com/repos/revanced/revanced-patches/releases/latest | jq -r '.assets[] | select(.name | test("^revanced-patches") and test(".jar")).browser_download_url' | xargs -I {} curl -sL {} -O \
&& \
curl -sL https://api.github.com/repos/revanced/revanced-cli/releases/latest | jq -r '.assets[] | select(.name | test("^revanced-cli") and test(".jar")).browser_download_url' | xargs -I {} curl -sL {} -O \
&& \
curl -sL https://api.github.com/repos/revanced/revanced-integrations/releases/latest | jq -r '.assets[] | select(.name | test("app-release-unsigned.apk")).browser_download_url' | xargs -I {} curl -sL {} -o integrations.apk \
&& \
echo "Pobrano ReVanced!"
echo
adb devices
echo -e "\nJeżeli powyżej nie widzisz swojego smartfona z włączonym debugowaniem USB to nie kontynuuj!\n"
read -p "Naciśnij dowolny klawisz, aby kontynuować ..."
yt_version="$(curl -sL https://github.com/revanced/revanced-patches/blob/main/README.md | awk '/swipe controls./{getline; print}' | sed -e 's/<\/b>/-/g' -e 's/<[^>]*>//g')"
echo -e "Zalecana wersja YouTube do zpatchowania: \n$yt_version\n"
yt_version="$(echo $yt_version | sed 's/\./\-/g')"
echo "Wygenerowany link do pobrania:"
echo -e "https://www.apkmirror.com/apk/google-inc/youtube/youtube-$yt_version-release/youtube-$yt_version-android-apk-download/?forcebaseapk=true\n"
echo "Pobierz plik do katalogu \"`pwd`\" i zapisz jako \"youtube.apk\", a następnie naciśnij dowolny klawisz..."
read
if [ -f "youtube.apk" ]; then
echo "OK!"
else
echo "Nie znaleziono pliku youtube.apk w katalogu \"`pwd`\"!! Przerywam!"
exit 1
fi
read -p "Wersja z obsługą Vanced microG? [t/n]? " mg
case $mg in
[tT])
read -p "Pobrać i zainstalować Vanced microG? [t/n]? (wybierz jeżeli nie masz zainstalowane Vanced microG)" odp
if [ "$odp" == "t" ] || [ "$odp" == "T" ]; then
curl -sL https://api.github.com/repos/TeamVanced/VancedMicroG/releases/latest | jq -r '.assets[] | select(.name | test("microg.apk")).browser_download_url' | xargs -I {} curl -sL {} -o microg.apk \
&& \
echo "Pobrano Vanced microG!"
echo "Instaluję..."
adb install microg.apk
fi
unset $odp
;;
[nN])
echo -e "Wybrano wersję bez Vanced microG (jeżeli masz w smartfonie zwykłe microG zamiast usług Google to aplikacja nadal będzie obsługiwała logowanie!!\n"
add_exclude="-e microg-support"
;;
*)
echo -e "\nProszę zaznaczyć \"t\" lub \"n\" (tak/nie)!"
exit 1
;;
esac
./zulu*-ca-jdk*-linux_x64/bin/java -jar revanced-cli-*-all.jar -a youtube.apk -c -o revanced.apk -b revanced-patches-*.jar -m integrations.apk -e promo-code-unlock -e general-reddit-ads -e custom-branding -e premium-heading -e hide-get-premium -e disable-create-button -e music-video-ads -e hide-cast-button -e background-play -e exclusive-audio-playback -e codecs-unlock -e upgrade-button-remover -e tasteBuilder-remover -e amoled -e hide-shorts-button -e hide-autoplay-button -e disable-fullscreen-panels -e force-vp9-codec -e always-autorepeat -e enable-debugging -e minimized-playback-music -e hdr-auto-brightness -e timeline-ads -i swipe-controls -e music-microg-support $add_exclude
if [ -f "revanced.apk" ]; then
read -p "Zainstalować ReVanced na urządzeniu? [t/n]? " odp
case $odp in
[tT])
#adb uninstall com.google.android.youtube
adb install revanced.apk
;;
[nN])
echo -e "\nZainstaluj plik \"revanced.apk\" ręcznie!!"
;;
*)
echo -e "\nProszę zaznaczyć \"t\" lub \"n\" (tak/nie)!"
exit 1
;;
esac
else
echo "Nie znaleziono pliku revanced.apk w katalogu \"`pwd`\"!! Coś poszło nie tak!"
exit 1
fi
Dajcie znać, czy dla YouTube Music dołączyć Revanced w skrypcie :P?
Co ciekawe po spatchowaniu YT Music, jak udostępni się streaming na smartTV to pierwszy utwór ma reklamę, a wszystkie kolejne nie.
Do tego wygląda na to, że patch „codecs-unlock” wpływa też na jakość odtwarzania w smartTV.