@@ -6,12 +6,11 @@ if($PSVersionTable.PSVersion.Major -lt 3){
66 Write-Host " I need PowerShell major version >= 3, Current is $ ( $PSVersionTable.PSVersion.Major ) " - ForegroundColor Red
77 return
88}
9-
109$installLocation = $env: ggdir
1110$arch = $env: ggarch
1211# $branch = $env:ggbranch
1312$ggApi = ' https://api.pzhacm.org/iivb/cu.json'
14-
13+ $gcApi = ' https://api.pzhacm.org/iivb/gc.json '
1514
1615if ($PSVersionTable.PSVersion.Major -lt 5 ){
1716 if (-not ([System.Management.Automation.PSTypeName ]' Branch' ).Type){
@@ -63,11 +62,9 @@ switch ($env:ggbranch)
6362# }
6463Write-Host " Current branch is " - NoNewline - ForegroundColor DarkYellow
6564Write-Host $branch - ForegroundColor Green
66-
6765if ($env: TEMP -eq $null ) {
6866 $env: TEMP = Join-Path $installLocation ' temp'
6967}
70-
7168function Check-InstallLocation {
7269 if ((Test-Path $installLocation )){
7370 if ((Test-Path " $installLocation \chrome.exe" )){
@@ -119,7 +116,7 @@ param (
119116 $uri = New-Object " System.Uri" " $url "
120117 $request = [System.Net.HttpWebRequest ]::Create($uri )
121118 $request.Proxy = [System.Net.GlobalProxySelection ]::GetEmptyWebProxy()
122- $request.Timeout = 60000 # 60 second timeout
119+ $request.Timeout = 200000 # 200 second timeout
123120 $response = $request.GetResponse ()
124121 $totalLength = [System.Math ]::Floor($response.get_ContentLength ()/ 1024 )
125122 $responseStream = $response.GetResponseStream ()
@@ -201,7 +198,7 @@ function Download-Chrome {
201198 if ($hash -ne $JSON .$branch .$arch.sha256 ){
202199 Write-Host " SHA256 not match!" - ForegroundColor Red
203200 Remove-IfExists $downloadFileName
204- return ;
201+ return
205202 }
206203 Extract- File $downloadFileName $installLocation
207204 Extract- File $chrome7z $installLocation
@@ -212,64 +209,92 @@ function Download-Chrome {
212209 Write-Host ' Chrome Download Finished' - ForegroundColor Green
213210}
214211
215- try {
216- $JSON = Download- String ' https://api.pzhacm.org/iivb/cu.json' | ConvertFrom-Json
217- }catch {
218- Write-Host ' Get versions error!' - ForegroundColor Red
219- return
220- }
221- if (Check- InstallLocation) {
222- Download- Chrome
223- }
224- else {
225- Write-Host ' Chrome Download Skipped' - ForegroundColor Yellow
212+ function Check-GCInstallLocation {
213+ if (Test-Path $gcdllpath ){
214+ $hash = (Get-FileHash $gcdllpath - Algorithm SHA1).Hash
215+ } else {
216+ $hash = ' '
217+ }
218+ if ($arch -eq ' x64' ){
219+ if ($hash -eq $GCJSON.link.x64.sha1 ){
220+ Write-Host " $gcdll is latest!" - ForegroundColor Green
221+ return $false
222+ }
223+ } else {
224+ if ($hash -eq $GCJSON.link.x86.sha1 ){
225+ Write-Host " $gcdll is latest!" - ForegroundColor Green
226+ return $false
227+ }
228+ }
229+ Write-Host " $gcdll need update : " - NoNewline - ForegroundColor Yellow
230+ Write-Host $GCJSON.description - ForegroundColor Gray
231+ return $true
226232}
227233
228- $GCJSON = Download- String ' https://api.pzhacm.org/iivb/gc.json' | ConvertFrom-Json
229- if ([string ]::IsNullOrEmpty($GCJSON.description )){
230- Write-Host " Get GreenChrome version fail!" - ForegroundColor Red
231- return ;
232- }
233- Write-Host " Current GreenChrome version is $ ( $GCJSON.version ) " - ForegroundColor Gray
234- Write-Host $GCJSON.description - ForegroundColor Gray
235- $gcdll = $GCJSON.link.x64.url.Substring ($GCJSON.link.x64.url.LastIndexOf (" /" ) + 1 )
236- $gcdllpath = Join-Path $installLocation $gcdll
237- if (Test-Path $gcdllpath ){
238- $hash = (Get-FileHash $gcdllpath - Algorithm SHA1).Hash
239- }else {
240- $hash = ' '
241- }
242- if ($arch -eq ' x64' ){
243- if ($hash -eq $GCJSON.link.x64.sha1 ){
244- Write-Host " $gcdll is latest!" - ForegroundColor Green
245- }else {
234+ function Download-GreenChrome {
235+ if ($arch -eq ' x64' ){
246236 Download- File $GCJSON.link.x64.url $gcdllpath
247237 $hash = (Get-FileHash $gcdllpath - Algorithm SHA1).Hash
248238 if ($hash -ne $GCJSON.link.x64.sha1 ){
249239 Write-Host " SHA1 not match!" - ForegroundColor Red
250- return ;
240+ return
251241 }
252242 }
253- }
254- else {
255- if ($hash -eq $GCJSON.link.x86.sha1 ){
256- Write-Host " $gcdll is latest!" - ForegroundColor Green
257- }else {
243+ else {
258244 Download- File $GCJSON.link.x86.url $gcdllpath
259245 $hash = (Get-FileHash $gcdllpath - Algorithm SHA1).Hash
260246 if ($hash -ne $GCJSON.link.x86.sha1 ){
261247 Write-Host " SHA1 not match!" - ForegroundColor Red
262- return ;
248+ return
263249 }
264250 }
251+ Write-Host ' GreenChrome(by Shuax) download finished' - ForegroundColor Green
265252}
266253
267- Write-Host ' GreenChrome(by Shuax) Download Finished' - ForegroundColor Green
254+ Write-Host " "
255+ try {
256+ $JSON = Download- String $ggApi | ConvertFrom-Json
257+ }catch {
258+ Write-Host ' Get Chrome versions failed!' - ForegroundColor Red
259+ return
260+ }
261+ if (Check- InstallLocation) {
262+ Download- Chrome
263+ }
264+ else {
265+ Write-Host ' Chrome download skipped' - ForegroundColor Yellow
266+ }
267+
268+ Write-Host " "
269+ try {
270+ $GCJSON = Download- String $gcApi | ConvertFrom-Json
271+ if ([string ]::IsNullOrEmpty($GCJSON.description )){
272+ Write-Host ' Get GreenChrome versions failed!' - ForegroundColor Red
273+ return
274+ }
275+ $gcdll = $GCJSON.link.x64.url.Substring ($GCJSON.link.x64.url.LastIndexOf (" /" ) + 1 )
276+ $gcdllpath = Join-Path $installLocation $gcdll
277+ }catch {
278+ Write-Host ' Get GreenChrome versions failed!' - ForegroundColor Red
279+ return
280+ }
281+ if (Check- GCInstallLocation) {
282+ Download- GreenChrome
283+ }
284+ else {
285+ Write-Host ' GreenChrome download skipped' - ForegroundColor Yellow
286+ }
287+ $updaterpath = Join-Path $installLocation ' Update.cmd'
288+ if (-Not (Test-Path $updaterpath )){
289+ $lower = $branch.ToString ().ToLower()
290+ $updateps = " @SET `" ggbranch=$lower `" && @SET `" ggarch=$arch `" && " + (' @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy AllSigned -Command "iex ((New-Object System.Net.WebClient).DownloadString('' https://raw.githubusercontent.com/TkYu/PowerShellScripts/master/ChromeDownload/ChromeWithGreenChrome.ps1'' ))"' )
291+ ' @echo Checking Chrome update. Sit back and relax.' , $updateps , " @pause" -join " `r`n " | Out-File - Encoding " Default" $updaterpath
292+ }
268293# SIG # Begin signature block
269294# MIIFlwYJKoZIhvcNAQcCoIIFiDCCBYQCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB
270295# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR
271- # AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUaM/+dGrM3VYZIf8U6orC5rR1
272- # jSWgggMtMIIDKTCCAhWgAwIBAgIQE3U7au1O4rZEMExUKPt7LTAJBgUrDgMCHQUA
296+ # AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUNtUgf3lCtrFWM9aQBTWfztA3
297+ # ItygggMtMIIDKTCCAhWgAwIBAgIQE3U7au1O4rZEMExUKPt7LTAJBgUrDgMCHQUA
273298# MB8xHTAbBgNVBAMTFFRLUG93ZXJTaGVsbFRlc3RDZXJ0MB4XDTE3MTEwOTA3MTg0
274299# MVoXDTM5MTIzMTIzNTk1OVowHzEdMBsGA1UEAxMUVEtQb3dlclNoZWxsVGVzdENl
275300# cnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCZwoClq3b+amIlFj53
@@ -289,11 +314,11 @@ Write-Host 'GreenChrome(by Shuax) Download Finished' -ForegroundColor Green
289314# GhVCMYIB1DCCAdACAQEwMzAfMR0wGwYDVQQDExRUS1Bvd2VyU2hlbGxUZXN0Q2Vy
290315# dAIQE3U7au1O4rZEMExUKPt7LTAJBgUrDgMCGgUAoHgwGAYKKwYBBAGCNwIBDDEK
291316# MAigAoAAoQKAADAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgorBgEEAYI3
292- # AgELMQ4wDAYKKwYBBAGCNwIBFTAjBgkqhkiG9w0BCQQxFgQU5EJXz3EYmZinEGxM
293- # hpL+EkpzP60wDQYJKoZIhvcNAQEBBQAEggEAASF3gKNwW7Ryp1Kf60PJUYdMhHhv
294- # Hb0E8fbZu8WUSoqB6C+t4sDmFbo9XsOxfqcTcoXRzu8JqYlZIxLcE1JPOk+lOIW1
295- # 4dq9GKdubwc7e6+Ufj8rHM2/nZcbsRwBlLlu+zfEF0+nxdkwiV3/CS14hn2ZC0fn
296- # EYEI9tPgehSyD4x6ravWwv7qMKVD0QtWlFBk5v3UJGNc4Jzai2GsYTxkYkZieGGH
297- # 2ctZdiGH0hQfHnRzE06p5cH6uSgdc1OjKuSAdSFiUa+DfQwMd6aUmaeS8KG9t8lZ
298- # ZePlFfzmfnvTfq/1eKHo/ACO3pgha+sTQ2LK/XL+ehhJ3DkGrVDSkKrmHQ ==
317+ # AgELMQ4wDAYKKwYBBAGCNwIBFTAjBgkqhkiG9w0BCQQxFgQUGer8gFeE6QiQCz7v
318+ # DO6U9seml3QwDQYJKoZIhvcNAQEBBQAEggEAUL5oEhfJLBRIxH4n5+nDVPCcj3r7
319+ # B+OgTBnP0MOiJvgPPQHzQi4MvpleHkmAh0TFWSlGelb61WUdrzYC4aJVc+EPlLjD
320+ # kqZ/d8bw4TMIaI+uzTjUWtaIxZjUe2V+rXR+SDRoJUMWwLJtksSQQZaz538KLTmu
321+ # dvKftjCPoTZcoGEOGj63P9hQ06EnOfCNfg2Wg8nPVUpd7TwBB52KILGnEur0PIZY
322+ # fWgwefGpISzV6zqmDhWYz+EKgx9kNhEYfCeLR8X3NO0CaGvBL61dxRW80pVhMtZT
323+ # Zh93/SxkkLnGybUA+hEINhWA74cePj+Gb5er6yZuuAj1I+9cylSOdg3rtQ ==
299324# SIG # End signature block
0 commit comments