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