Skip to content

Commit c58b6ad

Browse files
committed
Enable Beta Snapchat apk version downloads
1 parent 5b64e08 commit c58b6ad

File tree

2 files changed

+60
-1
lines changed

2 files changed

+60
-1
lines changed

.github/workflows/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ jobs:
5151

5252
- name: Run APK Download Script
5353
run: |
54-
./script.sh
54+
./betascript.sh
5555
5656
- name: Run the command
5757
run: |

betascript.sh

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
#!/bin/bash
2+
3+
UserAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"
4+
5+
# Get Latest Version
6+
page1=$(curl --fail-early --connect-timeout 2 --max-time 5 -sL -A "$UserAgent" "https://www.apkmirror.com/uploads/?appcategory=Snapchat" 2>&1)
7+
readarray -t versions < <(pup -p 'div.widget_appmanager_recentpostswidget h5 a.fontBlack text{}' <<<"$page1")
8+
9+
for version in "${versions[@]}"; do
10+
# Extract version number and replace spaces and dots with hyphens
11+
version=$(echo "$version" | tr ' ' '-' | tr '.' '-' | tr '[:upper:]' '[:lower:]')
12+
echo "$version"
13+
break
14+
done
15+
16+
# Provide the apkmirror link
17+
apkmirror_link="https://www.apkmirror.com/apk/snap-inc/snapchat/$version-release"
18+
19+
page1=$(curl -vsL -A "$UserAgent" "$apkmirror_link" 2>&1)
20+
21+
canonicalUrl=$(pup -p --charset utf-8 'link[rel="canonical"] attr{href}' <<<"$page1")
22+
if [[ "$canonicalUrl" == *"apk-download"* ]]; then
23+
url1=("${canonicalUrl/"https://www.apkmirror.com/"//}")
24+
else
25+
grep -q 'class="error404"' <<<"$page1" && echo noversion >&2 && exit 1
26+
27+
page2=$(pup -p --charset utf-8 ':parent-of(:parent-of(span:contains("APK")))' <<<"$page1")
28+
29+
[[ "$(pup -p --charset utf-8 ':parent-of(div:contains("noarch"))' <<<"$page2")" == "" ]] || arch=noarch
30+
[[ "$(pup -p --charset utf-8 ':parent-of(div:contains("universal"))' <<<"$page2")" == "" ]] || arch=universal
31+
32+
readarray -t url1 < <(pup -p --charset utf-8 ":parent-of(div:contains(\"$arch\")) a.accent_color attr{href}" <<<"$page2")
33+
34+
[ "${#url1[@]}" -eq 0 ] && echo noapk >&2 && exit 1
35+
fi
36+
echo 33
37+
38+
url2=$(curl -sL -A "$UserAgent" "https://www.apkmirror.com${url1[-1]}" | pup -p --charset utf-8 'a:contains("Download APK") attr{href}')
39+
40+
[ "$url2" == "" ] && echo error >&2 && exit 1
41+
echo 66
42+
43+
url3=$(curl -sL -A "$UserAgent" "https://www.apkmirror.com$url2" | pup -p --charset UTF-8 'a[data-google-vignette="false"][rel="nofollow"] attr{href}')
44+
45+
[ "$url3" == "" ] && echo error >&2 && exit 1
46+
echo 100
47+
48+
echo "https://www.apkmirror.com$url3" >&2
49+
echo "Downloading APK from: https://www.apkmirror.com$url3"
50+
51+
# Download the APK file and save it as snap.apk
52+
wget -U "$UserAgent" -O snap.apk "https://www.apkmirror.com$url3"
53+
if [ $? -eq 0 ]; then
54+
echo "APK downloaded successfully as snap.apk"
55+
exit 0
56+
else
57+
echo "Failed to download APK" >&2
58+
exit 1
59+
fi

0 commit comments

Comments
 (0)