From 27a265b1015358021a7241a4ca545998c0988618 Mon Sep 17 00:00:00 2001 From: Rhino Date: Sun, 21 Jun 2026 20:38:10 +0200 Subject: [PATCH] fix(proxy): DefaultWebProxy mit angemeldeten Windows-Credentials (407 beheben) Hinter dem Behoerden-Proxy scheiterte jeder Download (VERSION/MANIFEST/Bundles/ CHECKSUMS) mit '(407) Proxyauthentifizierung erforderlich', sobald update.ps1 von update.bat per Invoke-Expression geladen und ausgefuehrt wurde. Loesung: einmalig oben (nach $DistBase, vor dem ersten Invoke-WebRequest) dem System- Proxy die DefaultNetworkCredentials (Negotiate/NTLM des laufenden Benutzers) mitgeben -> wirkt global fuer alle folgenden Requests. Spiegelt den gleichen Fix in VI3 server.ps1 (Update-Check). Damit funktioniert auch der In-App-'Installieren'-Button (server.ps1 startet update.bat -> update.ps1). Co-Authored-By: Claude Opus 4.8 (1M context) --- scripts/update.ps1 | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/scripts/update.ps1 b/scripts/update.ps1 index 1a0a9d7..44cc240 100644 --- a/scripts/update.ps1 +++ b/scripts/update.ps1 @@ -11,6 +11,19 @@ $ErrorActionPreference = 'Stop' $DistBase = "https://updates.rhino.nrw/rhino/StatusQuo_Updates/raw/branch/main/$proj" +# Behoerden-Proxy verlangt Authentifizierung (407) -> dem System-Proxy einmalig +# die angemeldeten Windows-Credentials (Negotiate/NTLM des laufenden Benutzers) +# mitgeben, sonst scheitert JEDER Download (VERSION/MANIFEST/Bundles/CHECKSUMS) +# unten mit '(407) Proxyauthentifizierung erforderlich'. Wirkt global ueber +# DefaultWebProxy fuer alle folgenden Invoke-WebRequest-Aufrufe. +try { + $p = [System.Net.WebRequest]::GetSystemWebProxy() + if ($p) { + $p.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials + [System.Net.WebRequest]::DefaultWebProxy = $p + } +} catch {} + $_stopName = if ($null -ne $stopBat) { $stopBat } else { 'stop.bat' } $_startName = if ($null -ne $startBat) { $startBat } else { 'dgl.bat' }