diff --git a/misc/install.func b/misc/install.func index 2a22e2ff9..91ae9f57e 100644 --- a/misc/install.func +++ b/misc/install.func @@ -201,3 +201,23 @@ EOF echo "bash -c \"\$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/${app}.sh)\"" >/usr/bin/update chmod +x /usr/bin/update } + +# This function downloads the latest release of a GitHub repository +github_download_latest_release() { + local user="$1" + local repo="$2" + local output_file="$3" + local tarball_url=$($STD wget -qLO - "https://api.github.com/repos/$user/$repo/releases/latest" | grep '"tarball_url":' | cut -d '"' -f 4) + $STD wget -qLO "$output_file" "$tarball_url" +} + +# This function extracts a GitHub release tarball into a target directory +github_extract_latest_release() { + local user="$1" + local repo="$2" + local output_directory="$3" + mkdir -p "$output_directory" + github_download_latest_release "$user" "$repo" "/tmp/$repo.tar.gz" + tar -xzf "/tmp/$repo.tar.gz" -C "$output_directory" --strip-components 1 + rm "/tmp/$repo.tar.gz" +} \ No newline at end of file