From 011222b254cd9a7c2e754ac8f59b3fc6a01ca147 Mon Sep 17 00:00:00 2001 From: Dmitry Nefedov Date: Thu, 1 Sep 2022 18:21:34 +0300 Subject: [PATCH] Update Build.yml --- .github/workflows/Build.yml | 36 ++++++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index 7921957..cbf645f 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -15,17 +15,41 @@ jobs: - name: Downloading YouTube run: | - # https://apkpure.com/youtube/com.google.android.youtube/versions - # YouTube 17.33.42 + # Get latest supported YouTube client version via ReVanced JSON + # It will let us to download always latest YouTube apk supported by ReVanced team + # https://github.com/revanced/revanced-patches/blob/main/patches.json $Parameters = @{ - Uri = "https://apkpure.com/youtube/com.google.android.youtube/download/1531188672-APK-1d33a9dd6b47ec963ea80d2437ef7d3f" + Uri = "https://raw.githubusercontent.com/revanced/revanced-patches/main/patches.json" UseBasicParsing = $true + } + $JSON = Invoke-RestMethod @Parameters + $versions = ($JSON | Where-Object -FilterScript {$_.compatiblePackages.name -eq "com.google.android.youtube"}).compatiblePackages.versions + $LatestSupported = $versions | Sort-Object -Descending -Unique | Select-Object -First 1 + $LatestSupported = $LatestSupported.replace(".", "-") + + # Get unique key to generate direct link + # https://www.apkmirror.com/apk/google-inc/youtube/ + $Parameters = @{ + Uri = "https://www.apkmirror.com/apk/google-inc/youtube/youtube-$($LatestSupported)-release/youtube-$($LatestSupported)-2-android-apk-download/" + UseBasicParsing = $false # Disabled Verbose = $true } - $URL = ((Invoke-Webrequest @Parameters).Links | Where-Object -FilterScript {$_.href -match "https://download.apkpure.com"}).href + $Request = Invoke-Webrequest @Parameters + $nameProp = $Request.ParsedHtml.getElementsByClassName("accent_bg btn btn-flat downloadButton") | ForEach-Object -Process {$_.nameProp} + $Parameters = @{ - Uri = $URL - Outfile = "$PSScriptRoot\youtube.apk" + Uri = "https://www.apkmirror.com/apk/google-inc/youtube/youtube-$($LatestSupported)-release/youtube-$($LatestSupported)-2-android-apk-download/download/$($nameProp)" + UseBasicParsing = $false # Disabled + Verbose = $true + } + $URL_Part = ((Invoke-Webrequest @Parameters).Links | Where-Object -FilterScript {$_.innerHTML -eq "here"}).href + # Replace "&" with "&" to make it work + $URL_Part = $URL_Part.Replace("&", "&") + + # Finally, get the real link + $Parameters = @{ + Uri = "https://www.apkmirror.com$URL_Part" + OutFile = "$PSScriptRoot\ReVanced\youtube.apk" UseBasicParsing = $true Verbose = $true }