diff options
Diffstat (limited to 'scripts/download_apks.sh')
| -rwxr-xr-x | scripts/download_apks.sh | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/scripts/download_apks.sh b/scripts/download_apks.sh new file mode 100755 index 0000000..e494b9e --- /dev/null +++ b/scripts/download_apks.sh @@ -0,0 +1,65 @@ +#!/bin/bash + +if [ "$#" -ne 1 ]; then + echo "[x] Incorrect arguments!" + echo " Using: $0 <TMP_DIR>" + exit 1 +fi + +source .config + +TMP_DIR=$1 +APK_RES_DIR="$TMP_DIR/res/apks" + +FDROID_PACKAGES=( + "org.fossify.math" + "org.fossify.clock" + "org.fossify.contacts" + "org.fossify.filemanager" + "org.fossify.gallery" + "org.fossify.messages" + "org.fossify.phone" + "org.fossify.voicerecorder" + "org.fossify.musicplayer" + "org.fossify.calendar" +) + +normalize_package_name() { + local package_name=$1 + local dots=$(echo "${package_name}" | grep -o "\." | wc -l) + echo "${package_name}" | tr "." "\n" | sed -e "1,${dots}d" -e "s/\b\(.\)/\u\1/g" +} + +fdroid_download_package() { + local package_name=$1 + local output_dir=$2 + local version=$(curl -s "https://f-droid.org/api/v1/packages/${package_name}" | jq -r '.suggestedVersionCode') + local normalized_pkg_name=$(normalize_package_name ${package_name}) + + wget -q -O "$output_dir/${normalized_pkg_name}.apk" https://f-droid.org/repo/${package_name}_${version}.apk + echo -e "\t[+] $package_name" +} + +mkdir -p "$TMP_DIR/res/apks" \ + "$TMP_DIR/res/apks/apps" \ + "$TMP_DIR/res/apks/priv-apps" \ + "$TMP_DIR/res/apks/preload-apps" + +if [[ $INSTALL_FDROID == 1 ]]; then + echo "[i] Downloading F-Droid" + fdroid_download_package "org.fdroid.fdroid.privileged" "$APK_RES_DIR/priv-apps" + fdroid_download_package "org.fdroid.fdroid" "$APK_RES_DIR/apps" + echo "[i] Done" +fi + +wait + +if [[ $INSTALL_RECOMMENDED_FOSS_APPS == 1 ]]; then + echo "[i] Downloading recommended apps" + fdroid_download_package "org.fossify.phone" "$APK_RES_DIR/priv-apps" + for pkg in "${FDROID_PACKAGES[@]}"; do + fdroid_download_package "${pkg}" "$APK_RES_DIR/apps" & + done + wait + echo "[i] Done" +fi
\ No newline at end of file |
