Compare commits

..
8 Commits
Author SHA1 Message Date
Nezumi-2711 5785b1594a fix: apk download 2026-03-17 10:34:16 +07:00
Nezumi-2711 03625a35d5 fix: apk download 2026-03-17 10:05:39 +07:00
Nezumi-2711 bc51731aeb fix: apk download 2026-03-17 10:02:30 +07:00
Nezumi-2711 f0b44a12a1 fix: apk download 2026-03-17 09:55:23 +07:00
Nezumi-2711 ffa6e7a357 fix: download apk 2026-03-16 18:38:24 +07:00
Nezumi-2711 e8297c8d9a fix: download apk 2026-03-16 18:30:57 +07:00
Nezumi-2711 bb1398a32f fix: download apk 2026-03-16 18:14:38 +07:00
Nezumi-2711 34d34bc878 fix: download apk 2026-03-16 18:00:53 +07:00
4 changed files with 41 additions and 13 deletions
+2
View File
@@ -6,3 +6,5 @@ test*
/logs /logs
build.md build.md
cmpr cmpr
utils-refer.sh
+1 -1
View File
@@ -30,7 +30,7 @@ REMOVE_RV_INTEGRATIONS_CHECKS=$(toml_get "$main_config_t" remove-rv-integrations
DEF_PATCHES_VER=$(toml_get "$main_config_t" patches-version) || DEF_PATCHES_VER="latest" DEF_PATCHES_VER=$(toml_get "$main_config_t" patches-version) || DEF_PATCHES_VER="latest"
DEF_CLI_VER=$(toml_get "$main_config_t" cli-version) || DEF_CLI_VER="latest" DEF_CLI_VER=$(toml_get "$main_config_t" cli-version) || DEF_CLI_VER="latest"
DEF_PATCHES_SRC=$(toml_get "$main_config_t" patches-source) || DEF_PATCHES_SRC="ReVanced/revanced-patches" DEF_PATCHES_SRC=$(toml_get "$main_config_t" patches-source) || DEF_PATCHES_SRC="ReVanced/revanced-patches"
DEF_CLI_SRC=$(toml_get "$main_config_t" cli-source) || DEF_CLI_SRC="j-hc/revanced-cli" DEF_CLI_SRC=$(toml_get "$main_config_t" cli-source) || DEF_CLI_SRC="ReVanced/revanced-cli"
DEF_RV_BRAND=$(toml_get "$main_config_t" rv-brand) || DEF_RV_BRAND="ReVanced" DEF_RV_BRAND=$(toml_get "$main_config_t" rv-brand) || DEF_RV_BRAND="ReVanced"
mkdir -p "$TEMP_DIR" "$BUILD_DIR" mkdir -p "$TEMP_DIR" "$BUILD_DIR"
+1
View File
@@ -28,6 +28,7 @@ arch = "both"
version = "auto" version = "auto"
apkmirror-dlurl = "https://www.apkmirror.com/apk/google-inc/photos/" apkmirror-dlurl = "https://www.apkmirror.com/apk/google-inc/photos/"
uptodown-dlurl = "https://google-photos.en.uptodown.com/android" uptodown-dlurl = "https://google-photos.en.uptodown.com/android"
archive-dlurl = "https://archive.org/download/jhc-apks/apks/com.google.android.apps.photos"
[Spotify] [Spotify]
uptodown-dlurl = "https://spotify.en.uptodown.com/android" uptodown-dlurl = "https://spotify.en.uptodown.com/android"
+37 -12
View File
@@ -215,7 +215,7 @@ _req() {
local ip="$1" op="$2" local ip="$1" op="$2"
shift 2 shift 2
if [ "$op" = - ]; then if [ "$op" = - ]; then
if ! curl -L -c "$TEMP_DIR/cookie.txt" -b "$TEMP_DIR/cookie.txt" --connect-timeout 5 --retry 0 --fail -s -S "$@" "$ip"; then if ! curl -L -c "$TEMP_DIR/cookie.txt" -b "$TEMP_DIR/cookie.txt" --connect-timeout 10 --retry 3 --retry-delay 2 --fail -s -S "$@" "$ip"; then
epr "Request failed: $ip" epr "Request failed: $ip"
return 1 return 1
fi fi
@@ -227,14 +227,19 @@ _req() {
while [ -f "$dlp" ]; do sleep 1; done while [ -f "$dlp" ]; do sleep 1; done
return return
fi fi
if ! curl -L -c "$TEMP_DIR/cookie.txt" -b "$TEMP_DIR/cookie.txt" --connect-timeout 5 --retry 0 --fail -s -S "$@" "$ip" -o "$dlp"; then if ! curl -L -c "$TEMP_DIR/cookie.txt" -b "$TEMP_DIR/cookie.txt" --connect-timeout 10 --retry 3 --retry-delay 2 --fail -s -S "$@" "$ip" -o "$dlp"; then
epr "Request failed: $ip" epr "Request failed: $ip"
return 1 return 1
fi fi
mv -f "$dlp" "$op" mv -f "$dlp" "$op"
fi fi
} }
req() { _req "$1" "$2" -H "User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:108.0) Gecko/20100101 Firefox/108.0"; } req() {
_req "$1" "$2" \
-H "User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0" \
-H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8" \
-H "Accept-Language: en-US,en;q=0.5"
}
gh_req() { _req "$1" "$2" -H "$GH_HEADER"; } gh_req() { _req "$1" "$2" -H "$GH_HEADER"; }
gh_dl() { gh_dl() {
if [ ! -f "$1" ]; then if [ ! -f "$1" ]; then
@@ -275,16 +280,36 @@ get_patch_last_supported_ver() {
return return
fi fi
fi fi
if ! op=$(java -jar "$rv_cli_jar" list-versions "$rv_patches_jar" -f "$pkg_name" 2>&1 | tail -n +3 | awk '{$1=$1}1'); then op=$(patches_list_versions "$rv_cli_jar" "$rv_patches_jar" "$pkg_name") || return 1
epr "list-versions: '$op'" op=$(tail -n +3 <<<"$op" | awk '{$1=$1}1')
return 1
fi
if [ "$op" = "Any" ]; then return; fi if [ "$op" = "Any" ]; then return; fi
pcount=$(head -1 <<<"$op") pcount=${pcount#*(} pcount=${pcount% *} pcount=$(head -1 <<<"$op") pcount=${pcount#*(} pcount=${pcount% *}
if [ -z "$pcount" ]; then abort "unreachable: '$pcount'"; fi if [ -z "$pcount" ]; then abort "No patches found for '$pkg_name' in patches '$rv_patches_jar'"; fi
grep -F "($pcount patch" <<<"$op" | sed 's/ (.* patch.*//' | get_highest_ver || return 1 grep -F "($pcount patch" <<<"$op" | sed 's/ (.* patch.*//' | get_highest_ver || return 1
} }
patches_list_versions() {
local cli_jar=$1 patches_jar=$2 pkg_name=$3 op
if ! op=$(java -jar "$cli_jar" list-versions -p "$patches_jar" -f "$pkg_name" -b 2>&1); then
if ! op=$(java -jar "$cli_jar" list-versions "$patches_jar" -f "$pkg_name" 2>&1); then
epr "Could not list versions $cli_jar: '$op'"
return 1
fi
fi
echo "$op"
}
patches_list() {
local cli_jar=$1 patches_jar=$2 pkg_name=$3 op
if ! op=$(java -jar "$cli_jar" list-patches -p "$patches_jar" --filter-package-name "$pkg_name" --versions --packages -b 2>&1); then
if ! op=$(java -jar "$cli_jar" list-patches --patches "$patches_jar" -f "$pkg_name" --with-versions --with-packages 2>&1); then
epr "Could not get patches list $cli_jar: '$op'"
return 1
fi
fi
echo "$op"
}
isoneof() { isoneof() {
local i=$1 v local i=$1 v
shift shift
@@ -476,7 +501,7 @@ dl_archive() {
} }
get_archive_resp() { get_archive_resp() {
local r local r
r=$(req "$1" -) r=$(req "$1" -) || return 1
if [ -z "$r" ]; then return 1; else __ARCHIVE_RESP__=$(sed -n 's;^<a href="\(.*\)"[^"]*;\1;p' <<<"$r"); fi if [ -z "$r" ]; then return 1; else __ARCHIVE_RESP__=$(sed -n 's;^<a href="\(.*\)"[^"]*;\1;p' <<<"$r"); fi
__ARCHIVE_PKG_NAME__=$(awk -F/ '{print $NF}' <<<"$1") __ARCHIVE_PKG_NAME__=$(awk -F/ '{print $NF}' <<<"$1")
} }
@@ -536,7 +561,7 @@ build_rv() {
local tried_dl=() local tried_dl=()
for dl_p in archive apkmirror uptodown; do for dl_p in archive apkmirror uptodown; do
if [ -z "${args[${dl_p}_dlurl]}" ]; then continue; fi if [ -z "${args[${dl_p}_dlurl]}" ]; then continue; fi
if ! get_${dl_p}_resp "${args[${dl_p}_dlurl]}" || ! pkg_name=$(get_"${dl_p}"_pkg_name); then if ! get_${dl_p}_resp "${args[${dl_p}_dlurl]}" || ! pkg_name=$(get_"${dl_p}"_pkg_name) || [ -z "$pkg_name" ]; then
args[${dl_p}_dlurl]="" args[${dl_p}_dlurl]=""
epr "ERROR: Could not find ${table} in ${dl_p}" epr "ERROR: Could not find ${table} in ${dl_p}"
continue continue
@@ -550,7 +575,7 @@ build_rv() {
return 0 return 0
fi fi
local list_patches local list_patches
list_patches=$(java -jar "$rv_cli_jar" list-patches "$rv_patches_jar" -f "$pkg_name" -v -p 2>&1) list_patches=$(patches_list "$rv_cli_jar" "$rv_patches_jar" "$pkg_name") || return 1
local get_latest_ver=false local get_latest_ver=false
if [ "$version_mode" = auto ]; then if [ "$version_mode" = auto ]; then
@@ -591,7 +616,7 @@ build_rv() {
for dl_p in archive apkmirror uptodown; do for dl_p in archive apkmirror uptodown; do
if [ -z "${args[${dl_p}_dlurl]}" ]; then continue; fi if [ -z "${args[${dl_p}_dlurl]}" ]; then continue; fi
pr "Downloading '${table}' from ${dl_p}" pr "Downloading '${table}' from ${dl_p}"
if ! isoneof $dl_p "${tried_dl[@]}"; then get_${dl_p}_resp "${args[${dl_p}_dlurl]}"; fi if ! isoneof $dl_p "${tried_dl[@]}"; then get_${dl_p}_resp "${args[${dl_p}_dlurl]}" || true; fi
if ! dl_${dl_p} "${args[${dl_p}_dlurl]}" "$version" "$stock_apk" "$arch" "${args[dpi]}" "$get_latest_ver"; then if ! dl_${dl_p} "${args[${dl_p}_dlurl]}" "$version" "$stock_apk" "$arch" "${args[dpi]}" "$get_latest_ver"; then
epr "ERROR: Could not download '${table}' from ${dl_p} with version '${version}', arch '${arch}', dpi '${args[dpi]}'" epr "ERROR: Could not download '${table}' from ${dl_p} with version '${version}', arch '${arch}', dpi '${args[dpi]}'"
continue continue