name: Net Diag on: push jobs: diag: runs-on: windows-latest timeout-minutes: 10 steps: - name: Probe tool sources run: | whoami "TEMP=$env:TEMP" "HTTP_PROXY=$env:HTTP_PROXY HTTPS_PROXY=$env:HTTPS_PROXY NO_PROXY=$env:NO_PROXY" try { [System.Net.Dns]::GetHostAddresses('www.gyan.dev') | ForEach-Object { "DNS gyan: $($_.IPAddressToString)" } } catch { "DNS gyan ERR: $($_.Exception.Message)" } try { [System.Net.Dns]::GetHostAddresses('github.com') | ForEach-Object { "DNS github: $($_.IPAddressToString)" } } catch { "DNS github ERR: $($_.Exception.Message)" } $ProgressPreference = 'SilentlyContinue' try { $r = Invoke-WebRequest -Uri 'https://api.github.com/' -UseBasicParsing -TimeoutSec 20; "api.github: $($r.StatusCode)" } catch { "api.github ERR: $($_.Exception.Message)" } try { $r = Invoke-WebRequest -Uri 'https://www.gyan.dev/ffmpeg/builds/packages/ffmpeg-8.1.2-essentials_build.zip' -Method Head -UseBasicParsing -TimeoutSec 30; "gyan HEAD: $($r.StatusCode) len=$($r.Headers['Content-Length'])" } catch { "gyan ERR: $($_.Exception.Message)" } try { $r = Invoke-WebRequest -Uri 'https://github.com/streamlink/windows-builds/releases/download/8.4.0-1/streamlink-8.4.0-1-py314-x86_64.zip' -Method Head -UseBasicParsing -TimeoutSec 30; "github release HEAD: $($r.StatusCode) len=$($r.Headers['Content-Length'])" } catch { "github release ERR: $($_.Exception.Message)" } $node = Get-Command node -ErrorAction SilentlyContinue if ($node) { "node: $($node.Source) $(node --version)" node -e "const https=require('https');https.get('https://www.gyan.dev/ffmpeg/builds/packages/ffmpeg-8.1.2-essentials_build.zip',{timeout:20000},r=>{console.log('node gyan status',r.statusCode);r.destroy();}).on('error',e=>console.log('node gyan ERR',e.code||'',e.message)).on('timeout',function(){this.destroy();console.log('node gyan TIMEOUT')})" Start-Sleep -Seconds 3 } else { 'node not on PATH' } exit 0